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));
        }