using System; using System.Collections.Generic; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; namespace WX.CRM.BLL.Base { public class BAS_INNERUSER_EXT_LOG_BL : IBAS_INNERUSER_EXT_LOG_Q { public List GetUserExtLog(ref Pager pager, string innerGroupId, decimal inneruserid, decimal? extendtype) { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { IQueryable queryData = db.BAS_INNERUSER_EXT_LOG.AsQueryable(); if (!string.IsNullOrWhiteSpace(innerGroupId) && innerGroupId != "0") { if (innerGroupId.IndexOf(",") == -1)//只有单个groupId { decimal iInnerGroupId = Convert.ToDecimal(innerGroupId); queryData = queryData.Where(a => db.BAS_INNERUSERGROUP.Where(x => x.GID == iInnerGroupId).Select(m => m.INNERUSERID).Contains(a.PKID)); } else//含有多个groupID { string[] iInnerGroupId = innerGroupId.Split(','); decimal[] innerGroupIds = new decimal[iInnerGroupId.Length]; for (int i = 0; i < iInnerGroupId.Length; i++) { innerGroupIds[i] = Convert.ToDecimal(iInnerGroupId[i]); } queryData = queryData.Where(a => db.BAS_INNERUSERGROUP.Where(x => innerGroupIds.Contains(x.GID.Value)).Select(m => m.INNERUSERID).Contains(a.PKID)); } } if (inneruserid > 0) { queryData = queryData.Where(m => m.INNERUSERID == inneruserid); } if (extendtype.HasValue) { queryData = queryData.Where(m => m.EXTENDTYPE == extendtype); } queryData = queryData.OrderByDescending(m => m.UTIME); PagerUtil.SetPager(ref queryData, ref pager);//分页 return queryData.ToList(); } } } }