//methods public IActionResult Checkout() { OrderCheckoutViewModel order = new OrderCheckoutViewModel(); string userId = _userManager.GetUserId(User); //int customerId = _customerDataService.GetQuery().Where(c => c.UserID == userId).Select(c => c.CustomerId).FirstOrDefault(); var addresses = _addressDataService.GetQuery().Where(a => a.customer.UserID == userId).Select(a => new { AddressId = a.AddressId, FullAddress = a.StreetNumber + " " + a.StreetName + " " + a.City + " " + a.State + " " + a.Country + " " + a.Postcode }).ToList(); order.Addresses = new SelectList(addresses, "AddressId", "FullAddress"); return(View(order)); }
// GET: Customers public ActionResult Index() { var currentUserId = User.Identity.GetUserId(); var customer = db.Customers.FirstOrDefault(c => c.User_Id == currentUserId); if (customer == null) { return(RedirectToAction("Create", "Customers", new { isProcessingCheckout = true })); } List <MovyViewModel> movyList = new List <MovyViewModel>(); var totalCart = 0.0m; foreach (string key in Session.Keys) { if (key.ToString() != "isCheckout") { Movie movy = (from c in db.Movies where c.Title == key select c).ToList()[0]; int countMovy = int.Parse(Session[key].ToString()); totalCart += (movy.Price * countMovy); movyList.Add(new MovyViewModel { Movy = movy, Count = countMovy }); } } ViewBag.Total = totalCart; OrderCheckoutViewModel orderCheckout = new OrderCheckoutViewModel { Customer = customer, Movies = movyList }; return(View(orderCheckout)); }
public async Task <OrderCheckoutViewModel> GetOrderToSendAsync() { var userId = this.usersService.GetLoggedUserId(); var order = await this.dbContext.Orders .Where(o => o.IsDeleted == false) .Where(o => o.UserId == userId) .Where(o => o.Status != OrderStatus.Sent) .FirstOrDefaultAsync(); if (order == null) { var orderModel = new OrderCheckoutViewModel(); return(orderModel); } var orderViewModel = this.mapper.Map <OrderCheckoutViewModel>(order); return(orderViewModel); }
public IActionResult Checkout(OrderCheckoutViewModel vm) { var cart = GetCart(); if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Your cart is empty"); } if (!vm.AddressId.HasValue) { OrderAddressViewModel address = new OrderAddressViewModel { Line1 = vm.Line1, Line2 = vm.Line2, Line3 = vm.Line3, City = vm.City, State = vm.State, Country = vm.Country, Postcode = vm.Postcode }; TryValidateModel(address); } if (ModelState.IsValid) { Order order = new Order { OrderId = vm.OrderId, Name = vm.Name, Line1 = vm.Line1, Line2 = vm.Line2, Line3 = vm.Line3, City = vm.City, State = vm.State, Country = vm.Country, Postcode = vm.Postcode, Lines = cart.Lines.ToList() }; if (vm.AddressId.HasValue) { var address = _addressDataService.GetSingle(a => a.AddressId == vm.AddressId); string userId = _userManager.GetUserId(User); var customer = _customerDataService.GetQuery().Where(c => c.UserID == userId).Select(c => c.FirstName).FirstOrDefault(); order.Line1 = address.StreetNumber; order.Line2 = address.StreetName; order.City = address.City; order.State = address.State; order.Country = address.Country; order.Postcode = address.Postcode; order.Name = customer; } vm.CartLine = cart.Lines.ToArray(); _orderDataService.SaveOrder(order); return(RedirectToAction(nameof(Completed))); } else { string userId = _userManager.GetUserId(User); //int customerId = _customerDataService.GetQuery().Where(c => c.UserID == userId).Select(c => c.CustomerId).FirstOrDefault(); var addresses = _addressDataService.GetQuery().Where(a => a.customer.UserID == userId).Select(a => new { AddressId = a.AddressId, FullAddress = a.StreetNumber + " " + a.StreetName + " " + a.City + " " + a.State + " " + a.Country + " " + a.Postcode }).ToList(); vm.Addresses = new SelectList(addresses, "AddressId", "FullAddress"); return(View(vm)); } }