129 lines
5.2 KiB
C#
129 lines
5.2 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;
|
|
using WX.CRM.Model.Entity;
|
|
namespace WX.CRM.BLL.Base
|
|
{
|
|
public class BAS_USERGROUPCHANGELOG_BL : IBAS_USERGROUPCHANGELOG, IBAS_USERGROUPCHANGELOG_Q
|
|
{
|
|
|
|
#region 修改
|
|
/// <summary>
|
|
/// 数据的修改
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public bool Update(ref ValidationErrors errors, decimal pkid, DateTime inDate, DateTime outDate)
|
|
{
|
|
try
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
WX.CRM.Model.Entity.BAS_USERGROUPCHANGELOG entry = db.BAS_USERGROUPCHANGELOG.FirstOrDefault(m => m.PKID == pkid);
|
|
if (entry == null)
|
|
{
|
|
errors.Add("找不到数据!");
|
|
return false;
|
|
}
|
|
entry.INDATE = inDate;
|
|
entry.OUTDATE = outDate;
|
|
db.SaveChanges();
|
|
return true;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
errors.Add(ex.Message);
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 保存
|
|
/// <summary>
|
|
/// 数据的保存
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public bool Save(ref ValidationErrors errors, WX.CRM.Model.Entity.BAS_USERGROUPCHANGELOG model)
|
|
{
|
|
try
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
BAS_INNERUSER user = db.BAS_INNERUSER.FirstOrDefault(m => m.PKID == model.SALESID);
|
|
if (user == null)
|
|
{
|
|
errors.Add("找不到这个员工!");
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
WX.CRM.Model.Entity.BAS_USERGROUPCHANGELOG entry = db.BAS_USERGROUPCHANGELOG.OrderByDescending(m => m.CTIME).FirstOrDefault(m => m.SALESID == model.SALESID);
|
|
if (entry != null)
|
|
{
|
|
entry.OUTDATE = model.INDATE.Value;//上次调出时间是这次调入的时间-1天
|
|
model.INDATE = model.INDATE.Value.AddDays(1);
|
|
}
|
|
model.PKID = new SEQUENCES_BL().Seq_base_get();
|
|
model.SALESEID = user.EID;
|
|
model.CTIME = DateTime.Now;
|
|
db.BAS_USERGROUPCHANGELOG.Add(model);
|
|
return db.SaveChanges().GetResult();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
errors.Add(ex.Message);
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 获取分页数据列表
|
|
public List<WX.CRM.Model.Entity.BAS_USERGROUPCHANGELOG_Extend> GetList(ref Pager pager, decimal? inGroupId, decimal? outGroupId, decimal? eid, string userName)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var queryData = db.BAS_USERGROUPCHANGELOG.AsQueryable();
|
|
if (inGroupId != null)
|
|
{
|
|
queryData = queryData.Where(m => m.NEWGROUPID == inGroupId);
|
|
}
|
|
if (outGroupId != null)
|
|
queryData = queryData.Where(m => m.OLDGROUPID == outGroupId);
|
|
if (eid != null)
|
|
queryData = queryData.Where(m => m.SALESEID.Value == eid);
|
|
if (!string.IsNullOrWhiteSpace(userName))
|
|
{
|
|
var user = db.BAS_INNERUSER.FirstOrDefault(m => m.UNAME == userName);
|
|
decimal userid = user == null ? -1 : user.PKID;
|
|
queryData = queryData.Where(m => m.SALESID == userid);
|
|
}
|
|
//queryData = queryData.OrderByDescending(m => m.CTIME);
|
|
|
|
var modelist = (from a in queryData
|
|
join newGroup in db.BAS_INNERGROUP on a.NEWGROUPID equals newGroup.GID into jiontemp2
|
|
from newGroup in jiontemp2.DefaultIfEmpty()
|
|
join oldGroup in db.BAS_INNERGROUP on a.OLDGROUPID equals oldGroup.GID into jiontemp
|
|
from oldGroup in jiontemp.DefaultIfEmpty()
|
|
join user in db.BAS_INNERUSER on a.SALESID equals user.PKID
|
|
select new BAS_USERGROUPCHANGELOG_Extend()
|
|
{
|
|
ChangeLog = a,
|
|
InGroupName = newGroup.GNAME,
|
|
OutGroupName = oldGroup.GNAME,
|
|
UserName = user.UNAME
|
|
}
|
|
);
|
|
modelist = modelist.OrderByDescending(m => m.ChangeLog.CTIME);
|
|
PagerUtil.SetPager<WX.CRM.Model.Entity.BAS_USERGROUPCHANGELOG_Extend>(ref modelist, ref pager);
|
|
return modelist.ToList();
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|