public IActionResult UserPermissions(Guid userGuid) { try { var addItem = false; var loggedUser = Guid.Empty; if (userGuid == Guid.Empty) { loggedUser = UserHelper.CurrentUserGuid(HttpContext); } else { loggedUser = userGuid; } var userGroups = _groupUserService.GetGroupUserByUserGUID(loggedUser); var userGroupGuids = userGroups.Select(c => c.GroupGUID).ToList(); var list = new List <GroupPermissionApplicationModelView>(); var resources = _groupService.GetGroupResources(loggedUser); var applications = resources.Select(c => c.Application).Distinct().OrderBy(c => c).ToList(); foreach (var app in applications) { addItem = false; var item = new GroupPermissionApplicationModelView { Application = app, Resources = resources.Where(c => c.Application == app).AsEnumerable() }; foreach (var r in item.Resources) { r.Actions = _groupService.GetGroupResourceActions(userGroupGuids, r.ResourceGuid); if (r.Actions.Count() > 0) { addItem = true; } } if (addItem) { list.Add(item); } } return(Json(list)); } catch (Exception ex) { ModelState.Clear(); ModelState.AddModelError("", ex.Message); return(BadRequestFormatter.BadRequest(this, ex)); } }
public IActionResult ResourceGroup(Guid groupGuid) { try { var addItem = false; var list = new List <GroupPermissionApplicationModelView>(); var resources = _groupService.GetGroupResources(); var applications = resources.Select(c => c.Application).Distinct().OrderBy(c => c).ToList(); foreach (var app in applications) { addItem = false; var item = new GroupPermissionApplicationModelView { Application = app, Resources = resources.Where(c => c.Application == app).AsEnumerable() }; foreach (var r in item.Resources) { r.Actions = _groupService.GetGroupResourceActions(groupGuid, r.ResourceGuid); if (r.Actions.Count() > 0) { addItem = true; } } if (addItem) { list.Add(item); } } return(Json(list)); } catch (Exception ex) { ModelState.Clear(); ModelState.AddModelError("", ex.Message); return(BadRequestFormatter.BadRequest(this, ex)); } }