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 添加 /// /// 添加 /// /// /// 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 GetUserList_userName(string[] userNames) { using (var db = new CRM.Core.Model.Entity.zxdContext()) { return db.SOFT_USER.Where(p => userNames.Contains(p.USERNAME)).ToList(); } } /// /// 查询单个username信息 /// /// /// 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(); } } /// /// 查询单个username信息 /// /// /// 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 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 list = ds.Tables[0].ToList(); //存储过程里返回一行 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 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; } } /// /// 根据resid查询单个username信息 /// /// /// 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); } } /// /// 获取用户列表 /// /// public List 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(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); } } }