using System; using System.Collections.Generic; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.Base { public class BAS_SALESDEPARTMENT_BL : IBAS_SALESDEPARTMENT, IBAS_SALESDEPARTMENT_Q { WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext(); #region 添加 /// /// 添加 /// /// /// public bool Create(ref ValidationErrors errors, WX.CRM.Model.Entity.BAS_SALESDEPARTMENT model) { try { var entry = db.BAS_SALESDEPARTMENT.FirstOrDefault(m => m.SALEDEPTCODE == model.SALEDEPTCODE); if (entry != null) { errors.Add("编码" + model.SALEDEPTCODE + "已经被占用!"); return false; } model.SALEDEPTID = new SEQUENCES_BL().Seq_base_get(); model.CREATIONDATE = System.DateTime.Now; db.BAS_SALESDEPARTMENT.Add(model); return db.SaveChanges().GetResult(); } catch (Exception ex) { errors.Add(ex.Message); return false; } } #endregion #region 修改 /// /// 数据的修改 /// /// /// public bool Update(ref ValidationErrors errors, WX.CRM.Model.Entity.BAS_SALESDEPARTMENT model) { try { var entry = db.BAS_SALESDEPARTMENT.FirstOrDefault(m => m.SALEDEPTCODE == model.SALEDEPTCODE && m.SALEDEPTID != model.SALEDEPTID); if (entry != null) { errors.Add("编码" + model.SALEDEPTCODE + "已经被占用!"); return false; } var o = db.BAS_SALESDEPARTMENT.FirstOrDefault(p => p.SALEDEPTID == model.SALEDEPTID); o.ADDRESS = model.ADDRESS; o.COMPANYID = model.COMPANYID; o.AREACODE = model.AREACODE; o.LINKNAME = model.LINKNAME; o.PHONE = model.PHONE; o.DEPTNAME = model.DEPTNAME; o.SALEDEPTCODE = model.SALEDEPTCODE; o.UPDATEBY = model.UPDATEBY; o.UPDATEDATE = model.UPDATEDATE; return db.SaveChanges().GetResult(); } catch (Exception ex) { errors.Add(ex.Message); return false; } } #endregion #region 删除 /// /// 删除数据 /// /// /// public bool Delete(ref ValidationErrors errors, decimal id) { try { db.BAS_SALESDEPARTMENT.Remove(db.BAS_SALESDEPARTMENT.FirstOrDefault(p => p.SALEDEPTID == id)); return db.SaveChanges().GetResult(); } catch (Exception ex) { errors.Add(ex.Message); return false; } } #endregion #region 按照条件查找信息 /// /// 按照条件查找信息 /// /// /// /// /// /// /// /// public List GetList(ref Pager pager, string companyId, string deptName, string saleDeptCode, string creationDate1, string creationDate2) { //db.bas_salesDepartment.AsQueryable(); IQueryable queryData = null; //crmFrameEntities db = new crmFrameEntities(); if (!string.IsNullOrWhiteSpace(companyId) && companyId != "0") { decimal icompanyId = Convert.ToDecimal(companyId); queryData = db.BAS_SALESDEPARTMENT.Where(a => a.COMPANYID == icompanyId); } else queryData = db.BAS_SALESDEPARTMENT; if (!string.IsNullOrWhiteSpace(deptName)) { deptName = deptName.Trim(); queryData = queryData.Where(a => a.DEPTNAME.Contains(deptName)); } if (!string.IsNullOrWhiteSpace(saleDeptCode)) queryData = queryData.Where(a => a.SALEDEPTCODE.Contains(saleDeptCode)); DateTime dt; if (!string.IsNullOrWhiteSpace(creationDate1) && DateTime.TryParse(creationDate1, out dt)) queryData = queryData.Where(a => a.CREATIONDATE >= dt); DateTime dt2; if (!string.IsNullOrWhiteSpace(creationDate2) && DateTime.TryParse(creationDate2, out dt2)) queryData = queryData.Where(a => a.CREATIONDATE <= dt2); //排序 if (pager.order == "desc") { switch (pager.sort) { case "deptName": queryData = queryData.OrderByDescending(c => c.DEPTNAME); break; case "saleDeptCode": queryData = queryData.OrderByDescending(c => c.SALEDEPTCODE); break; case "creationDate": queryData = queryData.OrderByDescending(c => c.CREATIONDATE); break; default: queryData = queryData.OrderByDescending(c => c.SALEDEPTID); break; } } else { switch (pager.sort) { case "deptName": queryData = queryData.OrderBy(c => c.DEPTNAME); break; case "saleDeptCode": queryData = queryData.OrderBy(c => c.SALEDEPTCODE); break; case "creationDate": queryData = queryData.OrderBy(c => c.CREATIONDATE); break; default: queryData = queryData.OrderBy(c => c.SALEDEPTID); break; } } List modelist = CreateModelList(ref pager, ref queryData); db.Dispose(); return modelist; } #endregion #region 获取全部信息 /// /// 获取全部信息 /// /// public List GetList() { return db.BAS_SALESDEPARTMENT.ToList(); } #endregion #region 公用代码 private List CreateModelList(ref Pager pager, ref IQueryable queryData) { pager.totalRows = queryData.Count(); if (pager.totalRows > 0) { if (pager.page <= 1) { queryData = queryData.Take(pager.rows); } else { queryData = queryData.Skip((pager.page - 1) * pager.rows).Take(pager.rows);//分页 } } List modelList = queryData.ToList(); return modelList; } #endregion #region 获取单条用户信息 /// /// 获取实体 /// /// /// public BAS_SALESDEPARTMENT GetModel(decimal id) { return db.BAS_SALESDEPARTMENT.FirstOrDefault(p => p.SALEDEPTID == id); } #endregion } }