internal static void PlaceOrder(List <Product> ShoppingCart, Billing BillingInfo, Customer CurrentCustomer, Location CurrentLocation, List <int> Quantities) { DateTime now = System.DateTime.Now; using (var DB = new P0Context()) { Order Order = new Order { CustomerID = CurrentCustomer.CustomerID, LocationID = CurrentLocation.LocationID, OrderTime = now.ToString() }; OrderDAO.AddOrders(Order, DB); LocationProductsDAO.LoadLocationProductsList(DB); foreach (Product p in ShoppingCart) { int QuantityIndex = ShoppingCart.IndexOf(p); OrderProducts OP = new OrderProducts { OrderID = Order.OrderID, ProductID = p.ProductID, Quantity = Quantities[QuantityIndex] }; OrderProductsDAO.AddOrderProducts(OP, DB); LocationProducts LP = DB.LocationProductsList.Single( x => (x.LocationID == CurrentLocation.LocationID && x.ProductID == p.ProductID)); LP.Inventory -= OP.Quantity; LocationProductsDAO.UpdateLocationProducts(LP, DB); } } }
internal static void PlaceOrder(List <ProductInStock> ShoppingCart, Billing BillingInfo, Shipping ShippingInfo, Customer CurrentCustomer, Location CurrentLocation, P1Context _context) { DateTime now = System.DateTime.Now; var DB = _context; Order Order = new Order { CustomerID = CurrentCustomer.CustomerID, LocationID = CurrentLocation.LocationID, BillingID = BillingInfo.BillingID, ShippingID = ShippingInfo.ShippingID, OrderTime = now.ToString() }; OrderDAO.AddOrders(Order, DB); LocationProductsDAO.LoadLocationProductsList(DB); foreach (ProductInStock p in ShoppingCart) { OrderProducts OP = new OrderProducts { OrderID = Order.OrderID, ProductID = p.ProductID, Quantity = p.Quantity }; OrderProductsDAO.AddOrderProducts(OP, DB); LocationProducts LP = DB.LocationProductsList.Single( x => (x.LocationID == CurrentLocation.LocationID && x.ProductID == p.ProductID)); LP.Inventory -= OP.Quantity; LocationProductsDAO.UpdateLocationProducts(LP, DB); } }
internal static List <Product> FindProductsOfTypeFromStore(string Type, Location CurrentLocation) { List <Product> ProductsOfType = new List <Product>(); using (var DB = new P0Context()) { ProductDAO.LoadProductsList(DB); LocationProductsDAO.LoadLocationProductsList(DB); foreach (LocationProducts lp in DB.LocationProductsList) { if (lp.LocationID == CurrentLocation.LocationID) { foreach (Product p in DB.ProductsList) { if (p.Type + " FROM STORE" == Type && lp.ProductID == p.ProductID) { ProductsOfType.Add(p); } } } } } return(ProductsOfType); }
internal static void UpdateQuantity(Product p, int quanity, Location location, P1Context _context) { var DB = _context; LocationProductsDAO.LoadLocationProductsList(DB); foreach (LocationProducts lp in DB.LocationProductsList) { if (lp.LocationID == location.LocationID && lp.ProductID == p.ProductID) { lp.Inventory -= quanity; LocationProductsDAO.UpdateLocationProducts(lp, DB); break; } } }
internal static int FindNumInStockAtLocation(int ProductID, Location CurrentLocation, P1Context _context) { int InStock = 0; var DB = _context; LocationProductsDAO.LoadLocationProductsList(DB); foreach (LocationProducts LP in DB.LocationProductsList) { if (LP.LocationID == CurrentLocation.LocationID && LP.ProductID == ProductID) { InStock = LP.Inventory; break; } } return(InStock); }
internal static List <int> FindLocationIDsWithProduct(Product ProductToBuy) { List <int> LocationIDs = new List <int>(); using (var DB = new P0Context()) { LocationProductsDAO.LoadLocationProductsList(DB); foreach (LocationProducts lp in DB.LocationProductsList) { if (ProductToBuy.ProductID == lp.ProductID) { LocationIDs.Add(lp.LocationID); } } } return(LocationIDs); }
/*internal static Location GetOrderLocation(Order o, P1Context _context) * { * Location Location; * var DB = _context; * LocationDAO.LoadLocationsList(DB); * Location = DB.LocationList.First(l => l.LocationID == o.LocationID); * return Location; * } * * internal static List<int> FindLocationIDsWithProduct(Product ProductToBuy, P1Context _context) * { * List<int> LocationIDs = new List<int>(); * var DB = _context; * LocationProductsDAO.LoadLocationProductsList(DB); * foreach (LocationProducts lp in DB.LocationProductsList) * { * if (ProductToBuy.ProductID == lp.ProductID) * { * LocationIDs.Add(lp.LocationID); * } * } * return LocationIDs; * }*/ internal static List <Location> FindLocationsWithProduct(int ProductID, P1Context _context) { List <int> LocationIDs = new List <int>(); var DB = _context; LocationProductsDAO.LoadLocationProductsList(DB); foreach (LocationProducts lp in DB.LocationProductsList) { if (ProductID == lp.ProductID) { LocationIDs.Add(lp.LocationID); } } List <Location> StoreOptions = FindLocationsWithProduct(LocationIDs, _context); return(StoreOptions); }
internal static int FindNumInStockAtLocation(Product ProductToBuy, Location CurrentLocation) { int InStock = 0; using (var DB = new P0Context()) { LocationProductsDAO.LoadLocationProductsList(DB); foreach (LocationProducts LP in DB.LocationProductsList) { if (LP.LocationID == CurrentLocation.LocationID && LP.ProductID == ProductToBuy.ProductID) { InStock = LP.Inventory; break; } } } return(InStock); }