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)); }
public IActionResult PurchaseMiles() { var model = new PurchaseMilesViewModel { Quantity = 2000 }; model.ValueToPay = Math.Round(model.Quantity * 0.035m, 0); return(View(model)); }
//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; }