253 lines
9.7 KiB
C#
253 lines
9.7 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;
|
|
using WX.CRM.Model.Entity;
|
|
using WX.CRM.Model.MAP;
|
|
|
|
namespace WX.CRM.BLL.Base
|
|
{
|
|
public class BAS_RIGHT_LEVEL_BL : IBAS_RIGHT_LEVEL
|
|
{
|
|
#region 添加
|
|
/// <summary>
|
|
/// 添加
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public bool Create(ref ValidationErrors errors, BAS_RIGHT_LEVEL model, List<BAS_RIGHT_LEVEL_DETAIL> detailList)
|
|
{
|
|
try
|
|
{
|
|
using (crmContext db = new crmContext())
|
|
{
|
|
var entry = db.BAS_RIGHT_LEVEL.FirstOrDefault(m => m.RIGHTID == model.RIGHTID && m.ROLECODE == model.ROLECODE);
|
|
if (entry != null)
|
|
{
|
|
errors.Add(string.Format("角色[{0}]编码为[{1}]已有权限“{2}”设置", model.RNAME, model.ROLECODE, model.RIGHTID));
|
|
return false;
|
|
}
|
|
var roleentry = db.BAS_ROLE.FirstOrDefault(m => m.CODE == model.ROLECODE);
|
|
if (roleentry == null)
|
|
{
|
|
errors.Add(string.Format("角色不存在!"));
|
|
return false;
|
|
|
|
}
|
|
model.PKID = new SEQUENCES_BL().Seq_base_get();
|
|
model.RNAME = model.RNAME;
|
|
//model.STATUS = 1;
|
|
model.CTIME = DateTime.Now;
|
|
db.BAS_RIGHT_LEVEL.Add(model);
|
|
foreach (BAS_RIGHT_LEVEL_DETAIL item in detailList)//新增到详细表
|
|
{
|
|
item.LEVELID = model.PKID;
|
|
item.PKID = new SEQUENCES_BL().Seq_base_get();
|
|
db.BAS_RIGHT_LEVEL_DETAIL.Add(item);
|
|
}
|
|
return db.SaveChanges().GetResult();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
errors.Add(ex.Message);
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 修改
|
|
/// <summary>
|
|
/// 数据的修改
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public bool Update(ref ValidationErrors errors, BAS_RIGHT_LEVEL model, List<BAS_RIGHT_LEVEL_DETAIL> detailList)
|
|
{
|
|
try
|
|
{
|
|
using (crmContext db = new crmContext())
|
|
{
|
|
var tempentry = db.BAS_RIGHT_LEVEL.FirstOrDefault(m => m.RIGHTID == model.RIGHTID && m.ROLECODE == model.ROLECODE && m.PKID != model.PKID);
|
|
if (tempentry != null)
|
|
{
|
|
errors.Add(string.Format("角色[{0}]编码为[{1}]已有权限“{2}”设置", model.RNAME, model.ROLECODE, model.RIGHTID));
|
|
return false;
|
|
}
|
|
BAS_RIGHT_LEVEL entry = db.BAS_RIGHT_LEVEL.FirstOrDefault(m => m.PKID == model.PKID);
|
|
if (entry == null)
|
|
{
|
|
errors.Add(string.Format("参数不正确!"));
|
|
return false;
|
|
}
|
|
var roleentry = db.BAS_ROLE.FirstOrDefault(m => m.CODE == model.ROLECODE);
|
|
if (roleentry == null)
|
|
{
|
|
errors.Add(string.Format("角色不存在!"));
|
|
return false;
|
|
|
|
}
|
|
entry.RNAME = model.RNAME;
|
|
entry.REMARKS = model.REMARKS;
|
|
entry.RIGHTID = model.RIGHTID;
|
|
entry.STATUS = model.STATUS;
|
|
db.BAS_RIGHT_LEVEL_DETAIL.RemoveRange(db.BAS_RIGHT_LEVEL_DETAIL.Where(m => m.LEVELID == model.PKID));//将之前的全部删除
|
|
foreach (BAS_RIGHT_LEVEL_DETAIL item in detailList)//新增到详细表
|
|
{
|
|
item.LEVELID = model.PKID;
|
|
item.PKID = new SEQUENCES_BL().Seq_base_get();
|
|
db.BAS_RIGHT_LEVEL_DETAIL.Add(item);
|
|
}
|
|
db.SaveChanges();
|
|
return true;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
errors.Add(ex.Message);
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 删除
|
|
/// <summary>
|
|
/// 删除
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public bool Delete(ref ValidationErrors errors, decimal id)
|
|
{
|
|
try
|
|
{
|
|
using (crmContext db = new crmContext())
|
|
{
|
|
BAS_RIGHT_LEVEL entry = db.BAS_RIGHT_LEVEL.FirstOrDefault(m => m.PKID == id);
|
|
if (entry == null)
|
|
{
|
|
errors.Add("数据已经被删除!");
|
|
return false;
|
|
}
|
|
db.BAS_RIGHT_LEVEL_DETAIL.RemoveRange(db.BAS_RIGHT_LEVEL_DETAIL.Where(m => m.LEVELID == id));//将之前的全部删除
|
|
db.BAS_RIGHT_LEVEL.Remove(entry);
|
|
return db.SaveChanges().GetResult();
|
|
}
|
|
}
|
|
catch (Exception ex) { LogHelper.Error(ex.ToString()); errors.Add(ex.Message); return false; }
|
|
}
|
|
#endregion
|
|
|
|
#region 获取单条信息
|
|
/// <summary>
|
|
/// 获取实体
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public BAS_RIGHT_LEVEL GetModel(decimal id)
|
|
{
|
|
using (crmContext db = new crmContext())
|
|
{
|
|
BAS_RIGHT_LEVEL entry = db.BAS_RIGHT_LEVEL.FirstOrDefault(m => m.PKID == id);
|
|
return entry;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取实体
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public List<BAS_RIGHT_LEVEL_DETAIL> GetDetailModel(decimal id)
|
|
{
|
|
using (crmContext db = new crmContext())
|
|
{
|
|
List<BAS_RIGHT_LEVEL_DETAIL> entry = db.BAS_RIGHT_LEVEL_DETAIL.Where(m => m.LEVELID == id).ToList();
|
|
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<Bas_Right_Level_Map> GetList(string rightcode, string rolecode)
|
|
{
|
|
using (crmContext db = new crmContext())
|
|
{
|
|
IQueryable<BAS_RIGHT_LEVEL> queryData = db.BAS_RIGHT_LEVEL.AsQueryable<BAS_RIGHT_LEVEL>();
|
|
//条件
|
|
if (!string.IsNullOrWhiteSpace(rightcode))
|
|
queryData = queryData.Where(a => a.RIGHTID.Contains(rightcode));
|
|
if (!string.IsNullOrWhiteSpace(rolecode))
|
|
queryData = queryData.Where(a => a.ROLECODE == rolecode);
|
|
|
|
var aa = (from a in queryData
|
|
select new Bas_Right_Level_Map
|
|
{
|
|
PKID = a.PKID,
|
|
ROLECODE = a.ROLECODE,
|
|
CTIME = a.CTIME,
|
|
REMARKS = a.REMARKS,
|
|
RIGHTID = a.RIGHTID,
|
|
RNAME = a.RNAME,
|
|
STATUS = a.STATUS
|
|
}).OrderByDescending(m => m.CTIME).ToList();
|
|
foreach (Bas_Right_Level_Map item in aa)
|
|
{
|
|
item.Detail = db.BAS_RIGHT_LEVEL_DETAIL.Where(m => m.LEVELID == item.PKID).Select(m => new Bas_Right_Level_Detail_Map()
|
|
{
|
|
PKID = m.PKID,
|
|
LEVELID = m.LEVELID,
|
|
CID = m.CID,
|
|
TYPEID = m.TYPEID
|
|
}).ToList();
|
|
foreach (Bas_Right_Level_Detail_Map map in item.Detail)
|
|
{
|
|
if (map.TYPEID == 1)//组
|
|
{
|
|
var entry = db.BAS_INNERGROUP.FirstOrDefault(m => m.GID == map.CID);
|
|
if (entry != null)
|
|
{
|
|
map.groupName = entry.GNAME;
|
|
var w = db.BAS_SALESDEPARTMENT.FirstOrDefault(m => m.SALEDEPTID == entry.SALEDEPTID);
|
|
if (w != null)
|
|
map.deptName = w.DEPTNAME;
|
|
}
|
|
}
|
|
else if (map.TYPEID == 2)//营业部
|
|
{
|
|
var w = db.BAS_SALESDEPARTMENT.FirstOrDefault(m => m.SALEDEPTID == map.CID);
|
|
if (w != null)
|
|
map.deptName = w.DEPTNAME;
|
|
map.deptName = w.DEPTNAME;
|
|
}
|
|
else if (map.TYPEID == 3)//等于公司的暂未开放
|
|
{
|
|
}
|
|
}
|
|
}
|
|
return aa;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
}
|
|
}
|