/// <summary> /// Reloads the feature permissions. /// </summary> /// <param name="id">The role identifier.</param> /// <param name="hierarchyId">The hierarchy identifier.</param> /// <returns>Partial View</returns> public async Task <ActionResult> ReloadFeaturePermissions(int id, int hierarchyId) { try { SPRoleViewModel roleVM = new SPRoleViewModel(); var roleList = new SPRoleDto(); var responseRoles = await Get("SPRole/GetRoleById/" + id); if (responseRoles.StatusCode == HttpStatusCode.OK) { roleList = await responseRoles.Content.ReadAsAsync <SPRoleDto>(); roleVM = roleMapper.ToObject(roleList); Session["role"] = roleList; } var responseFeatures = await Get("Hierarchy/GetFeatureByHierarchy/" + hierarchyId); List <SPFeatureViewModel> features = new List <SPFeatureViewModel>(); if (responseFeatures.StatusCode == HttpStatusCode.OK) { var featureList = await responseFeatures.Content.ReadAsAsync <IEnumerable <SPFeatureDto> >(); features = featureMapper.ToObjects(featureList).ToList(); } var responseCategories = await Get("SPCategory/GetAllCategories"); List <SPCategoryViewModel> categories = new List <SPCategoryViewModel>(); if (responseCategories.StatusCode == HttpStatusCode.OK) { var categoryList = await responseCategories.Content.ReadAsAsync <IEnumerable <SPCategoryDto> >(); categories = categoryMapper.ToObjects(categoryList).ToList(); } var hierarchies = await GetAllHierarchies(); roleVM = SetSPRoleViewModel(roleVM, categories, features, hierarchies); List <string> checkedPermissions = new List <string>(); checkedPermissions = SetPermissions(roleList, checkedPermissions); return(Json(new { Status = 1, Data = RenderRazorViewToString("_FeaturePermissionsList", roleVM), IsActive = roleVM.IsActive, checkedPermissions, SelectedHomePage = roleVM.SPMenuId })); } catch (Exception ex) { logger.Error(ex.Message); return(Json(new { Status = 0, Data = "error", Message = ex.Message })); } }
/// <summary> /// Sets the permissions. /// </summary> /// <param name="roleList">The i role.</param> /// <param name="checkedPermissions">The checked permissions.</param> /// <returns>return permissions</returns> public List <string> SetPermissions(SPRoleDto roleList, List <string> checkedPermissions) { try { foreach (var item in roleList.RolePermissions) { if (item.ReadPermission == true) { checkedPermissions.Add("readcheckboxEdit_" + item.FeatureId); } if (item.CreatePermission == true) { checkedPermissions.Add("createcheckboxEdit_" + item.FeatureId); } if (item.UpdatePermission == true) { checkedPermissions.Add("updatecheckboxEdit_" + item.FeatureId); } if (item.DeletePermission == true) { checkedPermissions.Add("deletecheckboxEdit_" + item.FeatureId); } if (item.ApprovePermission == true) { checkedPermissions.Add("approvecheckboxEdit_" + item.FeatureId); } if (item.DeAvtivatePermission == true) { checkedPermissions.Add("deactivatecheckboxEdit_" + item.FeatureId); } } return(checkedPermissions); } catch (Exception ex) { logger.Error(ex.Message); return(null); } }