/// <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); }
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); }
public ActionResult Success(ProccessedOrderViewModel proccessedOrder) { return(View()); //return RedirectToAction("MakeOrder"); }