You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.6 KiB
71 lines
2.6 KiB
using NFine.Code;
|
|
using NFine.Domain.Entity.SystemManage;
|
|
using NFine.Domain.IRepository.SystemManage;
|
|
using NFine.Repository.SystemManage;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace NFine.Application.SystemManage
|
|
{
|
|
public class RoleApp
|
|
{
|
|
private IRoleRepository service = new RoleRepository();
|
|
private ModuleApp moduleApp = new ModuleApp();
|
|
private ModuleButtonApp moduleButtonApp = new ModuleButtonApp();
|
|
|
|
public List<RoleEntity> GetList(string keyword = "")
|
|
{
|
|
var expression = ExtLinq.True<RoleEntity>();
|
|
if (!string.IsNullOrEmpty(keyword))
|
|
{
|
|
expression = expression.And(t => t.F_FullName.Contains(keyword));
|
|
expression = expression.Or(t => t.F_EnCode.Contains(keyword));
|
|
}
|
|
expression = expression.And(t => t.F_Category == 1);
|
|
return service.IQueryable(expression).OrderBy(t => t.F_SortCode).ToList();
|
|
}
|
|
|
|
public RoleEntity GetForm(string keyValue)
|
|
{
|
|
return service.FindEntity(keyValue);
|
|
}
|
|
|
|
public void DeleteForm(string keyValue)
|
|
{
|
|
service.DeleteForm(keyValue);
|
|
}
|
|
|
|
public void SubmitForm(RoleEntity roleEntity, string[] permissionIds, string keyValue)
|
|
{
|
|
if (!string.IsNullOrEmpty(keyValue))
|
|
{
|
|
roleEntity.F_Id = keyValue;
|
|
}
|
|
else
|
|
{
|
|
roleEntity.F_Id = Common.GuId();
|
|
}
|
|
var moduledata = moduleApp.GetList();
|
|
var buttondata = moduleButtonApp.GetList();
|
|
List<RoleAuthorizeEntity> roleAuthorizeEntitys = new List<RoleAuthorizeEntity>();
|
|
foreach (var itemId in permissionIds)
|
|
{
|
|
RoleAuthorizeEntity roleAuthorizeEntity = new RoleAuthorizeEntity();
|
|
roleAuthorizeEntity.F_Id = Common.GuId();
|
|
roleAuthorizeEntity.F_ObjectType = 1;
|
|
roleAuthorizeEntity.F_ObjectId = roleEntity.F_Id;
|
|
roleAuthorizeEntity.F_ItemId = itemId;
|
|
if (moduledata.Find(t => t.F_Id == itemId) != null)
|
|
{
|
|
roleAuthorizeEntity.F_ItemType = 1;
|
|
}
|
|
if (buttondata.Find(t => t.F_Id == itemId) != null)
|
|
{
|
|
roleAuthorizeEntity.F_ItemType = 2;
|
|
}
|
|
roleAuthorizeEntitys.Add(roleAuthorizeEntity);
|
|
}
|
|
service.SubmitForm(roleEntity, roleAuthorizeEntitys, keyValue);
|
|
}
|
|
}
|
|
}
|