Exemplo n.º 1
0
        public void AddOrderTest(int OrderNumber, string CustomerName, string State, decimal TaxRate, string ProductType, decimal Area, decimal CostPerSquareFoot, decimal LaborCostPerSquareFoot, decimal MaterialCost, decimal LaborCost, decimal Tax, decimal Total, string path)
        {
            DataManager manager   = DataManagerFactory.Create();
            DateTime    OrderDate = new DateTime(2020, 6, 1);

            FileLookupRequest request = manager.FileLookup(OrderDate);

            Assert.AreEqual(path, request.path);
            Assert.IsFalse(request.success);
            Assert.AreEqual(null, request.orders);

            Order o = new Order();

            o.OrderNumber            = OrderNumber;
            o.CustomerName           = CustomerName;
            o.State                  = State;
            o.TaxRate                = TaxRate;
            o.ProductType            = ProductType;
            o.Area                   = Area;
            o.CostPerSquareFoot      = CostPerSquareFoot;
            o.LaborCostPerSquareFoot = LaborCostPerSquareFoot;
            o.MaterialCost           = MaterialCost;
            o.LaborCost              = LaborCost;
            o.Tax   = Tax;
            o.Total = Total;

            manager.FileSave(o, request.path);

            request = manager.FileLookup(OrderDate);

            Assert.IsTrue(request.success);
            Assert.AreEqual(1, request.orders.Count);
            Assert.AreEqual(CustomerName, request.orders[0].CustomerName);
            Assert.AreEqual(Total, request.orders[0].Total);
        }
Exemplo n.º 2
0
        public void RemoveOrderTest()
        {
            DataManager       manager   = DataManagerFactory.Create();
            DateTime          OrderDate = new DateTime(2020, 6, 1);
            FileLookupRequest request   = manager.FileLookup(OrderDate);

            Assert.AreEqual(1, request.orders.Count);

            Order o = request.orders[0];

            manager.FileRemove(request.orders, o, request.path);

            request = manager.FileLookup(OrderDate);
            Assert.AreEqual(null, request.orders);
        }
        public void Execute()
        {
            DataManager       manager   = DataManagerFactory.Create();
            DateTime          OrderDate = ConsoleIO.RequestAndValidateDate("edit");
            FileLookupRequest request   = manager.FileLookup(OrderDate);

            if (!request.success)
            {
                Console.WriteLine("Error: No orders found for that date.");
                Console.WriteLine();
                return;
            }

            string path = request.path;

            int OrderNumber = ConsoleIO.RequestAndValidateOrderNumber();

            List <Order> orders = request.orders;
            Order        o;

            foreach (Order OrderToCheck in orders)
            {
                if (OrderToCheck.OrderNumber == OrderNumber)
                {
                    o = OrderToCheck;
                    ConsoleIO.PrintOrder(o, OrderDate);
                    EditOrderInfo(o);
                    ConsoleIO.PrintOrder(o, OrderDate);
                    if (ConsoleIO.ConfirmEditOrRemoveOrder("save"))
                    {
                        manager.FileSave(o, OrderDate.ToString("MMddyyyy"), path);
                        Console.WriteLine("Order saved.");
                        return;
                    }
                    else
                    {
                        Console.WriteLine("Order not saved.");
                        return;
                    }
                }
                else
                {
                    continue;
                }
            }
            Console.WriteLine("There is no order with that order number.");
        }
Exemplo n.º 4
0
        public void EditOrderTest()
        {
            DataManager       manager   = DataManagerFactory.Create();
            DateTime          OrderDate = new DateTime(2020, 6, 1);
            FileLookupRequest request   = manager.FileLookup(OrderDate);

            Assert.AreEqual(1, request.orders.Count);
            Assert.AreEqual("Andrew", request.orders[0].CustomerName);

            Order o = request.orders[0];

            o.CustomerName = "Galvin";

            manager.FileSave(o, request.path);

            request = manager.FileLookup(OrderDate);
            Assert.AreEqual(1, request.orders.Count);
            Assert.AreEqual("Galvin", request.orders[0].CustomerName);
        }
Exemplo n.º 5
0
        public void Execute()
        {
            DataManager manager = DataManagerFactory.Create();

            DateTime OrderDate = ConsoleIO.RequestAndValidateDate("display");

            while (true)
            {
                FileLookupRequest request = manager.FileLookup(OrderDate);
                if (!request.success)
                {
                    Console.WriteLine(request.message);
                    return;
                }
                for (int i = 0; i < request.orders.Count(); i++)
                {
                    ConsoleIO.PrintOrder(request.orders[i], OrderDate);
                }
                Console.WriteLine();
                return;
            }
        }
Exemplo n.º 6
0
        public FileLookupRequest FileLookup(DateTime OrderDate)
        {
            FileLookupRequest request = new FileLookupRequest();

            string orderDate = OrderDate.ToString("MMddyyyy");

            string filename = "Orders_" + orderDate;

            request.path   = @filename + ".txt";
            request.orders = _dataRepository.LoadOrders(orderDate, request.path);

            if (request.orders == null || request.orders.Count == 0)
            {
                request.success = false;
                request.message = $"There are no orders for {OrderDate.ToString("MM/dd/yyyy")}";
            }
            else
            {
                request.success = true;
            }
            return(request);
        }
Exemplo n.º 7
0
        public void Execute()
        {
            DataManager manager = DataManagerFactory.Create();

            while (true)
            {
                DateTime OrderDate = ConsoleIO.RequestAndValidateDate("add");

                if (OrderDate < DateTime.Now)
                {
                    Console.WriteLine("Date must be in the future.");
                    continue;
                }

                Order o = new Order();

                Console.WriteLine("Customer Name?");
                o.CustomerName = Console.ReadLine();

                while (true)
                {
                    Console.WriteLine("State?");
                    string UserState = Console.ReadLine();
                    bool   StateOK   = Controllers.FindStateInTaxFile(o, UserState);
                    if (!StateOK)
                    {
                        continue;
                    }
                    break;
                }

                while (true)
                {
                    ProductTypeRequest productRequest = Controllers.ShowProductTypes();
                    if (!productRequest.success)
                    {
                        continue;
                    }
                    while (true)
                    {
                        if (!GetProductType(o, productRequest.rows))
                        {
                            continue;
                        }
                        break;
                    }
                    break;
                }

                while (true)
                {
                    Console.WriteLine("Area?");
                    string UserArea = Console.ReadLine();
                    bool   AreaOK   = Controllers.CheckUserArea(o, UserArea);
                    if (!AreaOK)
                    {
                        continue;
                    }
                    break;
                }

                Controllers.CalculateRestOfOrder(o);

                ConsoleIO.PrintOrder(o, OrderDate);

                Console.WriteLine("Do you want to add this order? Y/N");
                string AddOrNot = Console.ReadLine().ToUpper();
                if (AddOrNot[0] != 'Y')
                {
                    break;
                }

                FileLookupRequest request = manager.FileLookup(OrderDate);

                if (!request.success)
                {
                    o.OrderNumber = 1;
                    manager.FileSave(o, OrderDate.ToString("MMddyyyy"), request.path);
                    Console.WriteLine($"Order file created for {OrderDate:MM/dd/yyyy}.");
                    break;
                }
                else
                {
                    List <Order> Orders = request.orders;
                    o.OrderNumber = Orders[(Orders.Count() - 1)].OrderNumber + 1;
                    manager.FileSave(o, OrderDate.ToString(), request.path);
                    Console.WriteLine($"Order added to file for {OrderDate:MM/dd/yyyy}.");
                    break;
                }
            }
        }