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 GetList(ref Pager page) { using (var db = new crmContext()) { var data = db.BAS_PARAMETER.AsQueryable(); PagerUtil.SetPager(ref data, ref page); return db.BAS_PARAMETER.ToList(); } } 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 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 data = db.BAS_PARAMETER.AsQueryable(); 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 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(ref datList, ref pg);//分页 return datList.ToList(); } } #region 获取扩展类数据 private List CreateModelList(IQueryable Data, crmContext db) { List 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(); } } } } }