using System; using System.Collections.Generic; using System.Linq; using WX.CRM.BLL.Base; using WX.CRM.BLL.Csvr; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.Common.Layui; using WX.CRM.IBLL.Cms; using WX.CRM.Model.Entity; using WX.CRM.Model.QueryMap; namespace WX.CRM.BLL.Cms { public class CMS_NEWS_BL : ICMS_NEWS { public CMS_NEWS GetModel(decimal id) { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { return db.CMS_NEWS.FirstOrDefault(m => m.ID == id); } } #region 添加 /// /// 添加 /// /// /// public bool Create(ref ValidationErrors errors, CMS_NEWS model) { bool result = false; try { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { model.ID = new SEQUENCES_BL().Seq_base_get(); model.UTIME = DateTime.Now; model.CTIME = DateTime.Now; db.CMS_NEWS.Add(model); db.SaveChanges(); AddCmsLog(ref errors, new CMS_NEWS_LOG() { ID = new SEQUENCES_BL().Seq_base_get(), CTIME = DateTime.Now, ATT = model.ATT, CONTENT = model.CONTENT, DEPTCODE = model.DEPTCODE, NEWID = model.ID, NEWSTYPE = model.NEWSTYPE, OPEVENT = "新增", OPNAME = model.AUDITERNAME, OPUSER = model.AUDITER, REMARK = model.REMARK, STATUS = model.STATUS, TITLE = model.TITLE, }); result = true; } } catch (Exception ex) { errors.Add(ex.Message); } return result; } #endregion #region 修改 /// /// 修改 /// /// /// public bool Update(ref ValidationErrors errors, CMS_NEWS model) { bool result = false; try { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { var entry = db.CMS_NEWS.FirstOrDefault(m => m.ID == model.ID); if (entry == null) { errors.Add("找不到这条数据"); return false; } if (entry.UPSTATUS == 1) { errors.Add("此数据已经上传,请等待审核!"); return false; } entry.ATT = model.ATT; entry.CONTENT = model.CONTENT; entry.NEWSTYPE = model.NEWSTYPE; entry.REMARK = model.REMARK; entry.TITLE = model.TITLE; entry.UTIME = DateTime.Now; entry.DEPTCODE = model.DEPTCODE; db.SaveChanges(); AddCmsLog(ref errors, new CMS_NEWS_LOG() { ID = new SEQUENCES_BL().Seq_base_get(), CTIME = DateTime.Now, ATT = entry.ATT, CONTENT = entry.CONTENT, DEPTCODE = entry.DEPTCODE, NEWID = entry.ID, NEWSTYPE = entry.NEWSTYPE, OPEVENT = "修改", OPNAME = entry.AUDITERNAME, OPUSER = entry.AUDITER, REMARK = entry.REMARK, STATUS = entry.STATUS, TITLE = entry.TITLE }); result = true; } } catch (Exception ex) { errors.Add(ex.Message); } return result; } #endregion public bool UpUploadStatus(ref ValidationErrors errors, decimal id) { bool result = false; try { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { var entry = db.CMS_NEWS.FirstOrDefault(m => m.ID == id); if (entry == null) { errors.Add("找不到这条记录"); return false; } entry.UPSTATUS = 1; entry.UPTIME = DateTime.Now; db.SaveChanges(); AddCmsLog(ref errors, new CMS_NEWS_LOG() { ID = new SEQUENCES_BL().Seq_base_get(), CTIME = DateTime.Now, ATT = entry.ATT, CONTENT = entry.CONTENT, DEPTCODE = entry.DEPTCODE, NEWID = entry.ID, NEWSTYPE = entry.NEWSTYPE, OPEVENT = entry.STATUS == -1 ? "复提交" : "提交", OPNAME = entry.AUDITERNAME, OPUSER = entry.AUDITER, REMARK = entry.REMARK, STATUS = entry.STATUS, TITLE = entry.TITLE, }); result = true; } } catch (Exception ex) { errors.Add(ex.Message); } return result; } /// /// 修改 /// /// /// public bool UpdateCheckStatus(ref ValidationErrors errors, CMS_NEWS model) { bool result = false; try { CSVR_MESSAGE_BL _msg = new CSVR_MESSAGE_BL(); using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { var entry = db.CMS_NEWS.FirstOrDefault(m => m.ID == model.ID); if (entry == null) { errors.Add("找不到这条数据"); return false; } entry.AUDITIMG1 = model.AUDITIMG1; entry.AUDITIMG2 = model.AUDITIMG2; entry.AUDITIMG3 = model.AUDITIMG3; entry.AUDITIMG4 = model.AUDITIMG4; entry.AUDITIMG5 = model.AUDITIMG5; entry.AUDITIMG6 = model.AUDITIMG6; entry.STATUS = model.STATUS; entry.AUDITER = model.AUDITER; entry.AUDITERNAME = model.AUDITERNAME; entry.AUDITREMARK = model.AUDITREMARK; entry.STATUSTIME = model.STATUSTIME; entry.UTIME = DateTime.Now; entry.REASON = model.REASON; if (model.STATUS == -1)//审核不通过,需要重新上传 { entry.UPSTATUS = 0; } db.SaveChanges(); AddCmsLog(ref errors, new CMS_NEWS_LOG() { ID = new SEQUENCES_BL().Seq_base_get(), CTIME = DateTime.Now, ATT = entry.ATT, CONTENT = entry.CONTENT, DEPTCODE = entry.DEPTCODE, NEWID = entry.ID, NEWSTYPE = entry.NEWSTYPE, OPEVENT = entry.STATUS == 1 ? "通过审核" : "驳回", OPNAME = entry.AUDITERNAME, OPUSER = entry.AUDITER, REMARK = entry.REMARK, STATUS = entry.STATUS, TITLE = entry.TITLE, AUDITIMG1 = entry.AUDITIMG1, AUDITIMG2 = entry.AUDITIMG2, AUDITIMG3 = entry.AUDITIMG3, AUDITIMG4 = entry.AUDITIMG4, AUDITIMG5 = entry.AUDITIMG5, AUDITIMG6 = entry.AUDITIMG6, CHECKREMARK = entry.AUDITREMARK, REASON = entry.REASON }); _msg.Add(new CSVR_MESSAGE() { ID = new SEQUENCES_BL().Seq_base_get(), CTIME = DateTime.Now, EID = entry.CREATEUSER, FROMER = entry.AUDITERNAME, ISLOOK = 0, MESSAGE = $"文案【{entry.TITLE}】已经被【{(entry.STATUS == 1 ? "通过审核" : "驳回")}】了。", MSGCODE = "WASH" }); result = true; } } catch (Exception ex) { LogHelper.Error(ex.ToString()); errors.Add(ex.Message); } return result; } /// /// 添加日志 /// /// public bool AddCmsLog(ref ValidationErrors errors, CMS_NEWS_LOG model) { bool result = false; try { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { db.CMS_NEWS_LOG.Add(model); db.SaveChanges(); } } catch (Exception ex) { LogHelper.Error(ex.ToString()); errors.Add(ex.Message); } return result; } public List GetLogList(decimal id) { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { return db.CMS_NEWS_LOG.Where(m => m.NEWID == id).OrderBy(m => m.CTIME).ToList(); } } public List GetList(ref Laypage pager, Cms_News_Query param) { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { IQueryable queryData = db.CMS_NEWS.AsQueryable(); if (!string.IsNullOrEmpty(param.title)) { queryData = queryData.Where(m => m.TITLE.Contains(param.title)); } if (param.status.HasValue) { queryData = queryData.Where(m => m.STATUS == param.status.Value); } if (param.stime.HasValue) { queryData = queryData.Where(m => m.UTIME > param.stime.Value); } if (param.etime.HasValue) { param.etime = param.etime.Value.AddDays(1); queryData = queryData.Where(m => m.UTIME < param.etime.Value); } if (param.statustime.HasValue) { queryData = queryData.Where(m => m.STATUSTIME > param.statustime.Value); } if (!string.IsNullOrEmpty(param.type)) { queryData = queryData.Where(m => m.NEWSTYPE == param.type); } if (param.statusEndtime.HasValue) { param.statusEndtime = param.statusEndtime.Value.AddDays(1); queryData = queryData.Where(m => m.STATUSTIME < param.statusEndtime.Value); } if (!string.IsNullOrEmpty(param.deptcode)) { queryData = queryData.Where(m => m.DEPTCODE == param.deptcode); } queryData = queryData.OrderByDescending(m => m.CTIME); PagerUtil.SetPager(ref queryData, ref pager);//分页 return queryData.ToList(); } } } }