/// <summary> /// this method is used to get all permission list. /// </summary> /// <returns></returns> public List <RolePermissionAc> GetAllPermissionsList() { try { var rolePermissionCollection = new List <RolePermissionAc>(); var rolePermissionAc = new RolePermissionAc(); var permissionlist = new List <PermissionAc>(); foreach (var permission in _parentPermissionDataRepository.GetAll().ToList()) { var tree = new PermissionAc { PermissionId = permission.Id, Name = permission.Name, Children = ChildPermission(permission.Id) }; permissionlist.Add(tree); rolePermissionAc.Permission = permissionlist; } rolePermissionCollection.Add(rolePermissionAc); return(rolePermissionCollection); } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
/// <summary> /// this method is used to check role and permission /// </summary> /// <param name="roleId"></param> /// <returns></returns> public List <RolePermissionAc> CheckRoleAndPermission(int roleId) { try { var rolePermissionCollection = new List <RolePermissionAc>(); var rolePermissionAc = new RolePermissionAc(); rolePermissionAc.RoleId = roleId; var permissionlist = new List <PermissionAc>(); foreach (var permission in _parentPermissionDataRepository.GetAll().ToList()) { var tree = new PermissionAc { PermissionId = permission.Id, Name = permission.Name, Children = ChildPermission(permission.Id) }; foreach (var childPermission in tree.Children) { foreach (var rolePermission in _rolePermissionDataRepository.Fetch(x => x.RoleId == roleId).ToList()) { if (childPermission.PermissionId == rolePermission.ChildPermissionId) { childPermission.IsChecked = true; } } } permissionlist.Add(tree); rolePermissionAc.Permission = permissionlist; } rolePermissionCollection.Add(rolePermissionAc); return(rolePermissionCollection); } catch (Exception ex) { _errorLog.LogException(ex); throw; } }