public async Task <UpdateProfileUserViewModel> FindUserById(int Id) { var user = await this.FindByIdAsync(Id); if (user != null) { var profileUser = new UpdateProfileUserViewModel(); if (user.Address != null) { profileUser.Address = user.Address.Address; profileUser.PostalCode = user.Address.PostalCode; profileUser.City_Id = user.Address.City.Id; profileUser.Province_Id = user.Address.Province.Id; profileUser.Province = user.Address.Province.Name; profileUser.City = user.Address.City.Name; } profileUser.ReciveMessage = user.ReciveMessage; profileUser.Name = user.Name; profileUser.Family = user.Family; profileUser.Id = user.Id; profileUser.Phone = user.PhoneNumber; profileUser.Email = user.Email; profileUser.StatusDisableUser = user.DisableUser; profileUser.DateDisableUser = user.DateDisableUser; return(profileUser); } else { return(null); } }
public async virtual Task <ActionResult> CompleteInformation(UpdateProfileUserViewModel model) { if (!ModelState.IsValid) { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.Invalid), Status = AlertMode.warning })); } var user = await _userManager.FindByIdAsync(User.Identity.GetUserId <int>()); AddressUser newAddress = new AddressUser(); newAddress.City = _cityService.GetById(model.City_Id); newAddress.Province = _provinceService.GetById(model.Province_Id);; newAddress.PostalCode = model.PostalCode; newAddress.Address = model.Address; if (user.Address != null) { user.Address.Province = newAddress.Province; user.Address.City = newAddress.City; user.Address.PostalCode = newAddress.PostalCode; user.Address.Address = newAddress.Address; } else { user.Address = newAddress; } user.PhoneNumber = model.Phone; user.Name = model.Name; user.Family = model.Family; user.ReciveMessage = model.ReciveMessage; var resultOperation = await _userManager.UpdateAsync(user); if (resultOperation.Succeeded) { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.SuccsessUpdate), Status = AlertMode.success })); } else { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.FailUpdate), Status = AlertMode.warning })); } }
public virtual async Task <ActionResult> UpdateProfile(UpdateProfileUserViewModel userProfile, params string[] selectedRole) { var user = await _userManager.FindByIdAsync(userProfile.Id); AddressUser newAddress = new AddressUser(); newAddress.City = _cityService.GetById(userProfile.City_Id); newAddress.Province = _provinceService.GetById(userProfile.Province_Id);; newAddress.PostalCode = userProfile.PostalCode; newAddress.Address = userProfile.Address; if (user.Address != null) { user.Address.Province = newAddress.Province; user.Address.City = newAddress.City; user.Address.PostalCode = newAddress.PostalCode; user.Address.Address = newAddress.Address; } else { user.Address = newAddress; } user.PhoneNumber = userProfile.Phone; user.ReciveMessage = userProfile.ReciveMessage; user.Name = userProfile.Name; user.Family = userProfile.Family; var resultOperation = await _userManager.UpdateAsync(user); if (resultOperation.Succeeded) { var userRoles = await _userManager.GetRolesAsync(user.Id); selectedRole = selectedRole ?? new string[] { }; var result = await _userManager.AddToRolesAsync(user.Id, selectedRole.Except(userRoles).ToArray()); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.FailUpdate), Status = AlertMode.warning })); } result = await _userManager.RemoveFromRolesAsync(user.Id, userRoles.Except(selectedRole).ToArray()); return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.SuccsessUpdate), Status = AlertMode.success })); } else { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.FailUpdate), Status = AlertMode.warning })); } }