From 9b45ef7ac15aa8ff867ebdcbb62cf1a83aace099 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Fri, 27 Nov 2015 18:10:11 +0800 Subject: [PATCH] RoutineUpdate --- OpenAuth.App/ModuleManagerApp.cs | 20 +++++++-- .../Controllers/ModuleManagerController.cs | 43 +++++++++++++++++-- OpenAuth.Mvc/Views/ModuleManager/Add.cshtml | 2 +- OpenAuth.Mvc/Views/ModuleManager/Index.cshtml | 2 +- .../Views/ModuleManager/LookupMulti.cshtml | 35 +++++++++------ OpenAuth.Mvc/Views/UserManager/Index.cshtml | 34 ++++++++++----- OpenAuth.UnitTest/TestModuleApp.cs | 2 +- 7 files changed, 105 insertions(+), 33 deletions(-) diff --git a/OpenAuth.App/ModuleManagerApp.cs b/OpenAuth.App/ModuleManagerApp.cs index b047834e..caba25f9 100644 --- a/OpenAuth.App/ModuleManagerApp.cs +++ b/OpenAuth.App/ModuleManagerApp.cs @@ -11,10 +11,13 @@ namespace OpenAuth.App public class ModuleManagerApp { private IModuleRepository _repository; + private IUserModuleRepository _userModuleRepository; - public ModuleManagerApp(IModuleRepository repository) + public ModuleManagerApp(IModuleRepository repository, + IUserModuleRepository userModuleRepository) { _repository = repository; + _userModuleRepository = userModuleRepository; } /// @@ -46,10 +49,19 @@ namespace OpenAuth.App /// /// 为树型结构提供数据 /// - public List LoadForTree(bool bAll) + public List LoadForTree() { - if (bAll) return _repository.Find(null).ToList(); + } + public List LoadForUser(int userId) + { + var moduleIds = _userModuleRepository.Find(u => u.UserId == userId).Select(u => u.ModuleId).ToList(); + if(!moduleIds.Any()) return null; + return _repository.Find(u => moduleIds.Contains(u.Id)).ToList(); + } + + public List LoadForNav() + { return _repository.Find(u => u.ParentId == 0).ToList(); } @@ -148,5 +160,7 @@ namespace OpenAuth.App } #endregion 私有方法 + + } } \ No newline at end of file diff --git a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs index a356dec8..6a635bb1 100644 --- a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs +++ b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs @@ -23,8 +23,9 @@ namespace OpenAuth.Mvc.Controllers } //用于选择模块时使用 - public ActionResult LookUpMulti() + public ActionResult LookUpMulti(int userId) { + ViewBag.UserId = userId; return View(); } @@ -37,11 +38,11 @@ namespace OpenAuth.Mvc.Controllers } /// - /// 加载tree结构 + /// 直接加载所有的模块 /// - public string LoadForTree(bool bAll = false) + public string LoadForTree() { - var orgs = _app.LoadForTree(bAll); + var orgs = _app.LoadForTree(); //添加根节点 orgs.Add(new Module { @@ -53,6 +54,39 @@ namespace OpenAuth.Mvc.Controllers return JsonHelper.Instance.Serialize(orgs); } + /// + /// 加载首页导航模块 + /// + /// System.String. + public string LoadForNav() + { + var orgs = _app.LoadForNav(); + //添加根节点 + orgs.Add(new Module + { + Id = 0, + ParentId = -1, + Name = "根节点", + CascadeId = "0" + }); + return JsonHelper.Instance.Serialize(orgs); + } + + public string LoadForUser(int userId) + { + var orgs = _app.LoadForUser(userId); + //添加根节点 + orgs.Add(new Module + { + Id = 0, + ParentId = -1, + Name = "已为用户分配的模块", + CascadeId = "0" + }); + return JsonHelper.Instance.Serialize(orgs); + } + + #region 命令操作 public ActionResult Add(int id = 0) { return View(_app.Find(id)); @@ -91,5 +125,6 @@ namespace OpenAuth.Mvc.Controllers return JsonHelper.Instance.Serialize(BjuiResponse); } + #endregion } } \ No newline at end of file diff --git a/OpenAuth.Mvc/Views/ModuleManager/Add.cshtml b/OpenAuth.Mvc/Views/ModuleManager/Add.cshtml index 75c7a528..ab49ffed 100644 --- a/OpenAuth.Mvc/Views/ModuleManager/Add.cshtml +++ b/OpenAuth.Mvc/Views/ModuleManager/Add.cshtml @@ -128,7 +128,7 @@ onCheck: zTreeCheck } }; - $.getJSON('ModuleManager/LoadForTree?bAll=true', function (json) { + $.getJSON('ModuleManager/LoadForTree', function (json) { var zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json); zTreeObj.expandAll(true); }); diff --git a/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml b/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml index f5a72b24..68094bf0 100644 --- a/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml +++ b/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml @@ -133,7 +133,7 @@ }, callback: {onClick: zTreeOnClick} }; - $.getJSON('ModuleManager/LoadForTree', function (json) { + $.getJSON('ModuleManager/LoadForNav', function (json) { var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json); zTreeObj.expandAll(true); }); diff --git a/OpenAuth.Mvc/Views/ModuleManager/LookupMulti.cshtml b/OpenAuth.Mvc/Views/ModuleManager/LookupMulti.cshtml index 129b5ab4..a21ba3e9 100644 --- a/OpenAuth.Mvc/Views/ModuleManager/LookupMulti.cshtml +++ b/OpenAuth.Mvc/Views/ModuleManager/LookupMulti.cshtml @@ -7,28 +7,24 @@ Layout = null; }
+
    -
      +
        + \ No newline at end of file diff --git a/OpenAuth.UnitTest/TestModuleApp.cs b/OpenAuth.UnitTest/TestModuleApp.cs index afa4eb0e..2115cfe0 100644 --- a/OpenAuth.UnitTest/TestModuleApp.cs +++ b/OpenAuth.UnitTest/TestModuleApp.cs @@ -17,7 +17,7 @@ namespace OpenAuth.UnitTest private TestContext testContextInstance; - private ModuleManagerApp _app = new ModuleManagerApp(new ModuleRepository()); + private ModuleManagerApp _app = new ModuleManagerApp(new ModuleRepository(), new UserModuleRepository()); private string _time = DateTime.Now.ToString("HH_mm_ss_ms");