public ActionResult EditAccount(SantaUserPostModel model) { if (_userRepository.WasAssigned()) { return(View("Message", model: Resources.Global.Message_CannotEditAccountAfterAssignment)); } var userId = GetUserId(); if (!userId.HasValue) { return(RedirectToAction("Index", "Home")); } if (!ModelState.IsValid) { return(View(model)); } // set the correct fb uri: model.FacebookProfileUrl = FacebookUriHelper.GetUniformFacebookUri(model.FacebookProfileUrl); if (model.FacebookProfileUrl == null) { ModelState.AddModelError(nameof(SantaUserPostModel.FacebookProfileUrl), Resources.Global.FacebookURL_Invalid); return(View(model)); } var updateModel = _mapper.Map <SantaUser>(model); updateModel.Id = userId.Value; var updateResult = _userRepository.UpdateUser(updateModel); if (!updateResult.Success) { if (updateResult.EmailUnavailable) { ModelState.AddModelError(nameof(SantaUserPostModel.Email), Resources.Global.EmailTaken); return(View(model)); } return(View("Message", model: Resources.Global.Message_Error)); } if (updateResult.EmailChanged) { _emailService.SendConfirmationEmail(updateModel); // sign out, email is used to find people in the user db! HttpContext.GetOwinContext().Authentication .SignOut(DefaultAuthenticationTypes.ApplicationCookie); return(View("Message", model: string.Format(Resources.Global.User_Edit_EmailSent, updateModel.Email))); } return(RedirectToAction("Index")); }
public ActionResult EditAccount() { if (_userRepository.WasAssigned()) { return(View("Message", model: Resources.Global.Message_CannotEditAccountAfterAssignment)); } var userId = GetUserId(); if (!userId.HasValue) { return(RedirectToAction("Index", "Home")); } var santaUser = _userRepository.GetUser(userId.Value); SantaUserPostModel model = _mapper.Map <SantaUserViewModel>(santaUser); return(View(model)); }