using System;
using System.Collections.Generic;
using System.Data.Entity.Validation;
using System.Linq;
using System.Linq.Expressions;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Res;
using WX.CRM.Model.Entity;
namespace WX.CRM.BLL.Res
{
public class RES_DISTRIBUTE_DETAIL_BL : IRES_DISTRIBUTE_DETAIL
{
#region 添加
///
/// 添加
///
///
///
///
public bool Create(ref ValidationErrors errors, WX.CRM.Model.Entity.RES_DISTRIBUTE_DETAIL model)
{
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
model.LOGID = new SEQUENCES_BL().Seq_base_get();
db.RES_DISTRIBUTE_DETAIL.Add(model);
return db.SaveChanges().GetResult();
}
}
catch (DbEntityValidationException dbEx)
{
var ex1 = dbEx.EntityValidationErrors.FirstOrDefault();
if (ex1 != null)
{
var ex2 = ex1.ValidationErrors.FirstOrDefault();
if (ex2 != null)
{
errors.Add(ex2.ErrorMessage);
}
else
errors.Add(dbEx.Message);
}
else
errors.Add(dbEx.Message);
return false;
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public bool BatchAdd(ref ValidationErrors errors, IList list)
{
try
{
using (var db = new crmContext())
{
IList his = new List();
foreach (var model in list)
{
model.LOGID = new SEQUENCES_BL().Seq_base_get(Model.Enum.PKIDType.LargeTable);
//db.RES_DISTRIBUTE_DETAIL.Add(model);
his.Add(new RES_DISTRIBUTEDETAIL_HIS() { LOGID = model.LOGID, RESID = model.RESID, DISTRIBUTEID = model.DISTRIBUTEID, SALESID = model.SALESID, CTIME = model.CTIME });
}
db.RES_DISTRIBUTE_DETAIL.AddRange(list);
db.RES_DISTRIBUTEDETAIL_HIS.AddRange(his);
return db.SaveChanges().GetResult();
}
}
catch (DbEntityValidationException dbEx)
{
LogHelper.Error("分配资源异常:" + dbEx.Message);
var ex1 = dbEx.EntityValidationErrors.FirstOrDefault();
if (ex1 != null)
{
var ex2 = ex1.ValidationErrors.FirstOrDefault();
if (ex2 != null)
{
LogHelper.Error("分配资源ex2:" + ex2.ErrorMessage);
errors.Add(ex2.ErrorMessage);
return false;
}
else
{
LogHelper.Error("分配资源dbEx0:" + dbEx.Message);
errors.Add(dbEx.Message);
return false;
}
}
else
{
LogHelper.Error("分配资源dbEx1:" + dbEx.Message);
errors.Add(dbEx.Message); return false;
}
}
catch (Exception ex)
{
errors.Add("分配资源ex:" + ex.Message);
LogHelper.Error("分配资源ex:" + ex);
return false;
}
}
public void BatchRemove(List list)
{
using (var db = new crmContext())
{
foreach (var item in list)
{
var model = db.RES_DISTRIBUTE_DETAIL.FirstOrDefault(p => p.LOGID == item);
if (model != null)
db.RES_DISTRIBUTE_DETAIL.Remove(model);
}
db.SaveChanges();
}
}
public void BatchUpdate(List list)
{
using (var db = new crmContext())
{
foreach (var item in list)
{
var model = db.CACHE_RES_RESOURCE_COUNT.FirstOrDefault(p => p.RESID == item);
if (model != null)
{
model.HASACTIVE = 0;
}
}
db.SaveChanges();
}
}
#endregion
#region 修改
///
/// 数据的修改
///
///
///
///
public bool Update(ref ValidationErrors errors, WX.CRM.Model.Entity.RES_DISTRIBUTE_DETAIL model)
{
return false;
}
#endregion
#region 删除
///
/// 删除
///
///
///
///
public bool Delete(ref ValidationErrors errors, decimal id)
{
return false;
}
#endregion
public IList GetList(Expression> where)
{
using (var db = new crmContext())
{
return db.RES_DISTRIBUTE_DETAIL.Where(where).ToList();
}
}
}
}