Пример #1
0
        public async Task <IActionResult> Post([Required][FromBody] RoleDto roleDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var ospRole = new OspRole();

            ApplyToRole(ospRole, roleDto);

            try
            {
                var result = await _roleManager.CreateAsync(ospRole);

                if (result.Succeeded)
                {
                    return(Ok());
                }

                return(BadRequest(new OperationFailedError("Creation of role failed",
                                                           result.Errors.Select(x => new FailedDetails {
                    Code = x.Code, Description = x.Description
                }))));
            }
            catch (Exception e)
            {
                return(BadRequest(new InternalServerError(e.Message)));
            }
        }
Пример #2
0
        private async Task CreateUsersAndRoles()
        {
            var adminRole = await _roleManager.FindByNameAsync(CommonConstants.AdministratorsRole);

            if (adminRole == null)
            {
                adminRole = new OspRole
                {
                    Name   = CommonConstants.AdministratorsRole,
                    Claims = new List <IdentityRoleClaim <string> >()
                };
                await _roleManager.CreateAsync(adminRole);
            }

            var userRole = await _roleManager.FindByNameAsync(CommonConstants.UsersRole);

            if (userRole == null)
            {
                userRole = new OspRole
                {
                    Name   = CommonConstants.UsersRole,
                    Claims = new List <IdentityRoleClaim <string> >()
                };
                await _roleManager.CreateAsync(userRole);
            }
        }
Пример #3
0
        private void ApplyToRole(OspRole ospRole, RoleDto roleDto)
        {
            if (!string.IsNullOrWhiteSpace(roleDto.Id))
            {
                ospRole.Id = new ObjectId(roleDto.Id);
            }

            ospRole.Name = roleDto.Name;
        }
Пример #4
0
        internal static RoleDto CreateRoleDto(OspRole ospRole)
        {
            var roleDto = new RoleDto
            {
                Id   = ospRole.Id.ToString(),
                Name = ospRole.Name,
            };

            return(roleDto);
        }