TG.WXCRM.V4/BLL/Base/BAS_PARAMETER_BL.cs

249 lines
10 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Base;
using WX.CRM.Model.Entity;
namespace WX.CRM.BLL.Base
{
public class BAS_PARAMETER_BL : IBAS_PARAMETER_Q, IBAS_PARAMETER
{
public bool Create_Parameter(ref ValidationErrors errors, BAS_PARAMETER model)
{
try
{
using (var db = new crmContext())
{
model.PKID = new SEQUENCES_BL().Seq_base_get();
db.BAS_PARAMETER.Add(model);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public bool Update_Parameter(ref ValidationErrors errors, BAS_PARAMETER model)
{
try
{
using (var db = new crmContext())
{
BAS_PARAMETER entity = db.BAS_PARAMETER.FirstOrDefault(m => m.PARAKEY == model.PARAKEY);
if (entity != null)
{
entity.PARAKEY = model.PARAKEY;
entity.GROUPID = model.GROUPID;
entity.PARATYPE = model.PARATYPE;
entity.PARAVALUE = model.PARAVALUE;
entity.REMARK = model.REMARK;
entity.UTIME = DateTime.Now;
entity.UPDATEUSER = model.UPDATEUSER;
entity.EDITFORM = model.EDITFORM;
entity.PARANAME = model.PARANAME;
entity.DEPTCDOE = model.DEPTCDOE;
db.SaveChanges();
return true;
}
else
{
errors.Add("更新的参数名不存在!");
return false;
}
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public bool Delete_Parameter(ref ValidationErrors errors, decimal pkid)
{
try
{
using (var db = new crmContext())
{
BAS_PARAMETER entity = db.BAS_PARAMETER.FirstOrDefault(m => m.PKID == pkid);
if (entity == null)
{
errors.Add("数据不存在!");
return false;
}
db.BAS_PARAMETER.Remove(entity);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public List<BAS_PARAMETER> GetList(ref Pager page)
{
using (var db = new crmContext())
{
var data = db.BAS_PARAMETER.AsQueryable<BAS_PARAMETER>();
PagerUtil.SetPager<BAS_PARAMETER>(ref data, ref page);
return db.BAS_PARAMETER.ToList<BAS_PARAMETER>();
}
}
public BAS_PARAMETER GetModel_Patameter(string paraKey)
{
using (var db = new crmContext())
{
return db.BAS_PARAMETER.FirstOrDefault(m => m.PARAKEY == paraKey);
}
}
public BAS_PARAMETER GetModelByPkid(decimal pkid)
{
using (var db = new crmContext())
{
return db.BAS_PARAMETER.FirstOrDefault(m => m.PKID == pkid);
}
}
public List<BAS_PARAMETER_Extend> GetList_Patameter(ref Pager pg, string paraKey, string paraName, string paraValue, string paraType, string groupId, string stime, string etime)
{
using (crmContext db = new crmContext())
{
IQueryable<BAS_PARAMETER> data = db.BAS_PARAMETER.AsQueryable<BAS_PARAMETER>();
if (!string.IsNullOrEmpty(groupId.ToString()) && groupId.ToString() != "0")
data = data.Where(m => m.GROUPID == groupId);
if (!string.IsNullOrEmpty(paraKey))
data = data.Where(m => m.PARAKEY.Contains(paraKey));
if (!string.IsNullOrEmpty(paraName))
data = data.Where(m => m.PARANAME.Contains(paraName));
if (!string.IsNullOrEmpty(paraValue))
data = data.Where(m => m.PARAVALUE.Contains(paraValue));
if (!string.IsNullOrEmpty(paraType))
data = data.Where(m => m.PARATYPE.Contains(paraType));
DateTime _stime;
DateTime _etime;
if (!string.IsNullOrEmpty(stime) && DateTime.TryParse(stime, out _stime))
data = data.Where(m => m.CTIME >= _stime);
if (!string.IsNullOrEmpty(etime) && DateTime.TryParse(etime, out _etime))
{
_etime = _etime.AddDays(1);
data = data.Where(m => m.CTIME < _etime);
}
IQueryable<BAS_PARAMETER_Extend> datList = (from model in data
join paremeterGroup in db.BAS_PARAMETERGROUP on model.GROUPID equals paremeterGroup.GROUPID into jiontemp
from paremeterGroup in jiontemp.DefaultIfEmpty()
select new WX.CRM.Model.Entity.BAS_PARAMETER_Extend()
{
parameter = model,
GroupName = paremeterGroup.GROUPNAME
});
if (pg.order == "desc")
{
switch (pg.sort)
{
case "paraKey":
datList = datList.OrderByDescending(c => c.parameter.PARAKEY);
break;
case "paraName":
datList = datList.OrderByDescending(c => c.parameter.PARANAME);
break;
case "groupName":
datList = datList.OrderByDescending(c => c.parameter.GROUPID);
break;
case "paraValue":
datList = datList.OrderByDescending(c => c.parameter.PARAVALUE);
break;
case "paraType":
datList = datList.OrderByDescending(c => c.parameter.PARATYPE);
break;
case "ctime":
datList = datList.OrderByDescending(c => c.parameter.CTIME);
break;
case "utime":
datList = datList.OrderByDescending(c => c.parameter.UTIME);
break;
default:
datList = datList.OrderByDescending(c => c.parameter.GROUPID);
break;
}
}
else
{
switch (pg.sort)
{
case "paraKey":
datList = datList.OrderBy(c => c.parameter.PARAKEY);
break;
case "paraName":
datList = datList.OrderBy(c => c.parameter.PARANAME);
break;
case "groupName":
datList = datList.OrderBy(c => c.parameter.GROUPID);
break;
case "paraValue":
datList = datList.OrderBy(c => c.parameter.PARAVALUE);
break;
case "paraType":
datList = datList.OrderBy(c => c.parameter.PARATYPE);
break;
case "ctime":
datList = datList.OrderBy(c => c.parameter.CTIME);
break;
case "utime":
datList = datList.OrderBy(c => c.parameter.UTIME);
break;
default:
datList = datList.OrderBy(c => c.parameter.GROUPID);
break;
}
}
PagerUtil.SetPager<WX.CRM.Model.Entity.BAS_PARAMETER_Extend>(ref datList, ref pg);//分页
return datList.ToList();
}
}
#region
private List<WX.CRM.Model.Entity.BAS_PARAMETER_Extend> CreateModelList(IQueryable<BAS_PARAMETER> Data, crmContext db)
{
List<WX.CRM.Model.Entity.BAS_PARAMETER_Extend> modelList = (from model in Data
join paremeterGroup in db.BAS_PARAMETERGROUP on model.GROUPID equals paremeterGroup.GROUPID into jiontemp
from paremeterGroup in jiontemp.DefaultIfEmpty()
select new WX.CRM.Model.Entity.BAS_PARAMETER_Extend()
{
parameter = model,
GroupName = paremeterGroup.GROUPNAME
}).ToList();
return modelList;
}
#endregion
public void Update_ParameterValueByKey(string key, string value)
{
using (var db = new crmContext())
{
BAS_PARAMETER entity = db.BAS_PARAMETER.FirstOrDefault(m => m.PARAKEY == key);
if (entity != null)
{
entity.PARAVALUE = value;
db.SaveChanges();
}
}
}
}
}