public async Task <IActionResult> DisplayContactUs(ContactUsModel model) { var resultModel = new ContactUsResultModel(); if (_captchaSettings.Enabled) { var gCaptchaResponseValue = model.GRecaptchaResponse; if (StringValues.IsNullOrEmpty(gCaptchaResponseValue)) { return(BadRequest()); } var response = _captchaHttpClient.ValidateCaptchaAsync(gCaptchaResponseValue).Result; if (!response.IsValid) { return(BadRequest()); } } var account = await _emailAccountService.GetEmailAccountByIdAsync(_emailAccountSettings.DefaultEmailAccountId); var ccEmails = new List <string>(_contactUsWidgetSettings.AdditionalEmails.Split(',')); var toAddress = ""; if (model.SelectedStore == "Website") { toAddress = _settings.ContactUsEmail ?? "*****@*****.**"; } else { var shop = _shopRepository.Table.Where(s => s.Name == model.SelectedStore).FirstOrDefault(); toAddress = _shopAbcRepository.Table.Where(sabc => sabc.ShopId == shop.Id).FirstOrDefault().AbcEmail; ccEmails.Add(_settings.ContactUsEmail); } var subject = "Customer " + model.Reason + "- " + model.SelectedStore + "/" + model.Name + " " + model.PhoneNumber; var body = string.Format( @"A request has been submitted with an inquiry from the Contact us page. <br/><br/> Customer Name: {0} <br/> Customer Email: {1} <br/> Customer Phone Number: {2} <br/> Store Location: {3} <br/> Comments: {4}", model.Name ?? "", model.Email ?? "", model.PhoneNumber ?? "", model.SelectedStore ?? "", model.Comments ?? ""); if (_settings.IsEmailSubmissionSkipped) { await _logger.WarningAsync($"AbcContactUs: Email submission skipped - body: {body}"); } else { await _emailSender.SendEmailAsync(account, subject, body, account.Email, account.DisplayName, toAddress, "", replyToAddress : model.Email, cc : ccEmails); } return(Content("")); }
public ActionResult ContactUsResult(int resultId) { var resultText = string.Empty; switch ((ContactUsResults)resultId) { case ContactUsResults.NotSent: resultText = "Sorry, there was a problem with your submission. Please try again later or contact us via <a href='mailto:[email protected]'>[email protected]</a>."; break; default: case ContactUsResults.Sent: resultText = "Thanks. Your message has been successfully submitted and we appreciate you contacting us. We'll be in touch soon."; break; } var model = new ContactUsResultModel { Result = resultText }; return(View(model)); }