Exemplo n.º 1
0
        // --------------------------------------------- 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);
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        /*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;
            }
        }
Exemplo n.º 6
0
 public void GetOrderLines(Orderlines orderlines)
 {
 }