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