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

227 lines
8.8 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;
namespace WX.CRM.BLL.Base
{
public class BAS_COMPANY_BL : IBAS_COMPANY_Q, IBAS_COMPANY
{
#region
/// <summary>
/// 添加
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
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
/// <summary>
/// 数据的修改
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
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
/// <summary>
/// 删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
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
/// <summary>
/// 获取实体
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 获取实体,找不到直接返回第一条
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
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
/// <summary>
/// 按照条件查找信息
/// </summary>
/// <param name="name"></param>
/// <param name="phone"></param>
/// <param name="gender"></param>
/// <param name="address"></param>
/// <param name="borthday1"></param>
/// <param name="borthday2"></param>
/// <returns></returns>
public List<WX.CRM.Model.Entity.BAS_COMPANY> 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<WX.CRM.Model.Entity.BAS_COMPANY> queryData = db.BAS_COMPANY.AsQueryable<WX.CRM.Model.Entity.BAS_COMPANY>();
//条件
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<WX.CRM.Model.Entity.BAS_COMPANY>(ref queryData, ref pager);//分页
return queryData.ToList();
}
}
#endregion
#region
/// <summary>
/// 获取全部信息
/// </summary>
/// <returns></returns>
public List<WX.CRM.Model.Entity.BAS_COMPANY> GetList()
{
return new CACHE_BL().GetList_innerCompany();
}
#endregion
}
}