コード例 #1
0
        public static void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Lookup an OrderDate");
            Console.WriteLine("*************************************");

            var userDateTimeInput = ConsoleIO.GetDateTimeFromUser();
            OrderDateLookupResponse orderDateResponse = manager.OrderLookupDate(userDateTimeInput);

            if (orderDateResponse.Success)
            {
                foreach (var order in orderDateResponse.ListOfOrders)
                {
                    Console.WriteLine($"Order Number: {order.OrderNumber}, Customer Name: {order.CustomerName}, State {order.State}, Tax Rate: {order.TaxRate}, Area: {order.Area}, Cost Per Square Foot: {order.CostPerSquareFoot}, Labor Cost Per Square Foot: {order.LaborCostPerSquareFoot}, Material Cost: {order.MaterialCost}, Labor Cost: {order.LaborCost}, Tax Total: {order.TotalTax}, Total Cost: {order.TotalCost}");
                }
            }
            else
            {
                Console.WriteLine("An error has occurred");
                Console.WriteLine(orderDateResponse.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
コード例 #2
0
        public void CanLoadFileTestRepo()
        {
            OrderManager            manager  = new OrderManager(new FileOrderRepo(FilePath, Temp), new ProductFileRepo(Settings.ProductPath), new TaxFileRepo(Settings.TaxPath));
            OrderDateLookupResponse response = manager.OrderLookupDate(new DateTime(2020, 09, 25));

            Assert.IsTrue(response.Success);
            Assert.AreEqual(2, response.ListOfOrders.Count());
        }
コード例 #3
0
        internal static void Execute()
        {
            Console.Clear();

            OrderManager manager = OrderManagerFactory.Create();

            var userDateTimeInPut            = ConsoleIO.GetFutureDateTime("Please enter a date. EX: MM/DD/YYYY ");
            OrderDateLookupResponse response = manager.OrderLookupDate(userDateTimeInPut);

            if (response.Success)
            {
                foreach (var order in response.ListOfOrders)
                {
                    Console.WriteLine($"Order Number: {order.OrderNumber}, Customer Name: {order.CustomerName}, State {order.State}, Tax Rate: {order.TaxRate}, Area: {order.Area}, Cost Per Square Foot: {order.CostPerSquareFoot}, Labor Cost Per Square Foot: {order.LaborCostPerSquareFoot}, Material Cost: {order.MaterialCost}, Labor Cost: {order.LaborCost}, Tax Total: {order.TotalTax}, Total Cost: {order.TotalCost}");
                }

                int number = ConsoleIO.GetOrderNumber("Which Order number would you like to remove? Enter the Order number you want to remove. ");

                if (ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to remove this file?") == "Y")
                {
                    DeleteOrderResponse deleteResponse = manager.DeleteOrder(userDateTimeInPut, number);
                    if (deleteResponse.Success)
                    {
                        Console.WriteLine("The Order was successfully deleted.");
                        Console.WriteLine("Press any key to continue...");
                    }
                    else
                    {
                        Console.WriteLine("An error occurred.");
                        Console.WriteLine(deleteResponse.Message);
                    }
                }
                else
                {
                    Console.WriteLine("A delete order was cancelled. Press any key to continue.");
                }
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("An error has occurred");
                Console.WriteLine(response.Message);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
        }
コード例 #4
0
        public OrderDateLookupResponse OrderLookupDate(DateTime orderDate)
        {
            OrderDateLookupResponse orderDateResponse = new OrderDateLookupResponse();

            orderDateResponse.ListOfOrders = _orderRepository.GetAllOrdersActual(orderDate);

            if (orderDateResponse.ListOfOrders == null || orderDateResponse.ListOfOrders.Count() == 0)
            {
                orderDateResponse.Success = false;
                orderDateResponse.Message = $"There were no orders in {orderDate.ToString("MM/dd/yyyy")}";
            }
            else
            {
                orderDateResponse.Success = true;
            }
            return(orderDateResponse);
        }
コード例 #5
0
        public static void Execute()
        {
            Console.Clear();
            Console.WriteLine("Edit Order");
            Console.WriteLine("*************************************");

            OrderManager manager = OrderManagerFactory.Create();

            var userDateTimeInPut = ConsoleIO.GetDateTimeFromUser();
            OrderDateLookupResponse orderDateResponse = manager.OrderLookupDate(userDateTimeInPut);

            if (orderDateResponse.Success)
            {
                foreach (var order in orderDateResponse.ListOfOrders)
                {
                    Console.WriteLine($"Order Number: {order.OrderNumber}, Customer Name: {order.CustomerName}, State {order.State}, Tax Rate: {order.TaxRate}, Area: {order.Area}, Cost Per Square Foot: {order.CostPerSquareFoot}, Labor Cost Per Square Foot: {order.LaborCostPerSquareFoot}, Material Cost: {order.MaterialCost}, Labor Cost: {order.LaborCost}, Tax Total: {order.TotalTax}, Total Cost: {order.TotalCost}");
                }
                int number = ConsoleIO.GetOrderNumber("Enter the Order number do you want to edit?");

                var   originalOrder = new Order(orderDateResponse.ListOfOrders.SingleOrDefault(f => f.OrderNumber == number));
                Order updatedOrder  = new Order(originalOrder);

                TaxLookupResponse     taxesResponse   = manager.LoadTaxes();
                ProductLookupResponse productResponse = manager.LoadProducts();

                Console.Clear();
                updatedOrder.OrderDate    = userDateTimeInPut;
                updatedOrder.CustomerName = ConsoleIO.EditGetStringFromUser(updatedOrder, $"(Previous Name: {originalOrder.CustomerName}) Enter Customer Name: ");

                updatedOrder.State       = ConsoleIO.EditGetStateFromUser(updatedOrder, $"(Previous State: {originalOrder.State}) State: ", taxesResponse.Taxes);
                updatedOrder.ProductType = ConsoleIO.EditGetProductFromUser(updatedOrder, $"(Previous Type: {originalOrder.ProductType}) Product Type: ", productResponse.Products);
                updatedOrder.Area        = ConsoleIO.EditGetAreaFromUser(updatedOrder, $"(Previous Area: {originalOrder.Area}) Area: ");

                Console.WriteLine($"Customer Name: {updatedOrder.CustomerName}, State: {updatedOrder.State}, Product Type: {updatedOrder.ProductType}, Area: {updatedOrder.Area}");
                Console.WriteLine();
                if (ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to add this file?") == "Y")
                {
                    EditOrderResponse editResponse = manager.EditOrder(updatedOrder);
                    if (editResponse.Success)
                    {
                        Console.WriteLine("The Order was successfully updated.");
                        Console.WriteLine("Press any key to continue...");
                    }
                    else
                    {
                        Console.WriteLine("An error occurred.");
                        Console.WriteLine(editResponse.Message);
                    }
                }
                else
                {
                    Console.WriteLine("Edit order was cancelled. Press any key to continue.");
                }
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("An error has occurred");
                Console.WriteLine(orderDateResponse.Message);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
        }