using System;
using System.Collections.Generic;
using System.Linq;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Base;
namespace WX.CRM.BLL.Base
{
public class BAS_COMPANY_BL : IBAS_COMPANY_Q, IBAS_COMPANY
{
#region 添加
///
/// 添加
///
///
///
public bool Create_Company(ref ValidationErrors errors, WX.CRM.Model.Entity.BAS_COMPANY model)
{
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var entry = db.BAS_COMPANY.FirstOrDefault(m => m.COMPANYCODE == model.COMPANYCODE);
if (entry != null)
{
errors.Add("这个编码已被占用!");
return false;
}
model.COMPANYID = new SEQUENCES_BL().Seq_base_get();
model.CTIME = DateTime.Now;
db.BAS_COMPANY.Add(model);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#endregion
#region 修改
///
/// 数据的修改
///
///
///
public bool Update_Company(ref ValidationErrors errors, WX.CRM.Model.Entity.BAS_COMPANY model)
{
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var temp = db.BAS_COMPANY.FirstOrDefault(m => m.COMPANYCODE == model.COMPANYCODE && m.COMPANYID != model.COMPANYID);
if (temp != null)
{
errors.Add("这个编码已被占用!");
return false;
}
WX.CRM.Model.Entity.BAS_COMPANY entry = db.BAS_COMPANY.FirstOrDefault(m => m.COMPANYID == model.COMPANYID);
if (entry == null)
return false;
entry.BUSINESSVALUE = model.BUSINESSVALUE;
entry.COMPANYCODE = model.COMPANYCODE;
entry.COMPANYNAME = model.COMPANYNAME;
entry.ISOUTERAGENT = model.ISOUTERAGENT;
entry.PARENTID = model.PARENTID;
entry.UPDATEUSER = model.UPDATEUSER;
entry.UTIME = DateTime.Now;
entry.COMMENTS = model.COMMENTS;
entry.SYSTEMCODE = model.SYSTEMCODE;
entry.ORGANNAME = model.ORGANNAME;
db.SaveChanges().GetResult();
return true;
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#endregion
#region 删除
///
/// 删除
///
///
///
public bool Delete_Company(ref ValidationErrors errors, decimal id)
{
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
WX.CRM.Model.Entity.BAS_COMPANY entry = db.BAS_COMPANY.FirstOrDefault(m => m.COMPANYID == id);
if (entry == null)
{
errors.Add("数据已经被删除!");
return false;
}
db.BAS_COMPANY.Remove(entry);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex) { errors.Add(ex.Message); return false; }
}
#endregion
#region 获取单条信息
///
/// 获取实体
///
///
///
public WX.CRM.Model.Entity.BAS_COMPANY GetModel_Company(decimal id)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
WX.CRM.Model.Entity.BAS_COMPANY entry = db.BAS_COMPANY.FirstOrDefault(m => m.COMPANYID == id);
return entry;
}
}
///
/// 获取实体,找不到直接返回第一条
///
///
///
public WX.CRM.Model.Entity.BAS_COMPANY GetModelByCode(string companyCode)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
WX.CRM.Model.Entity.BAS_COMPANY entry = db.BAS_COMPANY.FirstOrDefault(m => m.COMPANYCODE == companyCode);
return entry;
}
}
#endregion
#region 按照条件查找信息
///
/// 按照条件查找信息
///
///
///
///
///
///
///
///
public List GetList_Company(ref Pager pager, string companyName, string isOutAgent, string companyCode, string cTime1, string cTime2)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
IQueryable queryData = db.BAS_COMPANY.AsQueryable();
//条件
if (!string.IsNullOrWhiteSpace(companyName))
queryData = queryData.Where(a => a.COMPANYNAME.Contains(companyName));
if (!string.IsNullOrWhiteSpace(isOutAgent))
queryData = queryData.Where(a => a.ISOUTERAGENT == Convert.ToInt32(isOutAgent));
if (!string.IsNullOrWhiteSpace(companyCode))
queryData = queryData.Where(a => a.COMPANYCODE.Contains(companyCode));
DateTime dt;
if (!string.IsNullOrWhiteSpace(cTime1) && DateTime.TryParse(cTime1, out dt))
queryData = queryData.Where(a => a.CTIME >= dt);
DateTime dt2;
if (!string.IsNullOrWhiteSpace(cTime2) && DateTime.TryParse(cTime2, out dt2))
queryData = queryData.Where(a => a.CTIME <= dt2);
//排序
if (pager.order == "desc")
{
switch (pager.sort)
{
case "companyName":
queryData = queryData.OrderByDescending(c => c.COMPANYNAME);
break;
case "companCode":
queryData = queryData.OrderByDescending(c => c.COMPANYCODE);
break;
case "cTime":
queryData = queryData.OrderByDescending(c => c.CTIME);
break;
default:
queryData = queryData.OrderByDescending(c => c.COMPANYID);
break;
}
}
else
{
switch (pager.sort)
{
case "companyName":
queryData = queryData.OrderBy(c => c.COMPANYNAME);
break;
case "companCode":
queryData = queryData.OrderBy(c => c.COMPANYCODE);
break;
case "cTime":
queryData = queryData.OrderBy(c => c.CTIME);
break;
default:
queryData = queryData.OrderBy(c => c.COMPANYID); break;
}
}
PagerUtil.SetPager(ref queryData, ref pager);//分页
return queryData.ToList();
}
}
#endregion
#region 获取全部公司信息
///
/// 获取全部信息
///
///
public List GetList()
{
return new CACHE_BL().GetList_innerCompany();
}
#endregion
}
}