Esempio n. 1
0
        //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));
        }
Esempio n. 2
0
        // 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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
            }
        }