/// <summary>
        /// Gets an OrderViewModel and converts it to a ProccessedOrderViewModel
        /// </summary>
        /// <param name="orderViewModel"></param>
        /// <returns></returns>
        public ProccessedOrderViewModel ProcessOrder(OrderViewModel orderViewModel)
        {
            //add other tables
            //_repository.DataToDb();
            Order order = null;

            //Get location
            ModelLayer.Location location = _repository.SelectLocation(orderViewModel.LocationName);
            //Get item from inventory
            Inventory inventory = _repository.SearchForInventoryProduct(orderViewModel.ProductName, location);
            //Check quantity
            bool quantityAvailable = _repository.CheckIfQuantityAvailable(inventory, orderViewModel.Quantity);

            //Make changes to db
            if (quantityAvailable)
            {
                order = _repository.MakeAnOrder(inventory, orderViewModel.Quantity);
            }
            else
            {
                //error
            }

            ProccessedOrderViewModel proccessedOrder = _mapper.ConvertOrderToProccesedOrder(order);

            return(proccessedOrder);
        }
Beispiel #2
0
        public ActionResult Order(OrderViewModel orderViewModel)
        {
            if (orderViewModel is null)
            {
                throw new ArgumentNullException(nameof(orderViewModel));
            }

            ProccessedOrderViewModel proccessedOrder = _businessLayer.ProcessOrder(orderViewModel);

            return(View("Success", proccessedOrder));
            //return View();
        }
        public ProccessedOrderViewModel ConvertOrderToProccesedOrder(Order order)
        {
            ProccessedOrderViewModel proccessedOrder = new ProccessedOrderViewModel()
            {
                ProductName  = order.orderProduct.Description,
                Quantity     = order.orderQuantity,
                LocationName = order.orderLocation.LocationName,
                TotalPrice   = order.getPrice()
            };

            return(proccessedOrder);
        }
Beispiel #4
0
 public ActionResult Success(ProccessedOrderViewModel proccessedOrder)
 {
     return(View());
     //return RedirectToAction("MakeOrder");
 }