Example #1
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();

            string userInput = SystemIO.OrderDateRequest();

            DateTime order = Convert.ToDateTime(userInput);

            int orderNumber = SystemIO.OrderNumberRequest();

            LookupOrderResponse response = manager.AccountByDateAndNumber(order, orderNumber);

            if (response.Success)
            {
                SystemIO.DisplaySingleOrderDetails(response.Order);
                Console.ReadKey();
                SystemIO.EditOrderMenu(response.Order);
            }
            else
            {
                Console.WriteLine(response.Message);
                Console.WriteLine("An error has occured: ");
            }
            Console.ReadKey();
        }
Example #2
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

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



            DateTime            OrderDate   = ConsoleIO.GetRequiredDateFromUser("Enter a date (MMDDYYYY): ");
            int                 OrderNumber = ConsoleIO.GetRequiredIntFromUser("Enter an order number: ");
            LookupOrderResponse response    = manager.LookupOrder(OrderNumber, OrderDate);



            if (response.Order.Area == -1)
            {
                Console.WriteLine("The ordernumber entered does not exist ");
                Console.WriteLine("Press any key to continue... ");
            }

            else if (response.Order.Area == -2)
            {
                Console.WriteLine("We do not have a file for that date, try making one ");
                Console.WriteLine("Press any key to continue... ");
            }
            else
            {
                ConsoleIO.DisplayOrderDetails(response.Order);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Example #3
0
        public LookupOrderResponse LookupOrder(string stringOrderDate, string orderNumber)
        {
            LookupOrderResponse response = new LookupOrderResponse();
            DateTime            orderDate;

            if (!DateTime.TryParseExact(stringOrderDate, "ddMMyyyy", CultureInfo.InvariantCulture,
                                        DateTimeStyles.None, out orderDate))
            {
                response.Success = false;
                response.Message = ($"{stringOrderDate} is not a valid date.");
                return(response);
            }

            var orders = _orderRepository.LoadOrders(stringOrderDate);

            response.Order = orders.Where(o => o.OrderNumber.Equals(orderNumber)).FirstOrDefault();

            if (response.Order is null)
            {
                response.Success = false;
                response.Message = $"There is no {orderNumber} order number on {stringOrderDate}";
            }
            else
            {
                response.Success = true;
            }

            return(response);
        }
Example #4
0
        public LookupOrderResponse SaveNewOrder(Order order)
        {
            LookupOrderResponse response = new LookupOrderResponse();

            response.Order   = order;
            response.Success = _orderRepo.SaveNewOrder(order);

            return(response);
        }
        public LookupOrderResponse LookupOrder(int OrderNumber, DateTime OrderDate)
        {
            LookupOrderResponse response = new LookupOrderResponse();

            response.Order = _orderRepository.LoadOrder(OrderNumber, OrderDate);
            if (response.Order == null)
            {
                response.Sucess = true;
            }
            return(response);
        }
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Remove Order");
            Console.WriteLine("=================================");
            Console.WriteLine();
            DateTime OrderDate   = ConsoleIO.GetRequiredDateFromUser("Enter a date (MMDDYYYY):");
            int      OrderNumber = ConsoleIO.GetRequiredIntFromUser("OrderNumber: ");

            LookupOrderResponse responseData = manager.LookupOrder(OrderNumber, OrderDate);
            RemoveOrderResponse RemoveData   = manager.RemoveOrder(OrderNumber, OrderDate);



            if (RemoveData.Order.Area == 1)
            {
                ConsoleIO.DisplayOrderDetails(responseData.Order);
                Console.WriteLine();

                if (ConsoleIO.GetYesNoAnswerFromUser("Remove the following information") == "Y")
                {
                    RemoveOrderResponse response = manager.RemoveOrder(OrderNumber, OrderDate);

                    Console.WriteLine("Order Removed!");
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("Remove Cancelled");
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
            }
            if (RemoveData.Order.Area == -1)
            {
                Console.WriteLine("The ordernumber entered does not exist ");
                Console.WriteLine("Press any key to continue... ");
                Console.ReadKey();
            }

            if (RemoveData.Order.Area == -2)
            {
                Console.WriteLine("We do not have a file for that date, try making one ");
                Console.WriteLine("Press any key to continue... ");
                Console.ReadKey();
            }
        }
Example #7
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Edit order");
            Console.WriteLine("--------------------------");
            Console.Write("Enter the order date (DDMMYYYY):");
            string orderDate = Console.ReadLine();

            Console.Write("Enter the order number: ");
            string orderNumber = Console.ReadLine();

            LookupOrderResponse response = manager.LookupOrder(orderDate, orderNumber);

            if (response.Success)
            {
                Console.Write("Customer Name: ");
                SendKeys.SendWait(Convert.ToString(response.Order.CustomerName));
                string newCustomerName = Console.ReadLine();
                Console.Write("State: ");
                SendKeys.SendWait(Convert.ToString(response.Order.State));
                string newState = Console.ReadLine();
                Console.Write("Product Type: ");
                SendKeys.SendWait(Convert.ToString(response.Order.ProductType));
                string newProductType = Console.ReadLine();
                Console.Write("Area: ");
                SendKeys.SendWait(Convert.ToString(response.Order.Area));
                string newArea = Console.ReadLine();

                Console.Write("Save changes? (Y/N):");
                string saveInput = Console.ReadLine();

                if (saveInput == "Y")
                {
                    EditOrderResponse editResponse = manager.EditOrder(orderDate, orderNumber, newCustomerName,
                                                                       newState, newProductType, newArea);
                }
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Example #8
0
        public LookupOrderResponse LookupOrder(DateTime orderDate)
        {
            LookupOrderResponse response = new LookupOrderResponse();

            response.Orders = _orderRepository.LoadAllOrders(orderDate);
            if (response.Orders == null)
            {
                response.Success = false;
                response.Message = ($"{orderDate} does not exist!");
            }
            else
            {
                response.Success = true;
            }
            return(response);
        }
Example #9
0
        public LookupOrderResponse AccountByDateAndNumber(DateTime date, int orderNumber)
        {
            LookupOrderResponse response = new LookupOrderResponse();

            response.Order = _orderRepo.LookupOrder(date, orderNumber);

            if (response.Order == null)
            {
                response.Success = false;
                response.Message = $"{date} is not a valid order";
            }
            else
            {
                response.Success = true;
            }
            return(response);
        }
Example #10
0
        internal void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();

            Console.WriteLine("Lookup an order");
            Console.WriteLine("--------------------");

            DateTime            orderDate = ConsoleIO.GetDate();
            LookupOrderResponse response  = manager.LookupOrder(orderDate);


            if (response.Success)
            {
                ConsoleIO.DisplayOrderDetails(response.Orders);
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }
            Console.ReadKey();
        }
Example #11
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            string dateInput = SystemIO.OrderDateRequest();

            DateTime orderDate = Convert.ToDateTime(dateInput);

            int orderNumber = SystemIO.OrderNumberRequest();

            LookupOrderResponse response = manager.AccountByDateAndNumber(orderDate, orderNumber);

            if (response.Success)
            {
                manager.DeleteOrder(response.Order);
                Console.WriteLine("Order has been deleted.");
            }
            else
            {
                Console.WriteLine("An error has occured: ");
                Console.WriteLine(response.Message);
            }
            Console.ReadKey();
        }
Example #12
0
        public EditOrderResponse EditOrder(
            string stringOrderDate,
            string stringOrderNumber,
            string newCustomerName,
            string newState,
            string newProductType,
            string newArea)
        {
            EditOrderResponse response = new EditOrderResponse();

            DateTime orderDate;

            if (!DateTime.TryParseExact(stringOrderDate, "ddMMyyyy", CultureInfo.InvariantCulture,
                                        DateTimeStyles.None, out orderDate))
            {
                response.Success = false;
                response.Message = ($"{stringOrderDate} is not a valid date.");
                return(response);
            }
            else
            {
                LookupOrderResponse luResponse = LookupOrder(stringOrderDate, stringOrderNumber);
                Order origOrder = luResponse.Order;
                if (origOrder == null)
                {
                    response.Success = false;
                    response.Message = $"There is no {stringOrderNumber} order number on {stringOrderDate}";
                    return(response);
                }
                else
                {
                    response.Success = true;
                    Tax     tax         = taxRep.LoadTax(newState);
                    Product product     = productRep.LoadProduct(newProductType);
                    decimal taxRate     = Convert.ToDecimal(tax.TaxRate);
                    decimal areaDecimal = Convert.ToDecimal(newArea);
                    decimal material    = areaDecimal * product.CostPerSquareFoot;
                    decimal labor       = areaDecimal * product.LaborCostPerSquareFoot;
                    decimal taxTotal    = ((material + labor) * (taxRate / 100));
                    decimal total       = material + labor + taxTotal;
                    _orderRepository.AddOrder(response.Order, stringOrderDate);

                    Order order = new Order
                    {
                        OrderNumber            = origOrder.OrderNumber,
                        CustomerName           = newCustomerName,
                        State                  = newState,
                        TaxRate                = taxRate,
                        ProductType            = newProductType,
                        Area                   = Convert.ToInt16(newArea),
                        CostPerSquareFoot      = product.CostPerSquareFoot,
                        LaborCostPerSquareFoot = product.LaborCostPerSquareFoot,
                        MaterialCost           = material,
                        LaborCost              = labor,
                        Tax   = taxTotal,
                        Total = total
                    };
                    _orderRepository.RemoveOrder(stringOrderDate, stringOrderNumber);
                    _orderRepository.AddOrder(response.Order, stringOrderDate);
                    response.Message = $"Order {stringOrderNumber} has been updated.";
                }
            }
            return(response);
        }