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);
            }
        }