// --------------------------------------------- ORDERS ------------------------------- public bool CreateOrder(Order order) { var db = new DBContext(); var newOrder = new Orders() { User = db.Users.Find(order.userID), UserID = order.userID, Date = order.date, Orderlines = new List <Orderlines>() }; foreach (var orderLine in order.orderlines) { var newOrderLine = new Orderlines() { ProductID = orderLine.productId, OrderID = newOrder.ID, Quantity = orderLine.quantity }; newOrder.Orderlines.Add(newOrderLine); } try { db.Orders.Add(newOrder); db.SaveChanges(); return(true); } catch (Exception) { return(false); } }
public async Task <IActionResult> Edit(string id, [Bind("OrderNo,ItemNo,OrderQuantity")] Orderlines orderlines) { if (id != orderlines.OrderNo) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(orderlines); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrderlinesExists(orderlines.OrderNo)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ItemNo"] = new SelectList(_context.Items, "ItemNo", "ItemNo", orderlines.ItemNo); ViewData["OrderNo"] = new SelectList(_context.Orders, "OrderNo", "OrderNo", orderlines.OrderNo); return(View(orderlines)); }
public async Task <IActionResult> Create([Bind("OrderNo,ItemNo,OrderQuantity")] Orderlines orderlines) { if (ModelState.IsValid) { _context.Add(orderlines); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ItemNo"] = new SelectList(_context.Items, "ItemNo", "ItemNo", orderlines.ItemNo); ViewData["OrderNo"] = new SelectList(_context.Orders, "OrderNo", "OrderNo", orderlines.OrderNo); return(View(orderlines)); }
public async Task <IActionResult> Create([Bind("ProductId,Quantity, OrderId")] Orderlines orderlines) { var lastOrderPlaced = orderRepo.GetLastOrderPlaced(); // empty order placed in orderController create // or get order in progress orderlines.OrderId = lastOrderPlaced.OrderId; if (ModelState.IsValid) { OrderlineRepo.Add(orderlines); OrderlineRepo.Save(); return(RedirectToAction(nameof(Create))); // Continue adding to cart } ViewData["OrderId"] = new SelectList(OrderlineRepo.GetAllOrderlinesIncludeAll(), "Orderline.OrderId", "Orderline.OrderId", orderlines.OrderId); ViewData["ProductId"] = new SelectList(OrderlineRepo.GetAllOrderlinesIncludeAll(), "Orderline.ProductId", "Orderline.ProductName", orderlines.ProductId); return(View(orderlines)); }
/*static void ShowOrderHistory(Store store) * { * * }*/ static void AddOrder(Customer customer, Stores store) { // NOTE: REJECT ORDERLINE IF QUANTITY ORDERED IS MORE THAN QUANTITY IN INVENTORY // do a while loop to keep asking for customer to buy product Console.WriteLine("Add an order"); Console.WriteLine("Your store has the following to choose from"); var PDAL = new ProductDAL(); var productIDsInStock = PDAL.LoadProductIDsFromStoreInStock(store); // need to load product ids for the specific store here // select products where productid matches one of the items(ids) in the list foreach (var productID in productIDsInStock) { var Product_products = PDAL.LoadProductByID(productID); //output list of products Console.WriteLine(Product_products.ProductId + " " + Product_products.ProductName + " " + Product_products.Cost); } var newOrder = new Orders(); newOrder.Total = 0; // need a value to do =+ newOrder.StoreId = store.StoreId; // order has to be at a specific store. Store was selected above newOrder.CustomerId = customer.CustomerId; // order has to be placed by a customer. customer passed above using var ctx = new DbRestaurantContext(); var ListOfallOrderIDs = from order in ctx.Orders select order.OrderId; var newOrderID = ListOfallOrderIDs.Max() + 1; bool doneOrdering = false; using var context = new DbRestaurantContext(); context.Orders.Add(newOrder); newOrder.TimeOrdered = DateTime.Now; context.SaveChanges(); while (doneOrdering == false) // buy several products { Console.Write("Select from the above..."); Console.WriteLine("For example: 7"); var productIDChosen = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("How many would you like to buy?"); int pQuantity = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Stop ordering? (y/n)"); var yN = Console.ReadLine(); if (yN == "y") { doneOrdering = true; } // if input matches a product id TO BE IMPLEMENTED // get product details and add/pass that to the order var productToBeOrdered = PDAL.LoadProductByID(productIDChosen); var newOrderline = new Orderlines() { ProductId = productIDChosen, Quantity = pQuantity, OrderId = newOrderID }; newOrder.Total += productToBeOrdered.Cost * pQuantity; context.Orderlines.Add(newOrderline); } // Display total cost Console.WriteLine("Your order total is " + newOrder.Total); Console.WriteLine("Do you confirm the purchase? (y/n)"); var input = Console.ReadLine(); if (input == "y" || input == "Y") { //save order in db /*var oDAL = new OrderDAL(); * oDAL.SaveOrder(newOrder, customer, store);*/ // put the order time context.SaveChanges(); } else { Console.WriteLine("Order cancelled."); Console.WriteLine("You will not be charged"); return; } }
public void GetOrderLines(Orderlines orderlines) { }