using System; using System.Collections.Generic; using System.Data; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.DAL.Qc; using WX.CRM.IBLL.Qc; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.Qc { public class QC_USERSCOREDETAIL_BL : IQC_USERSCOREDETAIL_Q { UserScore_DL userscoreDl = new UserScore_DL(); #region 获取单条信息 /// /// 获取实体 /// /// /// public WX.CRM.Model.Entity.QC_USERSCOREDETAIL GetModel(decimal id) { using (var db = new WX.CRM.Model.Entity.crmContext()) { WX.CRM.Model.Entity.QC_USERSCOREDETAIL entry = db.QC_USERSCOREDETAIL.FirstOrDefault(m => m.PKID == id); return entry; } } #endregion #region 获取分页数据列表 public List GetList(ref Pager pager, string groupId, string inneruserId, decimal? status, DateTime? stime, DateTime? etime) { using (var db = new WX.CRM.Model.Entity.crmContext()) { var queryData = db.QC_USERSCOREDETAIL.AsQueryable(); if (status.HasValue) { queryData = queryData.Where(m => m.STATUS == status); } if (stime.HasValue) { queryData = queryData.Where(m => m.CTIME >= stime.Value); } if (etime.HasValue) { etime = etime.Value.AddDays(1); queryData = queryData.Where(m => m.CTIME < etime.Value); } if (!string.IsNullOrWhiteSpace(inneruserId)) { decimal userid = Convert.ToDecimal(inneruserId); queryData = queryData.Where(m => m.INNERUSERID == userid); } else if (!string.IsNullOrWhiteSpace(groupId)) { decimal[] _groupIds = OperationUtil.ConvertToDecimal(groupId.Split(',')); var userids = db.BAS_INNERUSERGROUP.Where(m => _groupIds.Contains(m.GID.Value)).Select(m => m.INNERUSERID); queryData = queryData.Where(m => userids.Contains(m.INNERUSERID)); } if (pager != null) { if (pager.order == "desc") { switch (pager.sort) { case "INNERUSEREID": queryData = queryData.OrderByDescending(c => c.INNERUSEREID); break; case "INNERUSERGROUPNAME": queryData = queryData.OrderByDescending(c => c.INNERUSERGROUPNAME); break; case "SCORENO": queryData = queryData.OrderByDescending(c => c.SCORENO); break; default: queryData = queryData.OrderByDescending(c => c.CTIME); break; } } else { switch (pager.sort) { case "INNERUSEREID": queryData = queryData.OrderBy(c => c.INNERUSEREID); break; case "INNERUSERGROUPNAME": queryData = queryData.OrderBy(c => c.INNERUSERGROUPNAME); break; case "SCORENO": queryData = queryData.OrderBy(c => c.SCORENO); break; default: queryData = queryData.OrderBy(c => c.CTIME); break; } } } else queryData = queryData.OrderByDescending(m => m.CTIME); PagerUtil.SetPager(ref queryData, ref pager); return queryData.ToList(); } } #endregion #region 获取汇总数据 /// /// 获取汇总数据 /// /// /// /// /// /// /// public DataTable GetUserScoreDetialCount(string groupId, string inneruserId, decimal? status, DateTime? stime, DateTime? etime) { return userscoreDl.GetUserScoreDetialCount(groupId, inneruserId, status, stime, etime); } #endregion #region 员工评分汇总表查询 /// ///员工评分汇总表查询 /// /// /// /// /// /// /// public DataTable GetUserScoreCollect(string groupId, string inneruserId, decimal? status, DateTime? stime, DateTime? etime) { return userscoreDl.GetUserScoreCollect(groupId, inneruserId, status, stime, etime); } #endregion #region 修改数据 public bool UpdateUserScore(List ListModel) { try { using (var db = new WX.CRM.Model.Entity.crmContext()) { foreach (QC_USERSCOREDETAIL model in ListModel) { BAS_INNERUSER userModel = db.BAS_INNERUSER.FirstOrDefault(m => m.EID == model.INNERUSEREID); if (userModel != null) model.INNERUSERID = userModel.PKID; BAS_INNERGROUP groupModel = db.BAS_INNERGROUP.FirstOrDefault(m => m.GNAME == model.INNERUSERGROUPNAME); if (groupModel != null) model.INNERUSERGROUPID = groupModel.GID; QC_USERSCOREDETAIL entry = db.QC_USERSCOREDETAIL.FirstOrDefault(m => m.PKID == model.PKID); if (entry != null) db.QC_USERSCOREDETAIL.Remove(entry); db.QC_USERSCOREDETAIL.Add(model); } db.SaveChanges(); } } catch (Exception ex) { throw; } return true; } #endregion /// /// 删除 员工评分明细 数据 /// public void DeleteScoreData(DateTime stime, DateTime etime) { new UserScore_DL().DeleteScoreData("USERSCOREDETAIL", stime, etime); } } }