using Edu.Common.Enum.User;
using Edu.Model.ViewModel.Log;
using Edu.Repository.Log;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using Edu.Repository.User;
using Edu.Model.ViewModel.User;
namespace Edu.Module.Log
{
///
/// 用户信息改变日志处理类
///
public class UserChangeLogModule
{
///
/// 用户信息修改日志仓储层对象
///
private readonly RB_User_ChangeLogRepository changeLogRepository = new RB_User_ChangeLogRepository();
///
/// 账号仓储层对象
///
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
///
/// 获取用户信息改变日志列表
///
///
///
public object GetUserChangeLogListModule(RB_User_ChangeLog_ViewModel query)
{
List list = new List();
var logList= changeLogRepository.GetUserChangeLogListRepository(query);
if (logList != null && logList.Count > 0)
{
var empList = new List();
string uids = string.Join(",", logList.Select(qitem => qitem.CreateBy));
if (!string.IsNullOrEmpty(uids))
{
empList= accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel()
{
QIds = uids
});
}
var dayList = logList.GroupBy(qitem => new { NewTime = Common.ConvertHelper.FormatDate(qitem.CreateTime) }).OrderByDescending(qitem => qitem.Key.NewTime).Select(qitem => new { qitem.Key.NewTime });
if (dayList != null && dayList.Count() > 0)
{
foreach (var item in dayList)
{
var subList = logList.Where(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == item.NewTime).ToList();
if (subList != null && subList.Count > 0)
{
list.Add(new
{
item.NewTime,
WeekStr = Common.ConvertHelper.GetWeekDay(Convert.ToDateTime(item.NewTime)),
LogList = subList.Select(qitem => new
{
TimeStr = Common.ConvertHelper.FormatTimeStr(qitem.CreateTime),
UserIcon = empList?.Where(eItem=> eItem.Id==qitem.CreateBy)?.FirstOrDefault()?.UserIcon??"",
CreateName = empList?.Where(eItem => eItem.Id == qitem.CreateBy)?.FirstOrDefault()?.EmployeeName ?? "",
qitem.LogContent
})
});
}
}
}
}
return list;
}
///
/// 新增日志
///
///
///
public bool SetUserChangeLogModule(RB_User_ChangeLog_ViewModel extModel)
{
return changeLogRepository.Insert(extModel) > 0;
}
///
/// 获取日志列表
///
///
///
///
///
///
public List GetUserChangeLogList(int pageIndex, int pageSize, out long count, RB_User_ChangeLog_ViewModel dmodel)
{
return changeLogRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
}
///
/// 新增日志
///
/// 创建人
/// 集团编号
/// 校区编号
/// 日志内容
///
public bool SetUserChangeLogModule(int CreateBy, int GroupId,int SchoolId,string content, int Id, AccountTypeEnum accountType)
{
RB_User_ChangeLog_ViewModel model = new RB_User_ChangeLog_ViewModel()
{
Id = 0,
CreateBy = CreateBy,
CreateTime = DateTime.Now,
Group_Id = GroupId,
School_Id = SchoolId,
LogContent = content.TrimStart(','),
AccountType= accountType,
SourceId= Id
};
return changeLogRepository.Insert(model) > 0;
}
}
}