Ejemplo n.º 1
0
        public async Task <bool> EditAdvancedAsync(EditAdvancedDetailsRequestModel request)
        {
            if (request.IsNotSpecified())
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.MissingUsersInformation);
            }
            if (request.UserId.IsNotSpecified())
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.MissingUsersInformation);
            }
            if (request.FirstName.IsNotSpecified())
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.MissingUsersInformation);
            }
            if (request.LastName.IsNotSpecified())
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.MissingUsersInformation);
            }
            if (request.RoleId.IsNotSpecified())
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.MissingUsersInformation);
            }
            if (await UserExists(request.UserId).ConfigureAwait(true) == false)
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.UserNotActive);
            }

            if (await RoleExists(request.RoleId).ConfigureAwait(true) == false)
            {
                throw new WebApiException(HttpStatusCode.BadRequest, UserErrorMessage.IncorrectUserRole);
            }

            return(await m_userRepository.EditAdvancedAsync(request).ConfigureAwait(true));
        }
Ejemplo n.º 2
0
        private async Task ChangeUserRole(EditAdvancedDetailsRequestModel request, ApplicationUser userForUpdate)
        {
            var userRoles = await m_userManager.GetRolesAsync(userForUpdate);

            ApplicationRole newUserRole = await m_roleManager.FindByIdAsync(request.RoleId.ToString()).ConfigureAwait(true);

            await m_userManager.RemoveFromRoleAsync(userForUpdate, userRoles.FirstOrDefault()).ConfigureAwait(true);;
            await m_userManager.AddToRoleAsync(userForUpdate, newUserRole.Name).ConfigureAwait(true);
        }
Ejemplo n.º 3
0
        public async Task <bool> EditAdvancedAsync(EditAdvancedDetailsRequestModel request)
        {
            ApplicationUser userForUpdate = await m_userManager.Users.FirstOrDefaultAsync(u => u.Id == request.UserId).ConfigureAwait(true);

            userForUpdate.FirstName   = request.FirstName;
            userForUpdate.LastName    = request.LastName;
            userForUpdate.PhoneNumber = request.Phone;

            await ChangeUserRole(request, userForUpdate);

            IdentityResult result = await m_userManager.UpdateAsync(userForUpdate).ConfigureAwait(true);

            return(result.Succeeded ? true : throw new WebApiException(HttpStatusCode.InternalServerError, UserErrorMessage.CouldNotUpdateUser));
        }
Ejemplo n.º 4
0
 public async Task <IActionResult> EditAdvanced([FromBody] EditAdvancedDetailsRequestModel request)
 {
     return(Ok(await _userService.EditAdvancedAsync(request).ConfigureAwait(true)));
 }