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

278 lines
11 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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_RIGHTGROUP_BL
{
public List<BAS_RIGHTGROUP> GetList()
{
using (zxdContext db = new zxdContext())
{
return db.BAS_RIGHTGROUP.ToList();
}
}
/// <summary>
/// 新增
/// </summary>
/// <param name="errors"></param>
/// <param name="model"></param>
/// <returns></returns>
public bool Create(ref ValidationErrors errors, BAS_RIGHTGROUP model)
{
try
{
using (zxdContext db = new zxdContext())
{
db.BAS_RIGHTGROUP.Add(model);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="errors"></param>
/// <param name="id"></param>
/// <returns></returns>
public bool Delete(ref ValidationErrors errors, decimal id)
{
try
{
using (var db = new zxdContext())
{
var entry = db.BAS_RIGHTGROUP.FirstOrDefault(m => m.PKID == id);
if (entry != null)
db.BAS_RIGHTGROUP.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_RIGHTGROUP model)
{
try
{
using (var db = new zxdContext())
{
var rightGroup = db.BAS_RIGHTGROUP.FirstOrDefault(m => m.PKID == model.PKID);
rightGroup.PARENTID = model.PARENTID;
rightGroup.NAME = model.NAME;
db.SaveChanges();
return true;
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
#endregion
#region
/// <summary>
/// 获取单个实体
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public BAS_RIGHTGROUP GetModel(decimal id)
{
using (var db = new zxdContext())
{
var entry = db.BAS_RIGHTGROUP.FirstOrDefault(m => m.PKID == id);
return entry;
}
}
#endregion
#region ()
/// <summary>
/// 获取节点数据 包括:子权限组+权限
/// </summary>
/// <param name="fid"></param>
/// <returns></returns>
public object GetNodeTreeList(decimal fid)
{
using (var db = new zxdContext())
{
var rightGroup = db.BAS_RIGHTGROUP.ToList();
var rightList = db.BAS_RIGHT.ToList();//获取所有权限列表
List<object> obj = GetRightTreeChildList(rightGroup, rightList, fid);
if (obj == null)
obj = new List<object>();
foreach (var right in rightList.Where(m => m.GROUPID == fid))
{
obj.Add(new
{
id = right.RIGHTID,
text = right.RNAME,
iconCls = "icon-redmini",
attributes = "right"
});
}
return obj;
}
}
/// <summary>
/// 获取顶端
/// </summary>
/// <returns></returns>
public object GetTopTreeList()
{
return new List<object>() { new { id = 0, text = "权限树结构", attributes = "group", iconCls = "icon-group", children = GetNodeTreeList(0) } };
}
#endregion
#region tree数据列表()
/// <summary>
/// 获取tree数据列表(一次性获取:不包含权限)
/// </summary>
/// <returns></returns>
public object GetAllTreeList()
{
using (var db = new zxdContext())
{
var rightGroup = db.BAS_RIGHTGROUP.ToList();
List<object> obj = new List<object>();
obj.Add(new { id = 0, text = "权限树结构", iconCls = "icon-group", children = GetTreeChildList(rightGroup, 0) });
return obj;
}
}
/// <summary>
/// 获取子节点
/// </summary>
/// <param name="rightGroup"></param>
/// <param name="parentId"></param>
/// <returns></returns>
private object GetTreeChildList(List<BAS_RIGHTGROUP> rightGroup, decimal parentId)
{
List<object> obj = null;
object childObj = null;
foreach (var model in rightGroup.FindAll(m => m.PARENTID == parentId))
{
if (obj == null)
obj = new List<object>();
childObj = new { id = model.PKID, text = model.NAME, children = GetTreeChildList(rightGroup, model.PKID) };
obj.Add(childObj);
}
return obj;
}
#endregion
#region tree数据列表
/// <summary>
/// 获取tree数据列表一次性获取包含权限
/// </summary>
/// <returns></returns>
public object GetRightTreeList(bool isSelect = false)
{
using (var db = new zxdContext())
{
var rightGroup = db.BAS_RIGHTGROUP.ToList();
var rightList = db.BAS_RIGHT.ToList();//获取所有权限列表
List<object> obj = new List<object>();
List<object> childobj = new List<object>();
childobj = GetRightTreeChildList(rightGroup, rightList, 0, isSelect);
//var right_buttons = new BAS_RIGHT_TOOLBUTTON_BL().GetALLToolButton();
//var noGroupRight = rightList.Where(o => o.GROUPID.HasValue == false).ToList();
//var level = 1;
//foreach (var right in noGroupRight)
//{
// var toolButton = right_buttons.Where(p => p.RIGHTID.Equals(right.RIGHTID)).ToList();
// string buttons = "";
// if (toolButton != null && toolButton.Count > 0)
// {
// buttons = " 按钮:";
// if (isSelect)
// {
// foreach (var button in toolButton)
// {
// buttons += string.Format("<input class='tool_button' type='checkbox' name='{0}' value='{1}' />{2}", right.RIGHTID, button.BUTTONID, button.BUTTONNAME);
// }
// }
// else
// {
// buttons += string.Join(" , ", toolButton.Select(p => p.BUTTONNAME).ToArray());
// }
// }
// //childobj.Add(new { id = right.RIGHTID, name = right.RNAME + buttons });
// childobj.Add(new { id = right.RIGHTID, title = right.RNAME, isLast = false, level, parentId = 0 });
// level++;
//}
//obj.Add(new { id = 0, name = "权限树结构", children = childobj, spread = true });
obj.Add(new { id = 0, title = "权限树结构", isLast = false, level = 0, parentId = 0, checkArr = new List<object>() { new { type = 0, isChecked = 0 } }, children = childobj });
return obj;
}
}
/// <summary>
/// 获取子节点
/// </summary>
/// <param name="rightGroup"></param>
/// <param name="parentId"></param>
/// <returns></returns>
private List<object> GetRightTreeChildList(List<BAS_RIGHTGROUP> rightGroup, List<BAS_RIGHT> rightList, decimal parentId, bool isSelect = false)
{
List<object> obj = new List<object>(); ;
object childObj = null;
List<object> nchildObj = null;
var right_buttons = new BAS_RIGHT_TOOLBUTTON_BL().GetALLToolButton();
foreach (var model in rightGroup.FindAll(m => m.PARENTID == parentId))
{
nchildObj = GetRightTreeChildList(rightGroup, rightList, model.PKID, isSelect);
if (nchildObj == null)
nchildObj = new List<object>();
foreach (var right in rightList.Where(m => m.GROUPID == model.PKID))
{
var toolButton = right_buttons.Where(p => p.RIGHTID.Equals(right.RIGHTID)).ToList();
var buttonChild = new List<object>();
foreach (var button in toolButton)
{
buttonChild.Add(new { id = right.RIGHTID + "_" + button.BUTTONID, title = button.BUTTONNAME, isLast = true, checkArr = new List<object>() { new { type = 0, isChecked = 0 } } });
}
nchildObj.Add(new { id = right.RIGHTID, title = right.RNAME, isLast = false, parentId = 0, checkArr = new List<object>() { new { type = 0, isChecked = 0 } }, children = buttonChild });
}
if (nchildObj.Count == 0)
{
//childObj = new { id = model.PKID, name = model.NAME };
childObj = new { id = model.PKID, title = model.NAME, isLast = true, parentId, checkArr = new List<object>() { new { type = 0, isChecked = 0 } } };
}
else
{
//childObj = new { id = model.PKID, name = model.NAME, children = nchildObj, spread = true };
childObj = new { id = model.PKID, title = model.NAME, isLast = false, parentId, checkArr = new List<object>() { new { type = 0, isChecked = 0 } }, children = nchildObj };
}
obj.Add(childObj);
}
return obj;
}
#endregion
}
}