public async Task <ActionResult> EditWebsite(ProfileEditWebsiteModel model) { if (!ModelState.IsValid) { return(View()); } try { var svcWebsiteData = new MUser_UpdateWebsite() { WebsiteUrl = model.WebsiteUrl }; await UserMicroService.UpdateWebsiteAsync(GetUserId(), svcWebsiteData); AddFeedbackMessage(Feedback.FeedbackMessageTypes.Informational, "Website changed."); return(RedirectToAction("Index")); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <ActionResult> ForgotPassword(LoginForgotPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var user = await UserMicroService.GetUserByNameAsync(model.Email); if (user == null) { throw new ServiceException("Invalid user ID or password."); } var userId = user.UserId; var isConfirmed = await UserMicroService.GetEmailConfirmedAsync(userId); if (isConfirmed) { await SendEmailResetAsync(userId); } return(RedirectToAction("ForgotPasswordConfirmation", "Login")); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <ActionResult> EditTimeZone(ProfileEditTimeZoneModel model) { if (!ModelState.IsValid) { if (model.TimeZones == null) { model.TimeZones = GetTimeZones(string.IsNullOrEmpty(model.TimeZoneId)); } return(View(model)); } try { var svcTimeZoneData = new MUser_UpdateTimeZone() { TimeZoneId = model.TimeZoneId }; await UserMicroService.UpdateTimeZoneAsync(GetUserId(), svcTimeZoneData); UserLocale.RemoveFrom(HttpContext); AddFeedbackMessage(Feedback.FeedbackMessageTypes.Informational, "Timezone changed."); return(RedirectToAction("Index")); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <ActionResult> Index() { var svcProfileDetailData = await UserMicroService.GetUserAsync(GetUserId()); var model = ModelFactory.CreateProfileDetailModel(svcProfileDetailData); return(View(model)); }
private async Task SendEmailResetAsync(string userId) { var code = await UserManagementMicroService.GeneratePasswordResetTokenAsync(userId); var callbackUrl = Url.Action("ResetPassword", "Login", values: new { userId, code }, protocol: Request.Scheme); await UserMicroService.SendResetEmailAsync(userId, callbackUrl); }
private async Task SendConfirmationEmailAsync(string userId) { var code = await UserManagementMicroService.GenerateEmailConfirmationTokenAsync(userId); var callbackUrl = Url.Action("ConfirmEmail", "Login", values: new { userId, code }, protocol: Request.Scheme); await UserMicroService.SendConfirmationEmailAsync(userId, callbackUrl); }
public async Task <ActionResult> EditShippingAddress() { var svcProfileDetailData = await UserMicroService.GetUserAsync(GetUserId()); var model = ModelFactory.CreateProfileEditShippingAddressModel(svcProfileDetailData); model.StateCodes = GetStateCodes(string.IsNullOrEmpty(model.StateCode)); return(View(model)); }
public async Task <ActionResult> Index(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View()); } try { var user = await UserMicroService.GetUserByNameAsync(model.Email); if (user == null) { throw new ServiceException("Invalid user ID or password."); } var userId = user.UserId; var confirmed = await UserMicroService.GetEmailConfirmedAsync(userId); if (!confirmed) { await SendConfirmationEmailAsync(userId); AddModelError("Your email address has not been confirmed. A confirmation email has been sent."); return(View()); } var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.IsPersistent, lockoutOnFailure : true); if (result.IsLockedOut) { AddModelError("This account has been locked out. Please reset your password to recover."); return(View()); } else if (result.RequiresTwoFactor) { // Used by two-factor authentication. return(View()); } else if (!result.Succeeded) { AddModelError("Invalid user ID or password."); return(View()); } UserLocale.RemoveFrom(HttpContext); return(RedirectToLocal(returnUrl)); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <ActionResult> EditEmail() { var svcProfileDetailData = await UserMicroService.GetUserAsync(GetUserId()); var model = new ProfileEditEmailModel() { Email = svcProfileDetailData.Email }; return(View(model)); }
public async Task <ActionResult> EditNickname() { var svcProfileDetailData = await UserMicroService.GetUserAsync(GetUserId()); var model = new ProfileEditNicknameModel() { Nickname = svcProfileDetailData.NickName }; return(View(model)); }
public async Task <ActionResult> EditTimeZone() { var svcProfileDetailData = await UserMicroService.GetUserAsync(GetUserId()); var model = new ProfileEditTimeZoneModel() { TimeZoneId = svcProfileDetailData.TimeZoneId }; model.TimeZones = GetTimeZones(string.IsNullOrEmpty(model.TimeZoneId)); return(View(model)); }
public async Task <ActionResult> DeleteShippingAddress() { try { await UserMicroService.UpdateShippingAddressAsync(GetUserId(), null); return(RedirectToAction("Index")); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <ActionResult> ResetPassword(string userId, string code) { try { var email = await UserMicroService.GetUserEmailAsync(userId); var model = new LoginResetPasswordViewModel() { UserId = userId, Code = code, Email = email }; return(View(model)); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <ActionResult> EditShippingAddress(ProfileEditShippingAddressModel model) { //if (!ControllerModelFactory.IsValidPostalCode(model.PostalCode)) //{ // ModelState.AddModelError("PostalCode", "Invalid postal code."); //} if (!ModelState.IsValid) { if (model.StateCodes == null) { model.StateCodes = GetStateCodes(string.IsNullOrEmpty(model.StateCode)); } return(View(model)); } try { var svcShippingAddressData = new MUser_UpdateShippingAddress() { AddressLine1 = Trim(model.AddressLine1), AddressLine2 = Trim(model.AddressLine2), City = Trim(model.City), StateCode = Trim(model.StateCode), PostalCode = ModelFactory.ParsePostalCode(model.PostalCode), CountryCode = Trim(model.CountryCode) ?? "US" }; await UserMicroService.UpdateShippingAddressAsync(GetUserId(), svcShippingAddressData); AddFeedbackMessage(Feedback.FeedbackMessageTypes.Informational, "Shipping address changed."); return(RedirectToAction("Index")); } catch (ServiceException ex) { AddModelErrors(ex); return(View()); } }
public async Task <AUser_UserSummaryList> GetUsersAsync(AUser_GetUsers request) { using var log = BeginFunction(nameof(UserAdminService), nameof(GetUsersAsync), request); try { await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false); var mSummaries = await UserMicroService.GetUserSummariesAsync(request.UserName, request.Role, request.RecordCount); var result = new AUser_UserSummaryList() { MSummaries = mSummaries }; log.Result(result); return(result); } catch (Exception ex) { log.Exception(ex); throw; } }