public IActionResult ResetPasswordInitiation(ResetPasswordInitiationViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = getUserByEmail.Invoke(model.Email, model.DomainName); if (user == null) { Alert.Danger("We don't have this account in database"); return(View(model)); } var token = addUserTokenToUser.Invoke(user.Id); var callbackUrl = Url.Action("ResetPasswordByToken", "Auth", new { token }, Request.Scheme); var emailInfo = new EmailBodyHelper().GetResetPasswordBodyModel(callbackUrl); var stringView = RenderViewToString("EmailTemplate", emailInfo); var message = emailService.CreateMessage(model.Email, "Reset your password", stringView); var mappedMessage = AutoMapper.Mapper.Map <EmailMessageModel>(message); addNewEmailMessage.Invoke(mappedMessage); Alert.Success("Email will be sent to your account shortly"); return(RedirectToAction("Login")); }
public void Test_GetTemplate_UserActionNeeded() { string strContents; EmailBodyHelper objEmailBodyHelper = new EmailBodyHelper(); Assert.IsTrue(objEmailBodyHelper.GetTemplateFileContents(EmailTemplates.EmailTemplate_UserActionNeededReminder, out strContents)); Assert.IsTrue(string.IsNullOrEmpty(strContents) == false); }
public void Test_GetTemplate() { string strContents; EmailBodyHelper objEmailBodyHelper = new EmailBodyHelper(); Assert.IsTrue(objEmailBodyHelper.GetTemplateFileContents(EmailTemplates.EmailTemplate_Stats, out strContents)); Assert.IsTrue(string.IsNullOrEmpty(strContents) == false); }
public IActionResult CreateDomain(CreateDomainViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var domain = addNewDomain.Invoke(new DomainModel { Name = model.DomainName }); if (domain == Guid.Empty) { ModelState.AddModelError("DomainName", "This domain already exists in our database"); return(View(model)); } var userModel = new UserModel { Email = model.Email, Password = model.Password, Name = model.Name, Domain = new DomainModel { Id = domain } }; var userAddAction = addNewUser.Invoke(userModel); if (userAddAction == null) { Alert.Danger("User already exists"); return(View()); } var callbackUrl = Url.Action("ConfirmEmail", "Auth", new { token = userAddAction.Tokens.FirstOrDefault().SecretToken }, Request.Scheme); var emailinfo = new EmailBodyHelper().GetRegisterEmailBodyModel(callbackUrl); var stringView = RenderViewToString("EmailTemplate", emailinfo); var message = emailService.CreateMessage(model.Email, "Confirm your account", stringView); var mappedMessage = AutoMapper.Mapper.Map <EmailMessageModel>(message); addNewEmailMessage.Invoke(mappedMessage); setDomainOwner.Invoke(userAddAction.Id, domain); var role = getRoleByName.Invoke(RoleNamesConstants.Owner); // Add user to UserDomains table addUserToDomain.Invoke(userAddAction.Id, domain, role.Id); Alert.Success("Confirmation email has been sent to your email address"); return(RedirectToAction("Login", "Auth", new { domainName = model.DomainName })); }
public IActionResult ResendConfirmationEmail(ResendConfirmationEmailViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = getUserByEmail.Invoke(model.Email, model.DomainName); if (user == null) { Alert.Danger("We don't have this account in database"); return(View(model)); } if (user.EmailConfirmedOn != null) { Alert.Info("Email already confirmed"); return(RedirectToAction("Login")); } var token = addUserTokenToUser.Invoke(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Auth", new { token }, Request.Scheme); var emailInfo = new EmailBodyHelper().GetRegisterEmailBodyModel(callbackUrl); var stringView = RenderViewToString("EmailTemplate", emailInfo); var message = emailService.CreateMessage(model.Email, "Confirm your account", stringView); var mappedMessage = AutoMapper.Mapper.Map <EmailMessageModel>(message); addNewEmailMessage.Invoke(mappedMessage); Alert.Success("Check your inbox"); return(RedirectToAction("Login")); }