public ActionResult Handle(FormCollection collection) { var actionModules = _cache.Get(Constants.CACHE_KEY_ACTIONMODULE, () => _actionModule.GetList()); var selectedModuleId = DataCast.Get <int>(collection["SelectedModuleId"]); var moduleIDs = collection["ModuleId"]; var roleId = DataCast.Get <int>(collection["RoleId"]); var arrayModuleId = moduleIDs.Split(','); var list = new List <RoleRightEntry>(); foreach (var item in arrayModuleId) { var moduleId = int.Parse(item); var amList = actionModules.Where(x => x.ModuleId == moduleId); foreach (var model in amList) { var chkName = "ActionModule_" + model.ActionModuleId; var ramIdName = "RightId_" + model.ActionModuleId; var chkVal = collection[chkName]; var rightId = DataCast.Get <int>(collection[ramIdName]); var info = new RoleRightEntry { ActionModuleId = model.ActionModuleId, RoleId = roleId, RightId = rightId, Status = chkVal == "on" }; list.Add(info); } } var addList = list.Where(x => x.RightId == 0); var updateList = list.Where(x => x.RightId != 0); Utility.Operate(this, Operations.Save, () => { if (addList.Any()) { _roleRight.Add(addList); } if (updateList.Any()) { _roleRight.Update(updateList); } return(1); }); return(Redirect(string.Format("~/Admin/RoleRights/Index/{0}?roleId={1}", selectedModuleId, roleId))); }
public ActionResult Handle(FormCollection collection) { var actionModules = _cache.Get(Constants.CACHE_KEY_ACTIONMODULE, () => _actionModule.GetList()); var selectedModuleId = DataCast.Get<int>(collection["SelectedModuleId"]); var moduleIDs = collection["ModuleId"]; var roleId = DataCast.Get<int>(collection["RoleId"]); var arrayModuleId = moduleIDs.Split(','); var list = new List<RoleRightEntry>(); foreach (var item in arrayModuleId) { var moduleId = int.Parse(item); var amList = actionModules.Where(x => x.ModuleId == moduleId); foreach (var model in amList) { var chkName = "ActionModule_" + model.ActionModuleId; var ramIdName = "RightId_" + model.ActionModuleId; var chkVal = collection[chkName]; var rightId = DataCast.Get<int>(collection[ramIdName]); var info = new RoleRightEntry { ActionModuleId = model.ActionModuleId, RoleId = roleId, RightId = rightId, Status = chkVal == "on" }; list.Add(info); } } var addList = list.Where(x => x.RightId == 0); var updateList = list.Where(x => x.RightId != 0); Utility.Operate(this, Operations.Save, () => { if (addList.Any()) _roleRight.Add(addList); if (updateList.Any()) _roleRight.Update(updateList); return 1; }); return Redirect(string.Format("~/Admin/RoleRights/Index/{0}?roleId={1}", selectedModuleId, roleId)); }