예제 #1
0
        public ActionResult Oops()
        {
            var viewModel = new OopsViewModel();

            if (TempData[InvalidEmailKey] != null)
            {
                viewModel.InvalidEmail = (bool)TempData[InvalidEmailKey];
            }

            if (TempData[SendEmailRequestAcceptedKey] != null)
            {
                viewModel.RequestAccepted = (bool)TempData[SendEmailRequestAcceptedKey];
            }

            return(View(viewModel));
        }
예제 #2
0
        public ActionResult Oops(OopsViewModel viewModel)
        {
            var commonSettings = _commonSettingsRepository.Table
                                 .FirstOrDefault(s => s.CommonCulture == _cultureUsed);

            if (commonSettings == null)
            {
                _commonSettingsRepository.Create(new CommonSettingsRecord()
                {
                    DoNotAcceptAnyNewCampaigns = false,
                    CommonCulture = _cultureUsed
                });

                commonSettings = _commonSettingsRepository.Table
                                 .First(s => s.CommonCulture == _cultureUsed);
            }
            if (!commonSettings.DoNotAcceptAnyNewCampaigns)
            {
                return(RedirectToAction("Oops"));
            }

            if (!ModelState.IsValidField("Email"))
            {
                TempData[InvalidEmailKey] = true;
                return(RedirectToAction("Oops"));
            }

            var request = new CheckoutCampaignRequest {
                RequestUtcDate = DateTime.UtcNow, Email = viewModel.Email
            };

            _checkoutCampaignRequestRepository.Create(request);

            TempData[SendEmailRequestAcceptedKey] = true;
            return(RedirectToAction("Oops"));
        }