OpenAuth.Net/OpenAuth.Mvc/Controllers/ModuleManagerController.cs

167 lines
4.6 KiB
C#
Raw Normal View History

2015-11-21 23:56:39 +08:00
using Infrastructure;
using OpenAuth.App;
using OpenAuth.Domain;
2015-11-25 23:29:00 +08:00
using System;
2015-11-30 00:12:42 +08:00
using System.Linq;
2015-11-25 23:29:00 +08:00
using System.Web.Mvc;
2015-10-26 21:58:12 +08:00
namespace OpenAuth.Mvc.Controllers
{
public class ModuleManagerController : BaseController
{
2015-11-21 23:56:39 +08:00
private ModuleManagerApp _app;
public ModuleManagerController()
{
_app = (ModuleManagerApp)DependencyResolver.Current.GetService(typeof(ModuleManagerApp));
}
2015-10-26 21:58:12 +08:00
//
2015-11-21 23:56:39 +08:00
// GET: /ModuleManager/
2015-10-26 21:58:12 +08:00
public ActionResult Index()
{
return View();
}
2015-11-21 23:56:39 +08:00
2015-11-25 23:29:00 +08:00
//用于选择模块时使用
public ActionResult LookUpMultiForUser(int userId)
2015-11-25 23:29:00 +08:00
{
2015-11-27 18:10:11 +08:00
ViewBag.UserId = userId;
2015-11-25 23:29:00 +08:00
return View();
}
//为角色分配模块
public ActionResult LookupMultiForRole(int roleId)
{
ViewBag.RoleId = roleId;
return View();
}
2015-11-21 23:56:39 +08:00
/// <summary>
2015-11-22 15:55:26 +08:00
/// 加载模块下面的所有模块
2015-11-21 23:56:39 +08:00
/// </summary>
public string Load(int orgId, int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(orgId, pageCurrent, pageSize));
}
2015-11-22 15:55:26 +08:00
/// <summary>
2015-11-27 18:10:11 +08:00
/// 直接加载所有的模块
2015-11-22 15:55:26 +08:00
/// </summary>
2015-11-27 18:10:11 +08:00
public string LoadForTree()
2015-11-22 15:55:26 +08:00
{
2015-11-27 18:10:11 +08:00
var orgs = _app.LoadForTree();
2015-11-22 15:55:26 +08:00
//添加根节点
orgs.Add(new Module
{
Id = 0,
ParentId = -1,
2015-11-22 21:32:38 +08:00
Name = "根节点",
2015-11-22 15:55:26 +08:00
CascadeId = "0"
2015-11-27 18:10:11 +08:00
});
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);
}
public string LoadForRole(int roleId)
{
var orgs = _app.LoadForRole(roleId);
//添加根节点
orgs.Add(new Module
{
Id = 0,
ParentId = -1,
Name = "已为角色分配的模块",
CascadeId = "0"
});
return JsonHelper.Instance.Serialize(orgs);
}
public string AssignModuleForRole(int roleId, string moduleIds)
{
try
{
var ids = moduleIds.Split(',').Select(id => int.Parse(id)).ToArray();
_app.AssignModuleForRole(roleId, ids);
}
catch (Exception e)
{
BjuiResponse.message = e.Message;
BjuiResponse.statusCode = "300";
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
public string AssignModuleForUser(int userId, string moduleIds)
2015-11-30 00:12:42 +08:00
{
try
{
var ids = moduleIds.Split(',').Select(id => int.Parse(id)).ToArray();
_app.AssignModuleForUser(userId, ids);
2015-11-30 00:12:42 +08:00
}
catch (Exception e)
{
BjuiResponse.message = e.Message;
BjuiResponse.statusCode = "300";
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
2015-12-02 16:28:01 +08:00
#region
2015-11-22 21:32:38 +08:00
public ActionResult Add(int id = 0)
{
return View(_app.Find(id));
}
//添加或修改模块
[HttpPost]
public string Add(Module model)
2015-11-21 23:56:39 +08:00
{
2015-11-22 21:32:38 +08:00
try
{
_app.AddOrUpdate(model);
}
catch (Exception ex)
{
BjuiResponse.statusCode = "300";
BjuiResponse.message = ex.Message;
}
return JsonHelper.Instance.Serialize(BjuiResponse);
2015-11-21 23:56:39 +08:00
}
public string Delete(string Id)
{
try
{
foreach (var obj in Id.Split(','))
{
_app.Delete(int.Parse(obj));
}
}
catch (Exception e)
{
BjuiResponse.statusCode = "300";
BjuiResponse.message = e.Message;
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
2015-11-27 18:10:11 +08:00
#endregion
2015-12-02 16:28:01 +08:00
2015-11-21 23:56:39 +08:00
}
2015-10-26 21:58:12 +08:00
}