public async Task <ActionResult> UpdateUser(UpdateRegisterBindingModel userVM) { try { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userData.AccessToken); HttpResponseMessage responseMessage = await client.PostAsJsonAsync(_url + "Account/UpdateUser", userVM); if (responseMessage.IsSuccessStatusCode) { var result = responseMessage.Content.ReadAsStringAsync().Result; var statusResult = JsonConvert.DeserializeObject <StatusResult>(result); if (statusResult.Status.Equals(Status.Success.ToString())) { Log.Info(Logfornet.LogMessage(userVM.FirstName, "UpdateUser", ErrorMessages.Success, "")); return(Json(statusResult.Status, JsonRequestBehavior.AllowGet)); } else { Log.Info(Logfornet.LogMessage(userVM.FirstName, "UpdateUser", statusResult.Status, "")); errorMessage = statusResult.Status; } } else { Log.Info(Logfornet.LogMessage(userVM.FirstName, "UpdateUser", responseMessage.StatusCode, "")); errorMessage = responseMessage.StatusCode.ToString(); } return(Json(errorMessage, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Log.Info(Logfornet.LogMessage(userVM.FirstName, "UpdateUser", ex.Message, "")); return(Json(ex.Message, JsonRequestBehavior.AllowGet)); } }
public async Task <StatusResult> UpdateUser(UpdateRegisterBindingModel model) { StatusResult c = new Models.StatusResult(); try { if (!ModelState.IsValid) { c.Status = Status.BadRequest.ToString(); c.Result = BadRequest(); return(c); } if (User.IsInRole(Roles.SuperAdmin) || User.IsInRole(Roles.PortalAdmin) || User.IsInRole(Roles.AccountAdmin)) { var user = UserManager.FindByEmailAsync(model.Email).Result; if (user != null) { user.Title = CommonFunctions.Trimstring(model.Title); user.IsActive = model.IsActive; user.FirstName = CommonFunctions.Trimstring(model.FirstName); user.LastName = CommonFunctions.Trimstring(model.LastName); user.ModifiedOn = DateTime.Now; user.ModifiedBy = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value; IdentityResult result = await UserManager.UpdateAsync(user); if (result.Succeeded) { await UserManager.RemoveFromRolesAsync(user.Id, UserManager.GetRolesAsync(user.Id).Result.ToArray()); var UpdatedRoles = await UserManager.AddToRolesAsync(user.Id, model.RoleName.Split(',').ToArray()); if (!UpdatedRoles.Succeeded) { c.Status = Status.Fail.ToString(); c.Result = string.Join(",", result.Errors.ToArray()); return(c); } c.Status = Status.Success.ToString(); c.Result = user; return(c); } else { c.Status = Status.Fail.ToString(); c.Result = string.Join(",", result.Errors.ToArray()); return(c); } } else { c.Status = Status.Fail.ToString(); c.Result = "User not registered."; return(c); } } else { c.Status = Status.NoAccess.ToString(); c.Result = "Access."; return(c); } } catch (Exception ex) { c.Status = Status.InternalServerError.ToString(); c.Result = ex.InnerException; return(c); } }