分配模块

This commit is contained in:
yubaolee
2016-10-18 17:34:41 +08:00
parent 023b76efda
commit 3b99938df1
110 changed files with 820 additions and 197 deletions

View File

@@ -1,11 +1,14 @@
using Infrastructure;
using OpenAuth.App;
using OpenAuth.Domain;
using System;
using System.Web.Mvc;
using OpenAuth.App.SSO;
using OpenAuth.App.ViewModel;
using OpenAuth.Domain;
using OpenAuth.Mvc.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
namespace OpenAuth.Mvc.Controllers
{
@@ -29,9 +32,62 @@ namespace OpenAuth.Mvc.Controllers
{
ViewBag.FirstId = firstId;
ViewBag.ModuleType = key;
var moduleWithChildren = AuthUtil.GetCurrentUser().ModuleWithChildren;
var modules = key == "UserModule" ? _app.LoadForUser(firstId) : _app.LoadForRole(firstId);
CheckModule(moduleWithChildren, modules);
ViewBag.Modules = BuilderModules(moduleWithChildren);
return View();
}
private void CheckModule(IEnumerable<TreeItem<ModuleView>> moduleWithChildren, List<Module> modules)
{
foreach (var module in moduleWithChildren)
{
if (module.Children.Any())
{
CheckModule(module.Children, modules);
}
else
{
if (modules.Select(u => u.Id).Contains(module.Item.Id))
{
module.Item.Checked = true;
}
}
}
}
public string BuilderModules(IEnumerable<TreeItem<ModuleView>> modules)
{
StringBuilder sb = new StringBuilder();
foreach (var moduleView in modules)
{
if (moduleView.Children.Any())
{
sb.Append("<div class=\"layui-form-item\">\r\n");
sb.Append("<label class=\"layui-form-label\">" + moduleView.Item.Name + "</label>\r\n");
sb.Append("<div class=\"layui-input-block\">\r\n");
sb.Append(BuilderModules(moduleView.Children));
sb.Append("</div>\r\n");
sb.Append("</div>\r\n");
}
else
{
sb.Append("<input type=\"checkbox\" name=\"like[dai]\" title=\"" + moduleView.Item.Name + "\"");
if (moduleView.Item.Checked)
{
sb.Append(" checked");
}
sb.Append(">\r\n");
}
}
return sb.ToString();
}
/// <summary>
/// 加载模块下面的所有模块
/// </summary>
@@ -45,7 +101,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string LoadForTree()
{
var orgs = AuthUtil.GetCurrentUser().Modules;
var orgs = AuthUtil.GetCurrentUser().ModuleWithChildren;
return JsonHelper.Instance.Serialize(orgs);
}
@@ -55,30 +111,8 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(orgs);
}
/// <summary>
/// 加载用户模块
/// </summary>
/// <param name="firstId">The user identifier.</param>
/// <returns>System.String.</returns>
public string LoadForUser(Guid firstId)
{
var orgs = _app.LoadForUser(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
/// <summary>
/// 加载角色模块
/// </summary>
/// <param name="firstId">The role identifier.</param>
/// <returns>System.String.</returns>
public string LoadForRole(Guid firstId)
{
var orgs = _app.LoadForRole(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
#region
//添加或修改模块
[HttpPost]
public string Add(Module model)
@@ -89,7 +123,7 @@ namespace OpenAuth.Mvc.Controllers
}
catch (Exception ex)
{
Result.Status = false;
Result.Status = false;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
@@ -107,13 +141,13 @@ namespace OpenAuth.Mvc.Controllers
}
catch (Exception e)
{
Result.Status = false;
Result.Status = false;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
#endregion
#endregion
}
}