This commit is contained in:
yubao
2017-12-15 00:03:06 +08:00
parent f212043917
commit 48db85f686
8 changed files with 159 additions and 213 deletions

View File

@@ -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
});
}
}
}