Beispiel #1
0
        private static void NMFRecordPrompt(Database.Database db)
        {
            Console.WriteLine("NMF Record Generator");
            Console.WriteLine("1: Add new Orderable");
            Console.WriteLine("2: Add new Order");
            Console.WriteLine("3: Edit orderable database");
            Console.WriteLine("4: Edit order");
            Console.WriteLine("5: Receipt");
            Console.WriteLine("6: Create Receipt Report");
            switch (Console.ReadLine())
            {
            case "1":
                // Add New Orderable
                Creation.OrderablePrompt(db);
                break;

            case "2":
                // Add New Order
                Creation.OrderPrompt(db);
                break;

            case "3":
                OrderableManagement.DisplayOrderables(db);
                break;

            case "4":
                Database.ExpenseOrder editOrderOrder = OrderManagement.ChooseOrder(db);
                if (editOrderOrder != null)
                {
                    editOrderOrder = OrderManagement.EditOrder(editOrderOrder);
                    db.OverwriteOrder(editOrderOrder);
                }
                break;

            case "5":
                Database.ExpenseOrder receiptOrder = OrderManagement.ChooseOrderResolved(db);
                if (receiptOrder != null)
                {
                    receiptOrder = OrderManagement.ResolveOrder(receiptOrder);
                    if (receiptOrder == null)
                    {
                        break;
                    }

                    db.OverwriteOrder(receiptOrder);
                }
                break;

            case "6":
                ReportGen.CreateNotReceiptReport(db, DateTime.Today);
                break;

            default:
                Console.WriteLine("Invalid Entry");
                break;
            }
        }
Beispiel #2
0
        public void SaveNewOrder(ExpenseOrder order)
        {
            BinaryFormatter formatter = new BinaryFormatter();
            var             newOrders = GetOrders().Append(order).ToArray();

            File.Delete("orders.dat");
            Stream ms = File.OpenWrite("orders.dat");

            formatter.Serialize(ms, newOrders);
            ms.Flush();
            ms.Close();
            ms.Dispose();
        }
Beispiel #3
0
        public void OverwriteOrder(ExpenseOrder order)
        {
            if (order is null)
            {
                Console.WriteLine("No order selected!");
                return;
            }

            var k = GetOrders();

            if (!k.Any(x => order.OrderDate == x.OrderDate))
            {
                throw new Exception("Overwrite order called without a matching order already in the database! " + order);
            }
            OverwriteOrders(k.Where(x => x.OrderDate != order.OrderDate).Append(order).ToArray());
        }