public IActionResult Cart() { var currentUserId = HttpContext.Session.GetInt32("UserId"); if (currentUserId == null) { ViewBag.Notification = "Login to add things to cart!"; ViewBag.cart = null; return(View()); } else { ViewBag.products = _db.Products.ToList(); var product = _db.Products.ToList(); var cart = _db.Cart.Where(x => x.UserId.Equals(currentUserId)).FirstOrDefault(); if (cart == null) { ViewBag.cart = null; } else { var cartItems = _db.CartItem.Where(x => x.ShoppingCartId.Equals(cart.CartId)).ToList(); //var cartItems = _db.CartItem.ToList(); if (cartItems.Count > 0) { ViewBag.cart = 1; var subtotal = 0; foreach (var x in cartItems) { subtotal += x.Quantity * (int)GetProductById($"{x.ProductId}").Price; } var cartUser = new CartUser() { Cart = cart, CartItem = cartItems, Products = product, SubTotal = (short)subtotal }; return(View(cartUser)); } else { ViewBag.cart = null; } } return(View()); } }
public IActionResult Checkout() { var currentUserId = HttpContext.Session.GetInt32("UserId"); if (currentUserId != null) { var creditcard = _db.CreditCard.FromSqlRaw($"select * from CreditCard where userid = {currentUserId}"); foreach (var x in creditcard) { if (x.default_card == true) { ViewBag.Default_card_no = x.cc_no; ViewBag.Default_card_name = x.cc_name; ViewBag.Default_card_month = x.ExpMonth; ViewBag.Default_card_year = x.ExpYear; } } var product = _db.Products.ToList(); var cart = _db.Cart.Where(x => x.UserId.Equals(currentUserId)).FirstOrDefault(); if (cart == null) { return(Redirect("/Shop")); } else { var cartItems = _db.CartItem.Where(x => x.ShoppingCartId.Equals(cart.CartId)).ToList(); ViewBag.cart = 1; var subtotal = 0; foreach (var x in cartItems) { subtotal += x.Quantity * (int)GetProductById($"{x.ProductId}").Price; } var displayTotal = new CartUser() { Cart = cart, CartItem = cartItems, Products = product, SubTotal = (short)subtotal }; return(View(displayTotal)); } } return(View()); }
public IActionResult Checkout(string firstname, string number, int month, int year, bool isActive) { var currentUserId = HttpContext.Session.GetInt32("UserId"); var userexist = _db.CreditCard.FromSqlRaw($"select * from CreditCard where UserId = {currentUserId}"); var checkCCnumber = _db.CreditCard.FromSqlRaw($"select * from CreditCard where cc_no = {number}"); var checkbothCC = _db.CreditCard.FromSqlRaw($"select * from CreditCard where UserId = {currentUserId} and cc_no = {number}"); var number_generator = new Random(); var cc_id = number_generator.Next(1000, 9999); if (isActive == false) { checkout(); } else { if (userexist.FirstOrDefault() == null) { var addcard = new CreditCard { cc_id = $"{cc_id}", cc_name = firstname, cc_no = number, ExpMonth = month, ExpYear = year, default_card = true, UserId = $"{currentUserId}" }; _db.CreditCard.Add(addcard); _db.SaveChanges(); checkout(); } else { foreach (var y in userexist) { if (y.cc_no == number) { ViewBag.CheckoutNotOk = "True"; var product = _db.Products.ToList(); var cart = _db.Cart.Where(x => x.UserId.Equals(currentUserId)).FirstOrDefault(); var cartItems = _db.CartItem.Where(x => x.ShoppingCartId.Equals(cart.CartId)).ToList(); if (cartItems.Count > 0) { ViewBag.cart = 1; var subtotal = 0; foreach (var x in cartItems) { subtotal += x.Quantity * (int)GetProductById($"{x.ProductId}").Price; } var displayTotal = new CartUser() { Cart = cart, CartItem = cartItems, Products = product, SubTotal = (short)subtotal }; return(View(displayTotal)); } } else { var addcard = new CreditCard { cc_id = $"{cc_id}", cc_name = firstname, cc_no = number, ExpMonth = month, ExpYear = year, default_card = false, UserId = $"{currentUserId}" }; _db.CreditCard.Add(addcard); _db.SaveChanges(); checkout(); } } } } return(View()); }