using Model; using System; using System.Collections.Generic; using System.Linq; namespace BLL { /// /// 人员记分流水日志表 /// public class ScoreFlowLogService { /// /// 记分方式 /// public enum TypeInt : int { 加分 = 1, 扣分 = 0 } /// /// /// public static Dictionary TypeMap = new Dictionary { { "加分" ,(int)TypeInt.加分}, { "扣分" ,(int)TypeInt.扣分}, }; /// /// 根据Id获取人员记分流水 /// /// /// public static Model.ScoreFlowLog GetScoreFlowLogById(string Id) { return Funs.DB.ScoreFlowLog.FirstOrDefault(e => e.Id == Id); } /// /// 根据证件号码获取人员今年上一条记分流水记录 /// /// /// /// public static Model.ScoreFlowLog GetScoreFlowLogByIdentityCard(string IdentityCard, int year, DateTime compileDate) { return Funs.DB.ScoreFlowLog.Where(e => e.IdentityCard == IdentityCard && e.Year == year && e.CompileDate <= compileDate).OrderByDescending(x => x.CompileDate).FirstOrDefault(); } /// /// 根据数据来源id获取人员计分流水 /// /// /// /// /// public static Model.ScoreFlowLog GetScoreFlowLogByDataSourceId(string IdentityCard, int year, string dataSourceId) { return Funs.DB.ScoreFlowLog.FirstOrDefault(e => e.IdentityCard == IdentityCard && e.Year == year && e.DataSourceId == dataSourceId); } /// /// 根据时间获取比当前年份的人员比时间后的数据 /// /// /// /// /// public static List GetScoreFlowLogByCompileDate(string IdentityCard, int year, DateTime compliedate) { return (from x in Funs.DB.ScoreFlowLog where x.IdentityCard == IdentityCard && x.Year == year && x.CompileDate > compliedate select x).ToList(); } /// /// 增加人员记分流水 /// /// 人员记分流水实体 public static void AddScoreFlowLog(Model.ScoreFlowLog model) { Model.ScoreFlowLog newModel = new Model.ScoreFlowLog(); newModel.Id = model.Id; newModel.Year = model.Year; newModel.IdentityCard = model.IdentityCard; newModel.UserName = model.UserName; newModel.Type = model.Type; newModel.Score = model.Score; newModel.CurrentScore = model.CurrentScore; newModel.Item = model.Item; newModel.LogContent = model.LogContent; newModel.UserId = model.UserId; newModel.PersonId = model.PersonId; newModel.UnitId = model.UnitId; newModel.ProjectId = model.ProjectId; newModel.UnitName = model.UnitName; newModel.ProjectName = model.ProjectName; newModel.Remark = model.Remark; newModel.CompileDate = model.CompileDate; newModel.CompileMan = model.CompileMan; newModel.CompileManId = model.CompileManId; newModel.DataSourceId = model.DataSourceId; newModel.CheckDate = model.CheckDate; Funs.DB.ScoreFlowLog.InsertOnSubmit(newModel); Funs.DB.SubmitChanges(); } /// /// 修改人员记分流水 /// /// 人员记分流水实体 public static void UpdateScoreFlowLog(Model.ScoreFlowLog model) { Model.ScoreFlowLog newModel = Funs.DB.ScoreFlowLog.FirstOrDefault(e => e.Id == model.Id); if (newModel != null) { //newModel.Id = model.Id; newModel.Year = model.Year; newModel.IdentityCard = model.IdentityCard; newModel.UserName = model.UserName; newModel.Type = model.Type; newModel.Score = model.Score; newModel.CurrentScore = model.CurrentScore; newModel.Item = model.Item; newModel.LogContent = model.LogContent; newModel.UserId = model.UserId; newModel.PersonId = model.PersonId; newModel.UnitId = model.UnitId; newModel.ProjectId = model.ProjectId; newModel.UnitName = model.UnitName; newModel.ProjectName = model.ProjectName; newModel.Remark = model.Remark; //newModel.CompileDate = model.CompileDate; //newModel.CompileMan = model.CompileMan; //newModel.CompileManId = model.CompileManId; newModel.DataSourceId = model.DataSourceId; newModel.CheckDate = model.CheckDate; Funs.DB.SubmitChanges(); } } /// /// 根据Id删除人员记分流水 /// /// /// public static void DeleteScoreFlowLogById(string Id, Sys_User opUser) { var db = Funs.DB; Model.ScoreFlowLog model = db.ScoreFlowLog.FirstOrDefault(x => x.Id == Id); if (model != null) { db.ScoreFlowLog.DeleteOnSubmit(model); db.SubmitChanges(); //BLL.LogService.AddSys_Log(opUser, model.Id, model.Id, BLL.Const.ProjectScoreFlowLogMenuId, BLL.Const.BtnDelete); } } public static void DeleteScoreFlowLogByDataSourceId(string IdentityCard, int year, string dataSourceId) { var db = Funs.DB; Model.ScoreFlowLog model = db.ScoreFlowLog.FirstOrDefault(x => x.IdentityCard == IdentityCard && x.Year == year && x.DataSourceId == dataSourceId); if (model != null) { db.ScoreFlowLog.DeleteOnSubmit(model); db.SubmitChanges(); } } } }