ComplianceServer/oldcode/BLL/Base/BAS_INNERUSER_EXT_LOG_BL.cs

51 lines
2.3 KiB
C#

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<WX.CRM.Model.Entity.BAS_INNERUSER_EXT_LOG> GetUserExtLog(ref Pager pager, string innerGroupId, decimal inneruserid, decimal? extendtype)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
IQueryable<WX.CRM.Model.Entity.BAS_INNERUSER_EXT_LOG> 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<WX.CRM.Model.Entity.BAS_INNERUSER_EXT_LOG>(ref queryData, ref pager);//分页
return queryData.ToList();
}
}
}
}