mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2026-06-26 22:33:09 +08:00
ru
This commit is contained in:
@@ -38,52 +38,23 @@ namespace OpenAuth.App
|
||||
var records = Repository.GetCount(u => roleIds.Contains(u.Id));
|
||||
|
||||
|
||||
var userviews = new List<RoleView>();
|
||||
var roleViews = new List<RoleView>();
|
||||
foreach (var role in roles)
|
||||
{
|
||||
RoleView uv = role;
|
||||
var orgs = LoadByRole(role.Id);
|
||||
uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList());
|
||||
uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList());
|
||||
userviews.Add(uv);
|
||||
roleViews.Add(uv);
|
||||
}
|
||||
|
||||
return new TableData
|
||||
{
|
||||
count = records,
|
||||
data = userviews,
|
||||
data = roleViews,
|
||||
};
|
||||
}
|
||||
|
||||
public void AddOrUpdate(RoleView view)
|
||||
{
|
||||
if (string.IsNullOrEmpty(view.OrganizationIds))
|
||||
throw new Exception("请为用户分配机构");
|
||||
Role role = view;
|
||||
if (string.IsNullOrEmpty(view.Id))
|
||||
{
|
||||
if (UnitWork.IsExist<User>(u => u.Account == view.Name))
|
||||
{
|
||||
throw new Exception("用户账号已存在");
|
||||
}
|
||||
role.CreateTime = DateTime.Now;
|
||||
Repository.Add(role);
|
||||
view.Id = role.Id; //要把保存后的ID存入view
|
||||
}
|
||||
else
|
||||
{
|
||||
UnitWork.Update<User>(u => u.Id == view.Id, u => new User
|
||||
{
|
||||
Name = role.Name,
|
||||
Status = role.Status
|
||||
});
|
||||
}
|
||||
string[] orgIds = view.OrganizationIds.Split(',').ToArray();
|
||||
|
||||
ReleManagerApp.DeleteBy(Define.ROLEORG, role.Id);
|
||||
ReleManagerApp.AddRelevance(Define.ROLEORG, orgIds.ToLookup(u => role.Id));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载角色的所有机构
|
||||
/// </summary>
|
||||
@@ -97,5 +68,42 @@ namespace OpenAuth.App
|
||||
}
|
||||
|
||||
|
||||
public void Add(RoleView obj)
|
||||
{
|
||||
if (string.IsNullOrEmpty(obj.OrganizationIds))
|
||||
throw new Exception("请为角色分配机构");
|
||||
Role role = obj;
|
||||
role.CreateTime = DateTime.Now;
|
||||
Repository.Add(role);
|
||||
obj.Id = role.Id; //要把保存后的ID存入view
|
||||
|
||||
UpdateRele(obj);
|
||||
}
|
||||
|
||||
public void Update(RoleView obj)
|
||||
{
|
||||
if (string.IsNullOrEmpty(obj.OrganizationIds))
|
||||
throw new Exception("请为角色分配机构");
|
||||
Role role = obj;
|
||||
|
||||
UnitWork.Update<User>(u => u.Id == obj.Id, u => new User
|
||||
{
|
||||
Name = role.Name,
|
||||
Status = role.Status
|
||||
});
|
||||
|
||||
UpdateRele(obj);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新相应的多对多关系
|
||||
/// </summary>
|
||||
/// <param name="view"></param>
|
||||
private void UpdateRele(RoleView view)
|
||||
{
|
||||
string[] orgIds = view.OrganizationIds.Split(',').ToArray();
|
||||
ReleManagerApp.DeleteBy(Define.ROLEORG, view.Id);
|
||||
ReleManagerApp.AddRelevance(Define.ROLEORG, orgIds.ToLookup(u => view.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user