Exemple #1
0
        public async Task <StatusResponse> UpdateUser(UpdateInformationFromUserDAO update)
        {
            var user = await _userManager.FindByNameAsync(update.UserName);

            user.IsActive = update.IsActive;
            _context.Entry(user).State = EntityState.Modified;
            _context.SaveChanges();
            if (update.IsRoleReversal)
            {
                var roles = await _userManager.GetRolesAsync(user);

                bool           IsSuccess  = true;
                IdentityResult removeRole = null;
                IdentityResult addRole    = null;

                foreach (var item in roles)
                {
                    if (item == update.OldRoleName)
                    {
                        removeRole = await _userManager.RemoveFromRoleAsync(user, update.OldRoleName);

                        addRole = await _userManager.AddToRoleAsync(user, update.NewRoleName);
                    }
                    if (!removeRole.Succeeded || !addRole.Succeeded)
                    {
                        IsSuccess = false;
                    }
                }

                if (!IsSuccess)
                {
                    return(new StatusResponse
                    {
                        StatusCode = HttpStatusCode.Conflict,
                        Message = "Error al intentar actualizar informacion del usuario, favor de verificar"
                    });
                }
                else
                {
                    return(new StatusResponse
                    {
                        StatusCode = HttpStatusCode.OK,
                        Message = "Información actualizada correctamente"
                    });
                }
            }
            else
            {
                return(new StatusResponse
                {
                    StatusCode = HttpStatusCode.OK,
                    Message = "Información actualizada correctamente"
                });
            }
        }
        public async Task <IActionResult> UpdateUser([FromBody] UpdateInformationFromUserDAO update)
        {
            var response = await _registerRepository.UpdateUser(update);

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                return(Ok(new Response {
                    Status = response.StatusCode.ToString(), Message = response.Message
                }));
            }
            else
            {
                return(StatusCode((int)response.StatusCode, new Response {
                    Status = response.StatusCode.ToString(), Message = response.Message
                }));
            }
        }