ComplianceServer/oldcode/BLL/Cms/CMS_NEWS_BL.cs

344 lines
12 KiB
C#

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
/// <summary>
/// 添加
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
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
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 添加日志
/// </summary>
/// <returns></returns>
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<CMS_NEWS_LOG> 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<CMS_NEWS> GetList(ref Laypage pager, Cms_News_Query param)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
IQueryable<CMS_NEWS> 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<CMS_NEWS>(ref queryData, ref pager);//分页
return queryData.ToList();
}
}
}
}