using System; using System.Collections.Generic; using System.Data; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.QH; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.QH { public class QH_CUSTOMER_BL : DbContextRepository, IQH_CUSTOMER { /// /// 客户信息列表 /// /// /// /// /// /// /// /// public List GetList(ref Pager pager, string userAccount, string name, string resId, DateTime? starttime, DateTime? endtime) { using (var db = new crmContext()) { IQueryable queryable = db.QH_CUSTOMER.AsQueryable(); if (!string.IsNullOrEmpty(userAccount)) { queryable = queryable.Where(p => p.USERACCOUNT == userAccount); } if (!string.IsNullOrEmpty(name)) { queryable = queryable.Where(p => p.USERNAME.Contains(name)); } if (!string.IsNullOrEmpty(resId)) { queryable = queryable.Where(p => p.RESID == resId); } if (starttime.HasValue) { queryable = queryable.Where(p => p.RQ >= starttime); } if (endtime.HasValue) { endtime = endtime.Value.AddDays(1); queryable = queryable.Where(p => p.RQ < endtime); } queryable = queryable.OrderByDescending(p => p.CTIME); PagerUtil.SetPager(ref queryable, ref pager); return queryable.ToList(); } } /// /// 我的客户信息列表 /// /// /// 我的id /// /// /// /// /// /// public List GetList(ref Pager pager, decimal InnerUserId, string userAccount, string name, string resId, DateTime? starttime, DateTime? endtime) { using (var db = new crmContext()) { IQueryable queryable = db.QH_CUSTOMER.AsQueryable(); queryable = queryable.Where(p => db.QH_CUSTOMER_SALEUSER.Where(a => a.INNERUSERID == InnerUserId).Select(a => a.USERACCOUNT).Contains(p.USERACCOUNT)); if (!string.IsNullOrEmpty(userAccount)) { queryable = queryable.Where(p => p.USERACCOUNT.Contains(userAccount)); } if (!string.IsNullOrEmpty(name)) { queryable = queryable.Where(p => p.USERNAME.Contains(name)); } if (!string.IsNullOrEmpty(resId)) { queryable = queryable.Where(p => p.RESID == resId); } if (starttime.HasValue) { queryable = queryable.Where(p => p.RQ >= starttime); } if (endtime.HasValue) { endtime = endtime.Value.AddDays(1); queryable = queryable.Where(p => p.RQ < endtime); } queryable = queryable.OrderByDescending(p => p.CTIME); PagerUtil.SetPager(ref queryable, ref pager); return queryable.ToList(); } } } }