using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Service;
using Domain;
namespace WebSite.Controllers
{
public class SysRoleGroupController : BaseController
{
private const int AuthorityID = 55;
public ISysRoleManager SysRoleManager { get; set; }
public ISysUserManager SysUserManager { get; set; }
public ISysAuthorityManager SysAuthorityManager { get; set; }
public ISysHotelGroupManager SysHotelGroupManager { get; set; }
public ISysHotelManager SysHotelManager { get; set; }
#region Action
[Authorize]
public ActionResult Index()
{
return View("SimonIndex");
}
[Authorize]
public ActionResult Edit(int? id)
{
if (id.HasValue)
{
return View(SysRoleManager.Get(id));
}
return View(new SysRole { ID = 0, Name = "", Sort = 1, Remark = "" });
}
//[Authorize]
//public ActionResult LoadAllByPage(int page, int rows, string order, string sort)
//{
// long total = 0;
// var list = this.SysRoleManager.LoadAllByPage(out total, page, rows, order, sort);
// var result = new { total = total, rows = list };
// return Json(result);
//}
///
/// 装载到下拉框控件
///
///
///
[Authorize]
public ActionResult LoadAll(int? groupId)
{
//装载只有在该酒店分组下,且已授权访问酒店下的角色
SysUsers user = this.SysUserManager.Get(User.Identity.Name);//当前用户角色不装载出来
IList roles = SysRoleManager.LoadAll().Where(r => r.ID != 1 && r.ID != user.Role.ID && r.HotelID == 0 && r.SysHotelGroup.ID != user.SysHotelGroup.ID).OrderBy(o => o.Sort).ToList();
if (groupId.HasValue && groupId != 1)
{
roles = roles.Where(r => r.SysHotelGroup.ID == groupId || (r.SysHotelGroup.Parent != null && r.SysHotelGroup.Parent.ID == groupId)
|| (r.SysHotelGroup.Parent != null && r.SysHotelGroup.Parent.Parent != null && r.SysHotelGroup.Parent.Parent.ID == groupId)).ToList();
}
IList