ComplianceServer/oldcode/Core.BLL/Base/BAS_ROLE_BL.cs

293 lines
9.7 KiB
C#

using CRM.Core.BLL.Util;
using CRM.Core.Model.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using WX.CRM.Common;
namespace CRM.Core.BLL.Base
{
public class BAS_ROLE_BL : DbContextRepository<BAS_ROLE>
{
#region
/// <summary>
/// 新增
/// </summary>
/// <param name="errors"></param>
/// <param name="model"></param>
/// <returns></returns>
public bool Create(ref ValidationErrors errors, BAS_ROLE model)
{
try
{
using (zxdContext db = new zxdContext())
{
BAS_ROLE entry = db.BAS_ROLE.FirstOrDefault(m => m.CODE == model.CODE);
if (entry != null)
{
errors.Add("编码" + model.CODE + "已被占用");
return false;
}
int maxsort = 1;
BAS_ROLE sortrole = db.BAS_ROLE.OrderByDescending(m => m.SORTID).FirstOrDefault();
if (sortrole != null)
{
maxsort = sortrole.SORTID + 1;
}
model.CTIME = DateTime.Now;
model.SORTID = maxsort;
//model.ROLEID = new Sequences_BL().Seq_base_get();
db.BAS_ROLE.Add(model);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="errors"></param>
/// <param name="id"></param>
/// <returns></returns>
public bool Delete(ref ValidationErrors errors, int id)
{
try
{
using (zxdContext db = new zxdContext())
{
BAS_ROLE entry = db.BAS_ROLE.FirstOrDefault(m => m.ROLEID == id);
if (entry == null)
{
errors.Add("数据已删除!");
return false;
}
db.BAS_ROLE.Remove(entry);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#endregion
#region
/// <summary>
/// 修改数据
/// </summary>
/// <param name="errors"></param>
/// <param name="model"></param>
/// <returns></returns>
public bool Update(ref ValidationErrors errors, BAS_ROLE model)
{
try
{
using (zxdContext db = new zxdContext())
{
BAS_ROLE entry2 = db.BAS_ROLE.FirstOrDefault(m => m.CODE == model.CODE && m.ROLEID != model.ROLEID);
if (entry2 != null)
{
errors.Add("编码" + model.CODE + "已被占用");
return false;
}
BAS_ROLE entry = db.BAS_ROLE.FirstOrDefault(m => m.ROLEID == model.ROLEID);
entry.RNAME = model.RNAME;
entry.SORTID = model.SORTID;
entry.UPDATEUSER = model.UPDATEUSER;
entry.UTIME = DateTime.Now;
entry.CODE = model.CODE;
db.SaveChanges();
//db.bas_role.Attach(model);
//db.Entry<bas_role>(model).State = EntityState.Modified;
return true;
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#endregion
#region
/// <summary>
/// 获取单个实体
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public BAS_ROLE GetModel(decimal id)
{
using (var db = new zxdContext())
{
return db.BAS_ROLE.SingleOrDefault(m => m.ROLEID == id);
}
}
#endregion
#region
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
public List<BAS_ROLE> GetList()
{
using (var db = new zxdContext())
{
return db.BAS_ROLE.OrderBy(m => m.SORTID).ToList();
}
}
#endregion
#region
/// <summary>
/// 批量修改顺序
/// </summary>
/// <param name="roleIds">角色ID</param>
/// <param name="sortIds">排序号</param>
/// <returns></returns>
public bool Sort(ref ValidationErrors errors, string roleIdStr, string sortIdStr)
{
try
{
using (var db = new zxdContext())
{
string[] roleIds = roleIdStr.Split(',');
string[] sortIds = sortIdStr.Split(',');
for (int i = 0; i < roleIds.Length; i++)
{
int roleid = Convert.ToInt32(roleIds[i]);
int sortid = Convert.ToInt32(sortIds[i]);
var model = db.BAS_ROLE.FirstOrDefault(m => m.ROLEID == roleid);
if (model != null)
model.SORTID = sortid;
}
db.SaveChanges();
return true;
}
}
catch (Exception ex) { errors.Add(ex.Message); return false; }
}
#endregion
#region
/// <summary>
/// 批量修改顺序
/// </summary>
/// <param name="roleIds">角色ID</param>
/// <param name="sortIds">排序号</param>
/// <returns></returns>
public bool Sort(ref ValidationErrors errors, int roleid1, int roleid2)
{
try
{
using (zxdContext db = new zxdContext())
{
BAS_ROLE entry1 = db.BAS_ROLE.FirstOrDefault(m => m.ROLEID == roleid1);
BAS_ROLE entry2 = db.BAS_ROLE.FirstOrDefault(m => m.ROLEID == roleid2);
if (entry1 == null || entry2 == null)
return false;
int sort = entry1.SORTID;
entry1.SORTID = entry2.SORTID;
entry2.SORTID = sort;
db.SaveChanges();
return true;
}
}
catch (Exception ex) { errors.Add(ex.Message); return false; }
}
#endregion
#region
/// <summary>
/// 获取角色树形
/// </summary>
/// <returns></returns>
public object GetRoleTree()
{
using (var db = new zxdContext())
{
return (from model in db.BAS_ROLE.OrderBy(m => m.SORTID)
select new
{
id = model.ROLEID,
text = model.RNAME,
iconCls = "icon-man"
}).ToList();
}
}
#endregion
public List<Bas_Role_Com> GetRoleComList(decimal roleid)
{
using (zxdContext db = new zxdContext())
{
int roleidin = Convert.ToInt32(roleid);
return db.Bas_Role_Com.Where(m => m.roleid == roleidin).ToList();
}
}
public List<Bas_Role_Com> GetRoleComLists(int[] roleid)
{
using (zxdContext db = new zxdContext())
{
return db.Bas_Role_Com.Where(m => roleid.Contains(m.roleid)).ToList();
}
}
public bool RoleComSave(ref ValidationErrors errors, int roleid, string comcode)
{
try
{
using (zxdContext db = new zxdContext())
{
List<string> newcomcodelist = new List<string>();
foreach (var item in comcode.Split('|'))
{
if (!string.IsNullOrEmpty(item))
{
newcomcodelist.Add(item);
}
}
foreach (var item in db.Bas_Role_Com.Where(m => m.roleid == roleid && !newcomcodelist.Contains(m.companycode)))//删除没选多余的数据
{
db.Bas_Role_Com.Remove(item);
db.SaveChanges();
}
foreach (var item in newcomcodelist)
{
var entry = db.Bas_Role_Com.FirstOrDefault(m => m.companycode == item && m.roleid == roleid);
if (entry == null)
{
db.Bas_Role_Com.Add(new Bas_Role_Com()
{
roleid = roleid,
companycode = item,
ctime = DateTime.Now
});
db.SaveChanges();
}
}
return true;
}
}
catch (Exception ex) { errors.Add(ex.Message); return false; }
}
}
}