public OrdersLookupResponse LookupOrders(string orderdate)
        {
            OrdersLookupResponse  orderslookupresponse = new OrdersLookupResponse();
            OrderDateFileResponse orderdatefile        = _orderRepository.GetPath(orderdate);

            if (string.IsNullOrEmpty(orderdatefile.path))
            {
                orderslookupresponse.Success = false;
                orderslookupresponse.Message = $"File not found for Order date {orderdate} or some problem. Please contact IT.";
            }
            else
            {
                orderslookupresponse.Orderlist = _orderRepository.LoadOrders(orderdatefile.path);
                if (orderslookupresponse.Orderlist.Count > 0)
                {
                    orderslookupresponse.Success = true;
                }
                else
                {
                    orderslookupresponse.Success = false;
                    orderslookupresponse.Message = $"No orders with {orderdate} or problem with the file. Please enter another order date or contact IT!";
                }
            }
            return(orderslookupresponse);
        }
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Lookup an Order(s)");
            Console.WriteLine("--------------------------");
            string orderdate = ConsoleIO.EnterOrderdate("Enter an order date in mm/dd/yyyy format, example 01/12/2015: ");

            OrdersLookupResponse orderslookupresponse = manager.LookupOrders(orderdate);

            if (orderslookupresponse.Success)
            {
                foreach (Order order in orderslookupresponse.Orderlist)
                {
                    ConsoleIO.DisplayOrderDetails(order, orderdate);
                }
            }
            else
            {
                Console.WriteLine(orderslookupresponse.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Example #3
0
        public void CheckOrders()
        {
            OrderManager manager = OrderFactory.Create();
            Order        order   = new Order
            {
                OrderNumber            = 113,
                CustomerName           = "Philip Chang",
                State                  = "New York",
                TaxRate                = 8,
                ProductType            = "Wood",
                Area                   = 900,
                CostPerSquareFoot      = 5,
                LaborCostPerSquareFoot = 10,
                OrderDate              = new DateTime(2018, 05, 22)
            };

            OrdersLookupResponse responses = manager.LookupOrders(order.OrderDate);

            Assert.AreEqual(responses.Orders.Count, 1);
            Assert.AreEqual(responses.Orders[0].OrderNumber, order.OrderNumber);
            Assert.AreEqual(responses.Orders[0].CustomerName, order.CustomerName);
            Assert.AreEqual(responses.Orders[0].State, order.State);
            Assert.AreEqual(responses.Orders[0].TaxRate, order.TaxRate);
            Assert.AreEqual(responses.Orders[0].ProductType, order.ProductType);
            Assert.AreEqual(responses.Orders[0].Area, order.Area);
            Assert.AreEqual(responses.Orders[0].CostPerSquareFoot, order.CostPerSquareFoot);
            Assert.AreEqual(responses.Orders[0].LaborCostPerSquareFoot, order.LaborCostPerSquareFoot);
            Assert.AreEqual(responses.Orders[0].OrderDate, order.OrderDate);
        }
Example #4
0
        public void LookupOrdersTest(string orderdate, bool expectedSuccess, string expectedmessage)
        {
            OrderManager         manager = OrderManagerFactory.Create();
            OrdersLookupResponse orderslookupresponse = manager.LookupOrders(orderdate);

            Assert.AreEqual(expectedSuccess, orderslookupresponse.Success);
            if (orderslookupresponse.Success == false)
            {
                Assert.AreEqual(expectedmessage, orderslookupresponse.Message);
            }
        }
        public int Generateordernumber(string orderdate)
        {
            int ordernumber = 0;
            OrdersLookupResponse orderslookupresponse = LookupOrders(orderdate);

            if (orderslookupresponse.Success)
            {
                var orders = orderslookupresponse.Orderlist.OrderByDescending(o => o.OrderNumber).Take(1).ToList();
                ordernumber = orders.First().OrderNumber + 1;
            }
            else
            {
                ordernumber = 1;
            }
            return(ordernumber);
        }
Example #6
0
        public OrdersLookupResponse LookupOrders(DateTime date)
        {
            OrdersLookupResponse response = new OrdersLookupResponse();

            response.Orders = _orderRepository.GetOrders(date);

            if (response.Orders == null)
            {
                response.Success = false;
                response.Message = $"Orders Date of ({ date.ToString("MM-dd-yyyy")}) is invalid.";
            }
            else
            {
                response.Success = true;
            }
            return(response);
        }
Example #7
0
        public void Execute()
        {
            OrderManager manager = OrderFactory.Create();

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

            Order order = new Order();


            SetOrderDate(order);
            SetCustomerName(order);
            SetState(order);
            SetProduct(order);
            SetArea(order);

            //display the order
            Console.WriteLine("This is the order you want to add.");
            OrdersLookupResponse responseO = manager.LookupOrders(order.OrderDate);
            int orderNumber1 = manager.Counter(order);


            ConsoleIO.DisplayOrderDetailsOrderNumber(order, orderNumber1);

            bool change = AskConfirmation();

            if (change)
            {
                manager.AddOrder(order);
            }
            else
            {
                Console.WriteLine("Potential order not ordered.");
                ConsoleIO.PressAnyKey();
                Console.Clear();
            }
        }