public ActionResult Create(string id) { if (id is null) { throw new ArgumentNullException(nameof(id)); } if (ModelState.IsValid) { try { CreateDebitCardViewModel viewModel = new CreateDebitCardViewModel { CardHolderName = context.Users.Find(id).Name, ExpiryDate = DateTime.Now.ToString() }; // Success return(View(viewModel)); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); return(RedirectToAction("ViewAllCustomersCards")); } } return(RedirectToAction("ViewAllCustomersCards")); }
public ActionResult Create(CreateDebitCardViewModel viewModel) { string userId = User.Identity.GetUserId(); if (userId is null) { return(RedirectToAction("Login", "Account")); } if (ModelState.IsValid) { try { // Success DebitCard card = new DebitCard { CardHolderName = viewModel.CardHolderName, CardNumber = viewModel.CardNumber, CVV2 = viewModel.CVV2, CustomerId = userId }; if (card is null) { this.AddNotification("Error: card is null", NotificationType.ERROR); return(RedirectToAction("ViewAllCustomersCards", new { id = userId })); } string fourDigitYear = "20" + viewModel.ExpiryDate.Substring(3, 2); int year = int.Parse(fourDigitYear); int month = int.Parse(viewModel.ExpiryDate.Substring(0, 2)); DateTime date = new DateTime(year, month, 1); card.ExpiryDate = date; context.DebitCards.Add(card); context.SaveChanges(); this.AddNotification("Card Added", NotificationType.SUCCESS); return(RedirectToAction("ViewAllCustomersCards", new { id = userId })); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); this.AddNotification("Error: could not add card", NotificationType.ERROR); return(RedirectToAction("ViewAllCustomersCards", new { id = userId })); } } return(RedirectToAction("ViewAllCustomersCards", new { id = userId })); }