//public List<VM.SimpleData.RoleModel> GetUserRoles(int userId) //{ // var query = from p in _Context.RoleUser // where p.UserID == userId // select p.Role; // var items = query.ToList(); // //Convert to view model // var roleList = ConvertToRoleViewModel(items); // return roleList; //} //public List<VM.SimpleData.RoleModel> GetRoleList() //{ // var query = from p in _Context.Role // select p; // var items = query.ToList(); // //Convert to view model // var roleList = ConvertToRoleViewModel(items); // return roleList; //} //private List<VM.RoleModel> ConvertToRoleViewModel(List<MD.Common.Role> items) //{ // List<VM.RoleModel> roleList = null; // if (items.Count > 0) // { // roleList = new List<VM.RoleModel>(); // foreach (var item in items) // { // var role = new VM.RoleModel(); // role.RoleID = item.ID; // role.RoleName = item.RoleName; // roleList.Add(role); // } // } // return roleList; //} private bool ComparePermissionItem(VM.Common.PermissionItem x, MD.Common.vw_Authen_RolePermissions y) { if (x == null) { return(false); } if (y == null) { return(false); } if (string.Compare(x.Area, y.Area, true) != 0) { return(false); } if (string.Compare(x.Controller, y.Controller, true) != 0) { return(false); } if (string.Compare(x.ActionName, y.ActionName, true) != 0) { return(false); } if (x.HasActionPermission != y.HasActionPermission) { return(false); } return(true); }
private List <VM.Common.PermissionItem> ConvertToPermissionViewModel(List <MD.Common.vw_Authen_RolePermissions> items) { var permissions = new List <VM.Common.PermissionItem>(); var isFrist = true; VM.Common.PermissionItem permission = null; foreach (var item in items) { if (isFrist) { permission = new VM.Common.PermissionItem(); isFrist = false; } else { if (ComparePermissionItem(permission, item)) { permission.RoleList.Add(item.RoleID); continue; } else { permissions.Add(permission); permission = new VM.Common.PermissionItem(); } } permission.Area = item.Area == null ? "" : item.Area.ToLowerInvariant(); permission.Controller = item.Controller.ToLowerInvariant(); permission.ActionName = item.ActionName.ToLowerInvariant(); permission.HasActionPermission = item.HasActionPermission; permission.RoleList.Add(item.RoleID); } permissions.Add(permission); return(permissions); }