public async Task <IdentityMessageModel> GenerateRecoveryEmail(UserLanguageEnum letterLanguage, string email, string verificationToken, FrontClientType frontClient) { string mainUrl = ""; if (frontClient == FrontClientType.AdminPanel) { mainUrl = _baseAdminUrl; } else if (frontClient == FrontClientType.WebClient) { mainUrl = _baseClientUrl; } else { throw new Exception("Unsupported front_client_type"); } var confirmationLink = $"{mainUrl}/account/recovery_password/{HttpUtility.UrlEncode(verificationToken)}/{HttpUtility.UrlEncode(email)}"; var subject = _emailContentBuilderManager.GetSubject(letterLanguage, LetterTypeEnum.RecoveryPassword); var letterParams = new LetterTextParamsModel() { LetterLanguage = letterLanguage, TypeContact = ContactTypeEnum.Email, LetterType = LetterTypeEnum.RecoveryPassword, Params = new Dictionary <string, string>() { { "contact", email }, { "confirmationLink", confirmationLink } } }; return(await BuildMessageResultModelAsync(letterParams, email, subject)); }
public async Task <IdentityMessageModel> GenerateVerificationSms(UserLanguageEnum letterLanguage, string phone, string verificationToken) { var subject = _smsContentBuilderManager.GetSubject(letterLanguage, LetterTypeEnum.ContactVerification); var letterParams = new LetterTextParamsModel() { LetterLanguage = letterLanguage, LetterType = LetterTypeEnum.ContactVerification, TypeContact = ContactTypeEnum.Phone, Params = new Dictionary <string, string>() { { "contact", phone }, { "confirmationLink", verificationToken } } }; return(await BuildMessageResultModelAsync(letterParams, phone, subject)); }
public async Task <IdentityMessageModel> GenerateSuppotEmail(UserLanguageEnum letterLanguage, string email, string question, string answer) { var subject = _emailContentBuilderManager.GetSubject(letterLanguage, LetterTypeEnum.SupportService); var letterParams = new LetterTextParamsModel() { LetterLanguage = letterLanguage, TypeContact = ContactTypeEnum.Email, LetterType = LetterTypeEnum.SupportService, Params = new Dictionary <string, string>() { { "question", question }, { "answer", answer } } }; return(await BuildMessageResultModelAsync(letterParams, email, subject)); }
// Defines email's subject public virtual string GetSubject(UserLanguageEnum letterLanguage, LetterTypeEnum letterType) { if (letterLanguage == UserLanguageEnum.Russian && letterType == LetterTypeEnum.RecoveryPassword) { return("Подтверждение восстановления пароля"); } if (letterLanguage == UserLanguageEnum.Ukrainian && letterType == LetterTypeEnum.RecoveryPassword) { return("Підтвердження відновлення пароля"); } if (letterLanguage == UserLanguageEnum.English && letterType == LetterTypeEnum.RecoveryPassword) { return("Password recovery confirmation"); } if (letterLanguage == UserLanguageEnum.Russian && letterType == LetterTypeEnum.ContactVerification) { return("Проверка адреса электронной почты"); } if (letterLanguage == UserLanguageEnum.Ukrainian && letterType == LetterTypeEnum.ContactVerification) { return("Перевірка електронної адреси"); } if (letterLanguage == UserLanguageEnum.English && letterType == LetterTypeEnum.ContactVerification) { return("Verification of email address"); } if (letterLanguage == UserLanguageEnum.Russian && letterType == LetterTypeEnum.SupportService) { return("Служба поддержки (Название магазина)"); } if (letterLanguage == UserLanguageEnum.Ukrainian && letterType == LetterTypeEnum.SupportService) { return("Служба підтримки (Назва магазину)"); } if (letterLanguage == UserLanguageEnum.English && letterType == LetterTypeEnum.SupportService) { return("(My shop title) support service"); } Log.Current.Error("Unsupported letterType"); return("(Shop title)"); }
public async Task <IdentityMessageModel> GenerateVerificationEmail(UserLanguageEnum letterLanguage, string email, string verificationToken) { var confirmationLink = $"{_baseClientUrl}/account/confirm_email/{HttpUtility.UrlEncode(verificationToken)}/{HttpUtility.UrlEncode(email)}"; var subject = _emailContentBuilderManager.GetSubject(letterLanguage, LetterTypeEnum.ContactVerification); var letterParams = new LetterTextParamsModel() { LetterLanguage = letterLanguage, TypeContact = ContactTypeEnum.Email, LetterType = LetterTypeEnum.ContactVerification, Params = new Dictionary <string, string>() { { "contact", email }, { "confirmationLink", confirmationLink } } }; return(await BuildMessageResultModelAsync(letterParams, email, subject)); }