Ejemplo n.º 1
0
        public RoleAccessPathsDto GetAccessPathsForRole(string roleId)
        {
            var result = new RoleAccessPathsDto();

            var role = _identityRepository.GetRoleById(roleId);

            if (role != null)
            {
                result.RoleId   = role.Id;
                result.Rolename = role.Name;

                var roleAccessPaths = _identityRepository.GetAccessPathsByRoleId(roleId).ToList();
                foreach (var roleAccessPath in roleAccessPaths)
                {
                    result.AccessPaths.Add(new AccessPathDto
                    {
                        ParentId = roleAccessPath.AccessPath.ParentId,
                        Id       = roleAccessPath.AccessPathId,
                        Title    = roleAccessPath.AccessPath.Title,
                        Priority = roleAccessPath.AccessPath.Priority,
                        Path     = roleAccessPath.AccessPath.Path
                    });
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public IHttpActionResult Update(RoleAccessPathsDto roleAccessPaths)
        {
            if (roleAccessPaths.RoleId == null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                _authService.UpdateRoleAccessPaths(roleAccessPaths);

                return(Ok(new
                {
                    message = "count: " + roleAccessPaths.AccessPaths.Count
                              + " access path(s) assigned"
                }));
            }
            catch (LogicalException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (TransactionAbortedException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch
            {
                return(BadRequest(AppSettings.INTERNAL_SERVER_ERROR_MESSAGE));
            }
        }
Ejemplo n.º 3
0
        public void UpdateRoleAccessPaths(RoleAccessPathsDto roleAccessPaths)
        {
            string roleId = roleAccessPaths.RoleId;

            using (var scope = new TransactionScope())
            {
                var accessPathIds = roleAccessPaths.AccessPaths.Select(x => x.Id).ToList();
                //remove all
                RemoveAllRoleAccessPaths(roleId);
                //add new ones
                AddRoleAccessPaths(roleId, accessPathIds);

                scope.Complete();
            }
        }