public ActionResult Create(CreateCCChargeViewModel viewModel, CreditCard card, string newCard)
        {
            if (newCard != null)
            {
                db.CreditCards.Add(card);
                db.SaveChanges();
                viewModel.Cards  = db.CreditCards.Where(c => c.ClientId == card.ClientId).ToList();
                viewModel.Charge = new CreditCardCharge();
                viewModel.Client = db.Clients.Find(card.ClientId);
                ViewData.Add("Charge.CardId", new SelectList(viewModel.Cards.Select(
                                                                 n => new
                {
                    Id     = n.Id,
                    Number = n.CardNumber.Substring(n.CardNumber.Length - 4)
                }),
                                                             "Id", "Number", card.Id));
                return(View(viewModel));
            }
            else
            {
                /* var payment = new Payment(viewModel.Client.Id, PaymentType.CreditCard, viewModel.Charge.Amount);
                 *
                 *
                 * db.CreditCardCharges.Add(viewModel.Charge);
                 * db.Payments.Add(payment);
                 * db.SaveChanges();*/

                return(RedirectToAction("Index"));
            }
        }
        public ActionResult Create(int?id, string homePhone, string returnUrl)
        {
            Client client;

            if (id != null)
            {
                client = db.Clients.Find((int)id);
            }
            else if (homePhone != null)
            {
                client = db.Clients.SingleOrDefault(c => c.HomePhone == homePhone);
                if (client == null)
                {
                    TempData["Error"]       = "Invalid entry please try egan";
                    TempData["homePhone"]   = homePhone;
                    TempData["ClickButton"] = "document.getElementById('open').click();";
                    return(Redirect(returnUrl));
                }
            }
            else
            {
                client = null;
            }
            var newCharge = new CreateCCChargeViewModel
            {
                Client = client,
                Cards  = db.CreditCards.Where(c => c.ClientId == client.Id).ToList(),
                Charge = new CreditCardCharge()
            };

            ViewData.Add("Charge.CardId", new SelectList(newCharge.Cards.Select(
                                                             n => new
            {
                Id     = n.Id,
                Number = n.CardNumber.Substring(n.CardNumber.Length - 4)
            }),
                                                         "Id", "Number"));;
            return(View(newCharge));
        }