コード例 #1
0
        public void CanEditOrderTestRepo()
        {
            var productRepo = new ProductFileRepo(Settings.ProductPath);
            var taxRepo     = new TaxFileRepo(Settings.TaxPath);

            var product = productRepo.LoadProducts("tile");
            var tax     = taxRepo.LoadTaxes("MN");

            OrderManager       manager  = new OrderManager(new FileOrderRepo(FilePath, Temp), productRepo, taxRepo);
            AddAnOrderResponse addOrder = manager.AddOrder(new DateTime(2018, 09, 25), "Name Test", tax, product, 100, 0);

            manager.AddToOrderRepo(addOrder.AddedOrder);

            addOrder.AddedOrder.Area         = 250;
            addOrder.AddedOrder.CustomerName = "Edited Name Test";

            manager.EditOrder(addOrder.AddedOrder);

            var orderResponse = manager.OrderLookupDate(addOrder.AddedOrder.OrderDate);
            var editedOrder   = orderResponse.ListOfOrders.SingleOrDefault(o => o.OrderNumber.Equals(addOrder.AddedOrder.OrderNumber));

            Assert.IsNotNull(editedOrder);
            Assert.AreEqual(addOrder.AddedOrder.Area, editedOrder.Area);
            Assert.AreEqual(addOrder.AddedOrder.CustomerName, editedOrder.CustomerName);
        }
コード例 #2
0
        internal static void Execute()
        {
            Console.Clear();
            Console.WriteLine("Add an Order ");
            Console.WriteLine("*************************************");
            Console.WriteLine();

            OrderManager manager = OrderManagerFactory.Create();

            DateTime orderDate    = ConsoleIO.GetFutureDateTime("Enter a valid Date EX: MM/DD/YYYY ");
            string   customerName = ConsoleIO.GetStringFromUser("Customer Name: ");

            TaxLookupResponse taxResponse = manager.LoadTaxes();
            var state = ConsoleIO.GetStateFromUser("State: ", taxResponse.Taxes);

            IEnumerable <Product> GetProducts = manager.GetAllProducts();

            ConsoleIO.ShowListOfProducts(GetProducts);

            ProductLookupResponse productResponse = manager.LoadProducts();
            var     productType = ConsoleIO.GetProductFromUser("Product Type: ", productResponse.Products);
            decimal area        = ConsoleIO.GetAreaFromUser("Area: ");

            Console.WriteLine();
            Console.WriteLine("*************************************");


            AddAnOrderResponse addResponse = manager.AddOrder(orderDate, customerName, state, productType, area, 0);

            if (!addResponse.Success)
            {
                Console.WriteLine("An error has occured");
                Console.WriteLine(addResponse.Message);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine($"Customer Name: {customerName}, State: {state.Abbreviation}, Product Type: {productType.Name}, Area: {area}");
                Console.WriteLine();
                if (ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to add this file?") == "Y")
                {
                    manager.AddToOrderRepo(addResponse.AddedOrder);
                    Console.WriteLine("The Order was successfully added.");
                    Console.WriteLine("Press any key to continue...");
                }
                else
                {
                    Console.WriteLine("Order cancelled. Press any key to continue.");
                    Console.WriteLine("Press any key to continue...");
                }
                Console.ReadLine();
            }
        }
コード例 #3
0
        public void CanSaveOrder()
        {
            OrderManager manager = new OrderManager(new OrdersTestRepo(), new ProductTestRepo(), new TaxTestRepo());

            Order order = AutoFixtureHelper.CreateOrder();

            manager.AddToOrderRepo(order);

            DisplayOrderResponse response = manager.DisplayOrder(order.OrderDate);

            Assert.IsNotNull(response.ListOfOrders);
            Assert.IsTrue(response.Success);
            Assert.AreEqual(order.OrderNumber, 1); //Tests the GetORderNumberBasedOnDateMethod
        }
コード例 #4
0
        public void Execute()
        {
            OrderManager orderManager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Add Order");
            Console.WriteLine("--------------------------------");

            DateTime date         = ConsoleIO.GetRequiredAddDateFromUser("Enter order date. Ex. MM/DD/YYYYY : ");
            string   customerName = ConsoleIO.RequiredStringFromUser("CustomerName: ");
            string   state        = ConsoleIO.GetRequiredStateFromUser("State abbreviation: ");

            List <Product> listProducts = orderManager.GetListOfProducts();

            ConsoleIO.DisplayListOfProducts(listProducts);

            string  productType = ConsoleIO.GetRequiredProductType("Enter product type: ");
            decimal area        = ConsoleIO.GetRequiredAreaFromUser("Area: ");

            AddOrderResponse response = orderManager.AddOrder(date, customerName, state, productType, area, 0);

            if (!response.Success)
            {
                Console.WriteLine("An error occured");
                Console.WriteLine(response.Message);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine();
                ConsoleIO.DisplayOrderDetails(response.Order);
                Console.WriteLine();
                if (ConsoleIO.GetYesNoAnswerFromUser("Add the followng order") == "Y")
                {
                    orderManager.AddToOrderRepo(response.Order);
                    Console.WriteLine("Order Added!");
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("Order Cancelled");
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
            }
        }
コード例 #5
0
        public void CanAddOrderTest(string customerName, string state, string material, decimal area, bool success)
        {
            var productRepo = new ProductFileRepo(Settings.ProductPath);
            var taxRepo     = new TaxFileRepo(Settings.TaxPath);

            var product = productRepo.LoadProducts(material);
            var tax     = taxRepo.LoadTaxes(state);

            OrderManager manager = new OrderManager(new FileOrderRepo(FilePath, Temp), new ProductFileRepo(Settings.ProductPath), new TaxFileRepo(Settings.TaxPath));

            AddAnOrderResponse addOrder = manager.AddOrder(new DateTime(2020, 09, 25), customerName, tax, product, area, 0);

            manager.AddToOrderRepo(addOrder.AddedOrder);

            var thisOrder = manager.OrderLookupDate(new DateTime(2020, 09, 25));

            Assert.AreEqual(3, thisOrder.ListOfOrders.Count());
            var orderThatIAdded = thisOrder.ListOfOrders.SingleOrDefault(o => o.OrderNumber == addOrder.AddedOrder.OrderNumber);

            Assert.AreEqual(addOrder.AddedOrder.CustomerName, orderThatIAdded.CustomerName);
            Assert.AreEqual(addOrder.AddedOrder.Area, orderThatIAdded.Area);
            Assert.AreEqual(addOrder.AddedOrder.State, orderThatIAdded.State);
        }
コード例 #6
0
        public void CanDeleteOrder()
        {
            var productRepo = new ProductFileRepo(Settings.ProductPath);
            var taxRepo     = new TaxFileRepo(Settings.TaxPath);

            var product = productRepo.LoadProducts("tile");
            var tax     = taxRepo.LoadTaxes("MN");

            OrderManager manager = new OrderManager(new FileOrderRepo(FilePath, Temp), new ProductFileRepo(Settings.ProductPath), new TaxFileRepo(Settings.TaxPath));

            AddAnOrderResponse addResponse = manager.AddOrder(new DateTime(2020, 09, 25), "Name Test", tax, product, 100, 0);

            manager.AddToOrderRepo(addResponse.AddedOrder);

            var thisOrder = manager.OrderLookupDate(new DateTime(2020, 09, 25));

            Assert.AreEqual(3, thisOrder.ListOfOrders.Count());

            manager.DeleteOrder(addResponse.AddedOrder.OrderDate, addResponse.AddedOrder.OrderNumber);

            var afterDeleted = manager.OrderLookupDate(new DateTime(2020, 09, 25));

            Assert.AreEqual(2, afterDeleted.ListOfOrders.Count());
        }