using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL; using System.Data.SqlClient; using System.Data; using CY.Model; namespace CY.SQLDAL { public class Sys_CitySiteDAL : ISys_CitySiteDAL { private Database _dataBase = null; #region 常量 /// /// 查询目标 /// const string SELECTTARGET = " t.* "; /// /// 查询来源 /// const string FROMSOUCEBEFORE = " ( SELECT a.*,b.Name AS Province,c.Name AS City FROM dbo.Sys_CitySite AS a LEFT JOIN dbo.Sys_CitySite AS b ON a.ProvinceId = b.Keyid LEFT JOIN dbo.Sys_CitySite AS c ON a.CityId = c.Keyid "; const string FROMSOUCEEND = ") as t "; /// /// 分页默认排序字段 /// const string ORDERBY = " t.ProvinceId ASC,t.CityId ASC "; #endregion public Sys_CitySiteDAL() { _dataBase = new Database(); } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.Sys_CitySite trueModel = model as Model.Sys_CitySite; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Name",trueModel.Name), new SqlParameter("@ProvinceId",trueModel.ProvinceId), new SqlParameter("@CityId",trueModel.CityId), new SqlParameter("@CityLevel",trueModel.CityLevel), new SqlParameter("@IsDisplay",trueModel.IsDisplay), new SqlParameter("@Operator",trueModel.Operator), new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("@OrderNum",trueModel.OrderNum) }; try { _dataBase.Query("dbo.sp_Sys_CitySite_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.Sys_CitySite trueModel = model as Model.Sys_CitySite; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@Name",trueModel.Name), new SqlParameter("@ProvinceId",trueModel.ProvinceId), new SqlParameter("@CityId",trueModel.CityId), new SqlParameter("@CityLevel",trueModel.CityLevel), new SqlParameter("@IsDisplay",trueModel.IsDisplay), new SqlParameter("@Operator",trueModel.Operator), new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("@OrderNum",trueModel.OrderNum) }; try { _dataBase.Query("sp_Sys_CitySite_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.Sys_CitySite trueModel = model as Model.Sys_CitySite; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_Sys_CitySite_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { try { return _dataBase.SelectModelPage(pagination, "a.*,b.Name AS Province,c.Name AS City", " dbo.Sys_CitySite AS a LEFT JOIN dbo.Sys_CitySite AS b ON a.ProvinceId = b.Keyid LEFT JOIN dbo.Sys_CitySite AS c ON a.CityId = c.Keyid ", " a.Keyid ", " Keyid ASC "); } catch (Exception ex) { throw ex; } } /// /// 全部查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { return _dataBase.SelectModel(" * ", " Sys_CitySite ") as IList;//执行查询 } /// /// 查询下级全部城市 /// /// 省id /// 市id /// 城市级别 /// public IEnumerable SelectAllNextModel(int? ProvinceId, int? CityId, int? CityLevel) { return _dataBase.SelectModel(" * ", " Sys_CitySite ", string.Format(" ProvinceId='{0}' and CityId='{1}' and CityLevel='{2}' and IsDisplay ='True' order by Name ASC ", ProvinceId, CityId, CityLevel)) as IList;//执行查询 } /// /// 查询下级可推广全部城市 /// /// 省id /// 市id /// 城市级别 /// public IEnumerable SelectProxyNextModel(int? ProvinceId, int? CityId, int? CityLevel) { return _dataBase.SelectModel(" * ", " Sys_CitySite ", string.Format(" ProvinceId='{0}' and CityId='{1}' and CityLevel='{2}' and IsDisplay ='True' and Keyid NOT IN (SELECT ProxyLevel FROM dbo.EC_ProxyMember) order by Name ASC ", ProvinceId, CityId, CityLevel)) as IList;//执行查询 } /// /// 获取员工管理省 /// /// /// public IEnumerable SelectStaffManageProvinceList(Guid MemberId) { return _dataBase.SelectModel(" * ", " Sys_CitySite ", string.Format(" IsDisplay='True' AND CAST(Keyid AS VARCHAR(4)) IN (SELECT value FROM dbo.SplitString(CAST((SELECT ManageProvince FROM dbo.OA_Staff WHERE MemberId='{0}') AS VARCHAR(MAX)),',',1)) order by Name ASC ", MemberId)) as IList;//执行查询 } /// /// 获取员工管理市 /// /// /// /// public IEnumerable SelectStaffManageCityList(int? ProvinceId, Guid MemberId) { return _dataBase.SelectModel(" * ", " Sys_CitySite ", string.Format(" ProvinceId='{0}' AND IsDisplay='True' AND CAST(Keyid AS VARCHAR(4)) IN (SELECT value FROM dbo.SplitString(CAST((SELECT ManageCity FROM dbo.OA_Staff WHERE MemberId='{1}') AS VARCHAR(MAX)),',',1)) order by OrderNum ASC ", ProvinceId, MemberId)) as IList;//执行查询 } /// /// 获取员工管理区 /// /// /// /// /// public IEnumerable SelectStaffManageCountryList(int? ProvinceId, int? CityId, Guid MemberId) { return _dataBase.SelectModel(" * ", " Sys_CitySite ", string.Format(" ProvinceId='{0}' AND CityId='{1}' AND IsDisplay='True' AND ( CAST(Keyid AS VARCHAR(4)) IN (SELECT value FROM dbo.SplitString(CAST((SELECT ManageCountry FROM dbo.OA_Staff WHERE MemberId='{2}') AS VARCHAR(MAX)),',',1)) or CAST(Keyid AS VARCHAR(4)) IN (SELECT value FROM dbo.SplitString(CAST((SELECT ManageCountry1 FROM dbo.OA_Staff WHERE MemberId='{2}') AS VARCHAR(MAX)),',',1))) order by OrderNum ASC ", ProvinceId, CityId, MemberId)) as IList;//执行查询 } /// /// 根据名称获得城市 /// /// 名称 /// public Model.Sys_CitySite SelectModelByName(string Name) { if (string.IsNullOrEmpty(Name) || Name == "请选择") return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "Sys_CitySite", string.Format(" Name='{0}' ", Name)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } /// /// 根据Keyid获得城市 /// /// Keyid /// public Model.Sys_CitySite SelectModelByKeyid(int Keyid) { if (Keyid <= 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "Sys_CitySite", string.Format(" Keyid='{0}' ", Keyid)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } } }