コード例 #1
0
        public ActionResult Donate(Donation donation, FormCollection collection)
        {
            _logger.Trace("/Donation/Donate (post) called");

            // get encrypted card information
            donation.BillingInformation.CreditCardNumber      = collection["number"];
            donation.BillingInformation.CreditCardExpireMonth = collection["month"];
            donation.BillingInformation.CreditCardExpireYear  = collection["year"];
            donation.BillingInformation.CreditCardCvv         = collection["cvv"];

            try
            {
                var result = _donationHandler.Create(ref donation);
                if (result == ServiceResultEnum.Failure)
                {
                    _logger.Warning("Donation Failure: " + string.Join <string>(Environment.NewLine, _donationHandler.Messages));
                    return(RedirectToAction("Donate").Error(_donationHandler.Messages));
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Donation Error", ex);
                _donationHandler.Messages.Add(ex.Message);
                return(RedirectToAction("Donate").Error(_donationHandler.Messages));
            }

            return(RedirectToAction("ThankYou", new { @amount = donation.DonationInformation.Amount }).Success("Donation submitted successfully"));
        }
コード例 #2
0
        public ActionResult Donate()
        {
            _logger.Trace("/Donation/Donate (get) called");

            var donation = new Donation();

            try
            {
                // Pass the client key for encrypting credit card information
                ViewBag.ClientKey = Properties.Settings.Default.BrainTreeClientKey;
            }
            catch (Exception ex)
            {
                _logger.Trace("Error loading Donation/Donate (get)", ex);
                return(View(donation).Error(ex.Message));
            }

            return(View(donation));
        }