263 lines
9.4 KiB
C#
263 lines
9.4 KiB
C#
using CRM.Core.BLL.Util;
|
|
using CRM.Core.Common.Layui;
|
|
using CRM.Core.DAL.Soft;
|
|
using CRM.Core.Model.Entity;
|
|
using CRM.Core.Model.Map;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using WX.CRM.Common;
|
|
|
|
namespace CRM.Core.BLL.Soft
|
|
{
|
|
public class SOFT_USER_BL
|
|
{
|
|
private Soft_User_DAL userDal = new Soft_User_DAL();
|
|
|
|
#region 添加
|
|
/// <summary>
|
|
/// 添加
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public bool Create(ref ValidationErrors errors, CRM.Core.Model.Entity.SOFT_USER model)
|
|
{
|
|
try
|
|
{
|
|
using (CRM.Core.Model.Entity.zxdContext db = new CRM.Core.Model.Entity.zxdContext())
|
|
{
|
|
|
|
|
|
model.CTIME = DateTime.Now;
|
|
db.SOFT_USER.Add(model);
|
|
return db.SaveChanges().GetResult();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
errors.Add(ex.Message);
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public List<SOFT_USER> GetUserList_userName(string[] userNames)
|
|
{
|
|
using (var db = new CRM.Core.Model.Entity.zxdContext())
|
|
{
|
|
return db.SOFT_USER.Where(p => userNames.Contains(p.USERNAME)).ToList();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询单个username信息
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <returns></returns>
|
|
public SOFT_USER GetUser_userName(string userName)
|
|
{
|
|
using (var db = new CRM.Core.Model.Entity.zxdContext())
|
|
{
|
|
return db.SOFT_USER.Where(p => p.USERNAME == userName).FirstOrDefault();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询单个username信息
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <returns></returns>
|
|
public SOFT_USER GetUser_userNameByCardNo(string userNo)
|
|
{
|
|
using (var db = new CRM.Core.Model.Entity.zxdContext())
|
|
{
|
|
decimal cradNo = Convert.ToDecimal(userNo);
|
|
return db.SOFT_USER.Where(p => p.USERNO == cradNo).FirstOrDefault();
|
|
}
|
|
}
|
|
|
|
|
|
#region 无主用户
|
|
public List<SOFT_USER> geUnAgentUserList(ref Pager pager, DateTime? ctime, DateTime? etime, string username, decimal? regtag)
|
|
{
|
|
DataSet ds = new Soft_User_DAL().geUnAgentUserList(ref pager, ctime, etime, username, regtag);
|
|
|
|
List<SOFT_USER> list = ds.Tables[0].ToList<SOFT_USER>();
|
|
//存储过程里返回一行 username ='0',userno =总数量
|
|
SOFT_USER model = list.FirstOrDefault(p => p.USERNAME == "0");
|
|
if (model != null)
|
|
{
|
|
pager.totalRows = Convert.ToInt32(model.USERNO);
|
|
list.Remove(model);
|
|
}
|
|
return list;
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
public List<SOFT_USER> GetUserByResid(string resid)
|
|
{
|
|
using (var db = new zxdContext())
|
|
{
|
|
var residStr = db.RES_CUSTOMER.Where(x => x.UMID == resid).FirstOrDefault()?.RESID;
|
|
var q = (from t1 in db.SOFT_USER
|
|
join t2 in db.RES_CUSTOMERUSER on t1.USERNAME equals t2.USERNAME
|
|
where t2.RESID == residStr
|
|
select t1
|
|
);
|
|
return q.ToList();
|
|
}
|
|
}
|
|
public SOFT_USER_EXTEND GetUser_ByResId(string username, string resid)
|
|
{
|
|
using (var db = new zxdContext())
|
|
{
|
|
//return db.SOFT_USER.join;
|
|
SOFT_USER_EXTEND user = (from q in db.SOFT_USER
|
|
join e in db.RES_CUSTOMERUSER on q.USERNAME equals e.USERNAME
|
|
where e.RESID == resid && q.USERNAME == username
|
|
select new SOFT_USER_EXTEND
|
|
{
|
|
USERNAME = q.USERNAME,
|
|
RESID = e.RESID,
|
|
USERNO = q.USERNO,
|
|
REGCAMPAINID = q.REGCAMPAINID
|
|
}).FirstOrDefault();
|
|
return user;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 根据resid查询单个username信息
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <returns></returns>
|
|
public SOFT_USER_EXTEND GetUser_ByUserName(string username)
|
|
{
|
|
using (var db = new zxdContext())
|
|
{
|
|
//return db.SOFT_USER.join;
|
|
SOFT_USER_EXTEND user = (from q in db.SOFT_USER
|
|
join e in db.RES_CUSTOMERUSER on q.USERNAME equals e.USERNAME
|
|
where q.USERNAME == username
|
|
select new SOFT_USER_EXTEND
|
|
{
|
|
USERNAME = q.USERNAME,
|
|
RESID = e.RESID,
|
|
USERNO = q.USERNO,
|
|
REGCAMPAINID = q.REGCAMPAINID
|
|
}).FirstOrDefault();
|
|
return user;
|
|
}
|
|
}
|
|
public SOFT_USER GetUserOne_ByUserName(string username)
|
|
{
|
|
using (var db = new zxdContext())
|
|
{
|
|
//return db.SOFT_USER.join;
|
|
return db.SOFT_USER.FirstOrDefault(M => M.USERNAME == username);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取用户列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<SOFT_USER> GetSoftUser(ref Laypage pager, string username, string resid, decimal? companyid, DateTime? stime, DateTime? etime)
|
|
{
|
|
using (var db = new zxdContext())
|
|
{
|
|
var queryData = db.SOFT_USER.AsQueryable();
|
|
if (!string.IsNullOrEmpty(username))
|
|
{
|
|
username = username.Trim();
|
|
queryData = queryData.Where(m => m.USERNAME == username);
|
|
}
|
|
if (!string.IsNullOrEmpty(resid))
|
|
{
|
|
resid = resid.Trim();
|
|
queryData = queryData.Where(m => m.RESID == resid);
|
|
}
|
|
if (companyid.HasValue)
|
|
{
|
|
queryData = queryData.Where(m => m.COMPANYID == companyid);
|
|
}
|
|
if (stime.HasValue)
|
|
{
|
|
queryData = queryData.Where(m => m.REGDATE >= stime);
|
|
}
|
|
|
|
if (etime.HasValue)
|
|
{
|
|
etime = etime.Value.AddDays(1);
|
|
queryData = queryData.Where(m => m.REGDATE < etime);
|
|
}
|
|
|
|
//排序
|
|
if (pager.order == "desc")
|
|
{
|
|
switch (pager.sort)
|
|
{
|
|
case "CTIME":
|
|
queryData = queryData.OrderByDescending(c => c.REGDATE);
|
|
break;
|
|
case "USERNAME":
|
|
queryData = queryData.OrderByDescending(c => c.USERNAME);
|
|
break;
|
|
default:
|
|
queryData = queryData.OrderByDescending(c => c.REGDATE);
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
switch (pager.sort)
|
|
{
|
|
case "CTIME":
|
|
queryData = queryData.OrderBy(c => c.REGDATE);
|
|
break;
|
|
case "USERNAME":
|
|
queryData = queryData.OrderBy(c => c.USERNAME);
|
|
break;
|
|
default:
|
|
queryData = queryData.OrderBy(c => c.REGDATE);
|
|
break;
|
|
}
|
|
}
|
|
|
|
PagerUtil.SetPager<SOFT_USER>(ref queryData, ref pager);//分页
|
|
return queryData.ToList();
|
|
}
|
|
}
|
|
|
|
public SOFT_USER_EXTEND GetUserNameStrs(string companyCode, DateTime? stime, DateTime? etime)
|
|
{
|
|
if (!stime.HasValue)
|
|
{
|
|
stime = DateTime.Now.AddDays(-1).Date;
|
|
}
|
|
if (!etime.HasValue)
|
|
{
|
|
etime = DateTime.Now.AddDays(1).Date;
|
|
}
|
|
else
|
|
{
|
|
etime = etime.Value.AddDays(1).Date;
|
|
}
|
|
SOFT_USER_EXTEND model = null;
|
|
DataSet ds = new Soft_User_DAL().GetUserNameStrs(companyCode, stime, etime);
|
|
if (ds != null && ds.Tables[0] != null)
|
|
{
|
|
model = new SOFT_USER_EXTEND { USERNAME = ds.Tables[0].Rows[0][0].ToString() };
|
|
}
|
|
return model;
|
|
}
|
|
|
|
public DataSet GetRegCountToUP(DateTime? ctime, DateTime? etime, int schannel, int echannel, int plat)
|
|
{
|
|
return userDal.GetRegCountToUP(ctime, etime, schannel, echannel, plat);
|
|
}
|
|
}
|
|
}
|