/// <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()); }
// 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)); }
/// <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()); }