356 lines
13 KiB
C#
356 lines
13 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,
|
|
AUTHOR = model.AUTHOR,
|
|
CHANNELS = model.CHANNELS
|
|
});
|
|
|
|
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;
|
|
entry.AUTHOR = model.AUTHOR;
|
|
entry.CHANNELS = model.CHANNELS;
|
|
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,
|
|
AUTHOR = entry.AUTHOR,
|
|
CHANNELS = entry.CHANNELS
|
|
});
|
|
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,
|
|
AUTHOR = entry.AUTHOR,
|
|
CHANNELS = entry.CHANNELS
|
|
});
|
|
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;
|
|
entry.ATTACHMENT = model.ATTACHMENT;
|
|
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,
|
|
AUTHOR = entry.AUTHOR,
|
|
CHANNELS = entry.CHANNELS,
|
|
ATTACHMENT = entry.ATTACHMENT
|
|
});
|
|
_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();
|
|
}
|
|
}
|
|
}
|
|
}
|