Example #1
0
        public ActionResult AddOrder(PlaceOrderViewModelV2 viewModel)
        {
            try
            {
                HttpContext.Session.SetString("CustID", JsonConvert.SerializeObject(viewModel.CustID));
                HttpContext.Session.SetString("LocID", JsonConvert.SerializeObject(viewModel.LocID));
                Orders o = new Orders()
                {
                    Cust      = _repository.GetCustomerById(viewModel.CustID),
                    Location  = _repository.GetLocationByID(viewModel.LocID),
                    CustOrder = _mapper.ParseInvID(viewModel.custBought)
                };
                _repository.AddOrder(o);
                Dictionary <int, int> custB = viewModel.custBought;
                HttpContext.Session.SetString("CustOrder", JsonConvert.SerializeObject(custB));

                Log.Information("Order Added");
                Log.Information($"Order made by customer {_repository.GetCustomerById(viewModel.CustID).FirstName} {_repository.GetCustomerById(viewModel.CustID).LastName} at {_repository.GetLocationByID(viewModel.LocID).BranchName}");
                PlaceOrderViewModelV2 pass = new PlaceOrderViewModelV2()
                {
                    custBought = viewModel.custBought, CustID = viewModel.CustID, LocID = viewModel.LocID
                };
                return(RedirectToAction(nameof(OrderDetails), pass));
            }
            catch (Exception e)
            {
                Log.Error("Something went wrong in placing order");
                Log.Error(e.Message);
                return(RedirectToAction(nameof(PlaceOrder)));
            }
        }
Example #2
0
        public ActionResult PlaceOrder(int LocID, int CustID)
        {
            PlaceOrderViewModelV2 AvailInvent = _mapper.ParseMenu(_repository.GetAvailInventory(LocID), CustID, LocID);

            if (AvailInvent.availInventory.Count < 1)
            {
                Log.Information($"{_repository.GetLocationByID(LocID).BranchName} has no inventory");
            }
            return(View(AvailInvent));
        }
Example #3
0
        public ActionResult PlaceOrder()
        {
            var value  = HttpContext.Session.GetString("CustID");
            int CustID = JsonConvert.DeserializeObject <int>(value);

            value = HttpContext.Session.GetString("LocID");
            int LocID = JsonConvert.DeserializeObject <int>(value);
            PlaceOrderViewModelV2 AvailInvent = _mapper.ParseMenu(_repository.GetAvailInventory(LocID), CustID, LocID);

            return(View(AvailInvent));
        }
Example #4
0
        /// <summary>
        /// Action that prints order details with data from adding an order
        /// </summary>
        /// <param name="viewModel"></param>
        /// <returns></returns>
        public ActionResult OrderDetails(PlaceOrderViewModelV2 viewModel)
        {
            var value = HttpContext.Session.GetString("CustOrder");
            Dictionary <int, int> custOrder = JsonConvert.DeserializeObject <Dictionary <int, int> >(value);
            Orders o = new Orders()
            {
                Cust      = _repository.GetCustomerById(viewModel.CustID),
                Location  = _repository.GetLocationByID(viewModel.LocID),
                CustOrder = _mapper.ParseInvID(custOrder)
            };
            OrderDetailsViewModel ordDeets = _mapper.ParseOrderDetails(o);
            decimal total = 0;

            foreach (AvailInvViewModel item in ordDeets.custBought)
            {
                item.ProductName = _repository.GetProductNameById(item.InventID);
                item.Price       = _repository.GetProductPriceById(item.InventID);
                total           += item.Price * item.Stock;
            }
            ViewData["Total"] = total;
            return(View(ordDeets));
        }