Exemplo n.º 1
0
        public async Task <IActionResult> PurchaseMiles(PurchaseMilesViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Quantity != 2000)
                {
                    ModelState.AddModelError(string.Empty, "Can only purchase 2000 miles per transaction");
                }

                var client = await _clientRepository.GetClientByEmailAsync(User.Identity.Name);

                if (client == null)
                {
                    return(NotFound());
                }

                model.CreditCardInfo.Client = client;

                await _creditCardRepository.CheckExistingCreditCardByNumberAsync(model.CreditCardInfo);

                ViewData["Message"] = await _milesTransactionRepository.PurchaseMilesAsync(model.Quantity, client);

                ResetModel(model);

                return(View(model));
            }

            return(View(model));
        }
Exemplo n.º 2
0
        public IActionResult PurchaseMiles()
        {
            var model = new PurchaseMilesViewModel
            {
                Quantity = 2000
            };

            model.ValueToPay = Math.Round(model.Quantity * 0.035m, 0);

            return(View(model));
        }
Exemplo n.º 3
0
        //public async Task<IActionResult> ExtendMiles()
        //{
        //    return View();
        //}

        //[HttpPost]
        //public async Task<IActionResult> ExtendMiles(int? id)
        //{

        //}

        void ResetModel(PurchaseMilesViewModel model)
        {
            model.Quantity   = 2000;
            model.ValueToPay = Math.Round(model.Quantity * 0.035m, 0);
            model.CreditCardInfo.FirstName = string.Empty;
            model.CreditCardInfo.LastName  = string.Empty;
            model.CreditCardInfo.Number    = string.Empty;
            model.CreditCardInfo.CVC       = string.Empty;
            model.CreditCardInfo.Month     = null;
            model.CreditCardInfo.Year      = null;
        }