mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-10-27 11:19:01 +08:00
ru
This commit is contained in:
@@ -9,130 +9,77 @@ Description: Create a list of properties from a database table
|
||||
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
|
||||
<%@ Assembly Name="SchemaExplorer" %>
|
||||
<%@ Import Namespace="SchemaExplorer" %>
|
||||
<script runat="template">
|
||||
public String GetModelName()
|
||||
{
|
||||
if(NeedViewModel)
|
||||
return ModuleName +"View";
|
||||
else
|
||||
return ModuleName;
|
||||
}
|
||||
</script>
|
||||
|
||||
<%if(NeedViewModel){ %>
|
||||
using OpenAuth.App.ViewModel;
|
||||
<%} %>
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Domain.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using OpenAuth.App.Request;
|
||||
using OpenAuth.App.Response;
|
||||
using OpenAuth.App.SSO;
|
||||
using OpenAuth.Repository.Domain;
|
||||
|
||||
|
||||
namespace OpenAuth.App
|
||||
{
|
||||
public class <%=ModuleName%>ManagerApp
|
||||
public class <%=ModuleName%>App : BaseApp<<%=ModuleName%>>
|
||||
{
|
||||
private I<%=ModuleName%>Repository _repository;
|
||||
private IOrgRepository _orgRepository;
|
||||
|
||||
public <%=ModuleName%>ManagerApp(I<%=ModuleName%>Repository repository,
|
||||
IOrgRepository orgRepository)
|
||||
{
|
||||
_repository = repository;
|
||||
_orgRepository = orgRepository;
|
||||
}
|
||||
|
||||
public int Get<%=GetModelName()%>CntInOrg(int orgId)
|
||||
{
|
||||
if (orgId == 0)
|
||||
{
|
||||
return _repository.Find(null).Count();
|
||||
}
|
||||
else
|
||||
{
|
||||
return _repository.Get<%=GetModelName()%>CntInOrgs(GetSubOrgIds(orgId));
|
||||
}
|
||||
}
|
||||
|
||||
public List<<%=GetModelName()%>> LoadAll()
|
||||
{
|
||||
return _repository.Find(null).ToList();
|
||||
}
|
||||
public RevelanceManagerApp ReleManagerApp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 加载一个节点下面的一个或全部<%=GetModelName()%>s
|
||||
/// 加载列表
|
||||
/// </summary>
|
||||
public dynamic Load(int orgId, int pageindex, int pagesize)
|
||||
public TableData Load(Query<%=ModuleName%>ListReq request)
|
||||
{
|
||||
IEnumerable<<%=ModuleName%>> <%=ModuleName%>s;
|
||||
int total = 0;
|
||||
if (orgId == 0)
|
||||
{
|
||||
<%=ModuleName%>s = _repository.Load<%=ModuleName%>s(pageindex, pagesize);
|
||||
total = _repository.GetCount();
|
||||
}
|
||||
else
|
||||
{
|
||||
<%=ModuleName%>s = _repository.LoadInOrgs(pageindex, pagesize,GetSubOrgIds(orgId));
|
||||
total = _repository.Get<%=ModuleName%>CntInOrgs(orgId);
|
||||
}
|
||||
<%if(NeedViewModel){ %>
|
||||
var <%=ModuleName%>views = new List<<%=ModuleName%>View>();
|
||||
foreach (var <%=ModuleName%> in <%=ModuleName%>s)
|
||||
{
|
||||
<%=ModuleName%>View uv = <%=ModuleName%>;
|
||||
uv.Organizations = string.Join(",", _orgRepository.LoadBy<%=ModuleName%>(<%=ModuleName%>.Id).Select(u => u.Name).ToList());
|
||||
<%=ModuleName%>views.Add(uv);
|
||||
}
|
||||
<%} %>
|
||||
var loginUser = AuthUtil.GetCurrentUser();
|
||||
|
||||
return new
|
||||
string cascadeId = ".0.";
|
||||
if (!string.IsNullOrEmpty(request.orgId))
|
||||
{
|
||||
total = total,
|
||||
list = <%=GetModelName()%>s,
|
||||
pageCurrent = pageindex
|
||||
var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId);
|
||||
cascadeId = org.CascadeId;
|
||||
}
|
||||
|
||||
var ids = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray();
|
||||
var roleIds = ReleManagerApp.Get(Define.ROLEORG, false, ids);
|
||||
|
||||
var roles = UnitWork.Find<<%=ModuleName%>>(u => roleIds.Contains(u.Id))
|
||||
.OrderBy(u => u.Name)
|
||||
.Skip((request.page - 1) * request.limit)
|
||||
.Take(request.limit);
|
||||
|
||||
var records = Repository.GetCount(u => roleIds.Contains(u.Id));
|
||||
|
||||
|
||||
var roleViews = new List<<%=ModuleName%>View>();
|
||||
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());
|
||||
roleViews.Add(uv);
|
||||
}
|
||||
|
||||
return new TableData
|
||||
{
|
||||
count = records,
|
||||
data = roleViews,
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前节点的所有下级节点
|
||||
/// </summary>
|
||||
private int[] GetSubOrgIds(int orgId)
|
||||
public void Add(<%=ModuleName%> obj)
|
||||
{
|
||||
var org = _orgRepository.FindSingle(u => u.Id == orgId);
|
||||
var orgs = _orgRepository.Find(u => u.CascadeId.Contains(org.CascadeId)).Select(u => u.Id).ToArray();
|
||||
return orgs;
|
||||
Repository.Add(obj);
|
||||
}
|
||||
|
||||
public <%=GetModelName()%> Find(int id)
|
||||
|
||||
public void Update(<%=ModuleName%> obj)
|
||||
{
|
||||
var <%=ModuleName.ToLower()%> = _repository.FindSingle(u => u.Id == id);
|
||||
if (<%=ModuleName.ToLower()%> == null) return new <%=GetModelName()%>();
|
||||
|
||||
return <%=ModuleName.ToLower() %>;
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
_repository.Delete(id);
|
||||
}
|
||||
|
||||
public void AddOrUpdate(<%=GetModelName()%> model)
|
||||
{
|
||||
<%=ModuleName%> <%=ModuleName.ToLower()%> = new <%=ModuleName%>();
|
||||
model.CopyTo(<%=ModuleName.ToLower()%>);
|
||||
|
||||
if (<%=ModuleName.ToLower()%>.Id == 0)
|
||||
UnitWork.Update<User>(u => u.Id == obj.Id, u => new User
|
||||
{
|
||||
_repository.Add(<%=ModuleName.ToLower()%>);
|
||||
}
|
||||
else
|
||||
{
|
||||
_repository.Update(<%=ModuleName.ToLower()%>);
|
||||
}
|
||||
|
||||
Name = role.Name,
|
||||
Status = role.Status
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user