93 lines
4.0 KiB
C#
93 lines
4.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using WX.CRM.IBLL.Wx;
|
|
using WX.CRM.Model.Entity;
|
|
|
|
namespace WX.CRM.BLL.Wx
|
|
{
|
|
public class WX_FRIENDSRELATION_BL : DbContextRepository<WX_FRIENDSRELATION>, IWX_FRIENDSRELATION
|
|
{
|
|
public IList<WxBeiJiaResource> GetBeiJiaResources(DateTime? day, string jobUserName, decimal? isTuiGuang = null)
|
|
{
|
|
|
|
using (var db = new crmContext())
|
|
{
|
|
var query = db.WX_FRIENDSRELATION.AsQueryable();
|
|
query = query.Where(p => p.ISWORKACOUNT == 1);
|
|
query = query.Where(p => p.ISINNERUSER == 0);
|
|
query = query.Where(p => p.TYPE == 1 || p.TYPE == 2);
|
|
if (day.HasValue)
|
|
{
|
|
var day2 = day.Value.AddDays(1);
|
|
query = query.Where(p => p.CREATETIME >= day.Value && p.CREATETIME < day2);
|
|
}
|
|
if (!string.IsNullOrEmpty(jobUserName))
|
|
{
|
|
query = query.Where(p => p.JOBUSERNAME == jobUserName);
|
|
}
|
|
if (isTuiGuang.HasValue)
|
|
{
|
|
query = query.Where(p => p.ISTUIGUANG == isTuiGuang.Value);
|
|
}
|
|
var data = from q in query
|
|
join r in db.WX_RCONTACT on q.USERNAME equals r.USERNAME into t
|
|
from lt in t.DefaultIfEmpty()
|
|
where q.JOBUSERNAME == lt.JOBWXUSERNAME || lt.JOBWXUSERNAME == null
|
|
select new WxBeiJiaResource()
|
|
{
|
|
UserName = q.USERNAME,
|
|
Alias = lt.ALIAS,
|
|
ConRemark = lt.CONREMARK,
|
|
CreateTime = q.CREATETIME,
|
|
NickName = lt.NICKNAME,
|
|
Type = q.TYPE.Value
|
|
};
|
|
data = data.OrderByDescending(p => p.CreateTime);
|
|
return data.ToList();
|
|
}
|
|
}
|
|
|
|
public IList<WxBeiJiaResource> GetBeiJiaResources(DateTime? day, string[] jobUserName, decimal? isTuiGuang = null)
|
|
{
|
|
|
|
using (var db = new crmContext())
|
|
{
|
|
var query = db.WX_FRIENDSRELATION.AsQueryable();
|
|
query = query.Where(p => p.ISWORKACOUNT == 1);
|
|
query = query.Where(p => p.ISINNERUSER == 0);
|
|
query = query.Where(p => p.TYPE == 1 || p.TYPE == 2);
|
|
if (day.HasValue)
|
|
{
|
|
var day2 = day.Value.AddDays(1);
|
|
query = query.Where(p => p.CREATETIME >= day.Value && p.CREATETIME < day2);
|
|
}
|
|
if (jobUserName != null)
|
|
{
|
|
query = query.Where(p => jobUserName.Contains(p.JOBUSERNAME));
|
|
}
|
|
if (isTuiGuang.HasValue)
|
|
{
|
|
query = query.Where(p => p.ISTUIGUANG == isTuiGuang.Value);
|
|
}
|
|
var data = from q in query
|
|
join r in db.WX_RCONTACT on q.USERNAME equals r.USERNAME into t
|
|
from lt in t.DefaultIfEmpty()
|
|
where q.JOBUSERNAME == lt.JOBWXUSERNAME || lt.JOBWXUSERNAME == null
|
|
select new WxBeiJiaResource()
|
|
{
|
|
UserName = q.USERNAME,
|
|
Alias = lt.ALIAS,
|
|
ConRemark = lt.CONREMARK,
|
|
CreateTime = q.CREATETIME,
|
|
NickName = lt.NICKNAME,
|
|
Type = q.TYPE.Value,
|
|
JobUserName = q.JOBUSERNAME
|
|
};
|
|
data = data.OrderBy(p => p.JobUserName).OrderByDescending(p => p.CreateTime);
|
|
return data.ToList();
|
|
}
|
|
}
|
|
}
|
|
}
|