public async Task <IActionResult> UpdateRole(CreateRoleResource createRoleResource)
        {
            if (ModelState.IsValid)
            {
                var role = await roleManager.FindByIdAsync(createRoleResource.Id);

                if (role == null)
                {
                    ModelState.AddModelError("", $"Role with Id: ({createRoleResource.Id}) cannot be found");
                    return(new NotFoundObjectResult(new NotFoundResource(ModelState)));
                }
                else
                {
                    this.mapper.Map <CreateRoleResource, IdentityRole>(createRoleResource, role);
                    var result = await roleManager.UpdateAsync(role);

                    if (result.Succeeded)
                    {
                        await this.unitOfWork.CompleteAsync();

                        return(new OkObjectResult(new { message = $"Role with Id: ({createRoleResource.Id}) was updated" }));
                    }

                    foreach (IdentityError error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
            }

            return(new BadRequestObjectResult(new BadRequestResource(ModelState)));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateRole([FromBody] CreateRoleResource model)
        {
            try
            {
                IdentityResult result;
                var            roleCheck = await _roleManager.RoleExistsAsync(model.Name);

                if (roleCheck)
                {
                    return(BadRequest("Role exist!"));
                }
                var roleIdentity = _mapper.Map <CreateRoleResource, ApplicationRole>(model);
                result = await _roleManager.CreateAsync(roleIdentity);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
        public async Task <IActionResult> CreateRole([FromBody] CreateRoleResource roleResource)
        {
            if (ModelState.IsValid)
            {
                var applicationRole = this.mapper.Map <CreateRoleResource, ApplicationRole>(roleResource);

                var result = await roleManager.CreateAsync(applicationRole);

                if (result.Succeeded)
                {
                    await this.unitOfWork.CompleteAsync();

                    return(new OkObjectResult(new { message = $"New role with name ({roleResource.RoleName}) was created" }));
                }
                foreach (IdentityError error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }

            return(new BadRequestObjectResult(new BadRequestResource(ModelState)));
        }