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