using System;
using System.Collections.Generic;
using System.Data.Entity.Validation;
using System.Linq;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.DAL.Res;
using WX.CRM.IBLL.Res;
using WX.CRM.Model.Entity;
namespace WX.CRM.BLL.Res
{
public class RES_CUSTOMERUSER_BL : IRES_CUSTOMERUSER, IRES_CUSTOMERUSER_Q
{
CUSTOMER_DAL custDal = new CUSTOMER_DAL();
private readonly RedisBL.ReadOrWriteFromRedis_BL redisBl = new RedisBL.ReadOrWriteFromRedis_BL();
#region 获取单条信息
///
/// 获取实体
///
///
///
public WX.CRM.Model.Entity.RES_CUSTOMERUSER GetModelByUserName(string username)
{
using (var db = new WX.CRM.Model.Entity.crmContext())
{
WX.CRM.Model.Entity.RES_CUSTOMERUSER entry = db.RES_CUSTOMERUSER.FirstOrDefault(m => m.USERNAME == username);
return entry;
}
}
public List GetListByUserName(string username)
{
using (var db = new WX.CRM.Model.Entity.crmContext())
{
List list = db.RES_CUSTOMERUSER.Where(m => m.USERNAME == username).ToList();
return list;
}
}
///
/// 获取实体
///
///
///
public WX.CRM.Model.Entity.RES_CUSTOMERUSER GetModelByUserNo(decimal userno)
{
using (var db = new WX.CRM.Model.Entity.crmContext())
{
var soft_user = db.SOFT_USER.Where(m => m.USERNO == userno);
var xx = (from a in db.RES_CUSTOMERUSER
join b in soft_user on a.USERNAME equals b.USERNAME
select a);
return xx.FirstOrDefault();
}
}
#endregion
///
/// 根据 resid获取实体
///
///
///
public List GetModelByResId(string ResId)
{
using (var db = new WX.CRM.Model.Entity.crmContext())
{
ResId = ResId.Trim();
List entry = db.RES_CUSTOMERUSER.Where(m => m.RESID == ResId).ToList();
return entry;
}
}
public List GetCustomerListByResId(string Resid)
{
using (var db = new WX.CRM.Model.Entity.crmContext())
{
var queryData = db.RES_CUSTOMER.AsQueryable();
if (!string.IsNullOrEmpty(Resid))
{
Resid = Resid.Trim();
queryData = queryData.Where(m => m.RESID == Resid);
}
else
{
Resid = Resid.Trim();
queryData = queryData.Where(m => m.RESID == Resid);
}
List list = (from q in db.RES_CUSTOMER
join f in queryData on q.CUSTOMERID equals f.CUSTOMERID
join d in db.RES_CUSTOMERUSER on q.RESID equals d.RESID
select d
).ToList();
return list;
}
}
#region 添加
///
/// 添加
///
///
///
///
public bool Create(ref ValidationErrors errors, WX.CRM.Model.Entity.RES_CUSTOMERUSER model)
{
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
model.PKID = new SEQUENCES_BL().Seq_base_get();
db.RES_CUSTOMERUSER.Add(model);
bool result = db.SaveChanges().GetResult();
//if (result)
// AddToRedis(model);
return result;
}
}
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 int ContractUser(string resid, string username)
{
return custDal.ContractUser(resid, username);
}
#endregion
//根据主客户ID获取所有的用户名信息
public List GetListByCustomerId(string CustomerId)
{
using (var db = new WX.CRM.Model.Entity.crmContext())
{
CustomerId = CustomerId.Trim();
List entry = db.RES_CUSTOMERUSER.Where(m => (db.RES_CUSTOMER.Where(b => b.CUSTOMERID == CustomerId).Select(b => b.RESID)).Contains(m.RESID)).ToList();
return entry;
}
}
public void Delete(string username, string resid)
{
using (var db = new crmContext())
{
var model = db.RES_CUSTOMERUSER.FirstOrDefault(p => p.USERNAME == username && p.RESID == resid);
if (model != null)
{
db.RES_CUSTOMERUSER.Remove(model);
db.SaveChanges();
}
}
}
}
}