Exemplo n.º 1
0
        /// <summary>
        /// update products quantity with active employee's request(s)
        /// </summary>
        /// <returns></returns>
        public ActionResult restockProducts()
        {
            if (Session == null || Session["type"] == null || !((string)Session["type"]).Equals("Employee"))
            {
                return(RedirectToAction("my404", "Home"));
            }
            else
            {
                int empID = (int)Session["userID"];
            }

            stockDal = new stockRequestDal();

            //add: stock requests by empID
            List <StockRequest> srlist = stockDal.stockRequests.Where(sr => sr.arrivedDate == null).ToList();

            string query = "UPDATE Products " +
                           "SET " +
                           "Products.Quantity = Products.Quantity + s.Quantity " +
                           "FROM " +
                           "Products " +
                           "INNER JOIN " +
                           "(SELECT * FROM stockOrders WHERE arrivedDate IS NULL) s " +
                           "ON " +
                           "Products.Model = s.Model; ";

            proddal = new ProductDal();
            proddal.Database.ExecuteSqlCommand(query);

            srlist.ForEach(sr => sr.arrivedDate = DateTime.Now);
            stockDal.SaveChanges();
            return(new EmptyResult());
        }
Exemplo n.º 2
0
        // show Requests History view

        /// <summary>
        /// show all requests, both pending and approved
        /// </summary>
        /// <returns></returns>
        public ActionResult viewRequestsHistory()
        {
            if (Session == null || Session["type"] == null || !((string)Session["type"]).Equals("Employee"))
            {
                return(RedirectToAction("my404", "Home"));
            }
            else
            {
                int empID = (int)Session["userID"];
            }

            stockDal = new stockRequestDal();
            rvm      = new RestockViewModel();
            rvm.sr   = new StockRequest();

            //add: stock requests by empID
            rvm.stockRequestList = stockDal.stockRequests.ToList <StockRequest>();
            return(View(rvm));
        }
Exemplo n.º 3
0
        /// <summary>
        /// add new request to restock store products
        /// will add quantity to existing requests or add new if product not found
        /// </summary>
        /// <param name="quantityToAdd"> quantity of product to be requested</param>
        /// <param name="model"> model of product to update</param>
        /// <returns></returns>
        public ActionResult restockRequest(int quantityToAdd, string model)
        {
            if (Session == null || Session["type"] == null || !((string)Session["type"]).Equals("Employee"))
            {
                return(RedirectToAction("my404", "Home"));
            }
            else
            {
                int empID = (int)Session["userID"];
            }
            stockDal = new stockRequestDal();
            StockRequest sr = null;

            //add: stock requests by empID
            List <StockRequest> srlist = stockDal.stockRequests.Where(s => s.arrivedDate == null).ToList();

            sr = srlist.FirstOrDefault(s => s.Model == model);
            if (sr != null)
            {
                // request exists, update quantity
                sr.Quantity += quantityToAdd;
            }
            else
            {
                sr = new StockRequest();
                // request does not exist, update quantity
                sr.Quantity = quantityToAdd;
                sr.Model    = model;
                stockDal.stockRequests.Add(sr);
            }


            stockDal.SaveChanges();
            //return JSON with updates list
            return(new EmptyResult());
        }