Пример #1
0
        public OrderRemoveResponse RemoveOrder(string orderDate, int OrderNumber)
        {
            OrderRemoveResponse response = new OrderRemoveResponse();

            response.OrderList = _orderRepository.List(orderDate);

            Order order = response.OrderList.Orders.SingleOrDefault(p => p.OrderNumber == OrderNumber);

            if (order != null)
            {
                response.OrderList.Orders.Remove(order);
            }
            //Call in the current list with the orderDate
            //If orderDate doens't exsit errror
            //var order = list.Single or dault x = x.OrderNumber == orderNumber
            //if order is not null List.Remove(item);
            if (response.OrderList.Orders.Contains(order) == true)
            {
                response.Success = false;
                response.Message = "Order could not be Deleted";
            }
            else
            {
                _orderRepository.SaveOrder(response.OrderList, response.OrderList.OrderDate);
                response.Success = true;
            }

            return(response);
        }
        public void CanRemoveOrder()
        {
            OrderManager     manager   = OrderManagerFactory.Create();
            OrderAddResponse response  = new OrderAddResponse();
            string           orderDate = "12202021";
            Order            addOrder  = new Order
            {
                CustomerName = "Bob",
                State        = "OH",
                ProductType  = "Wood",
                Area         = 150.00M
            };

            response = manager.AddOrder(orderDate, addOrder);

            Assert.AreEqual("Bob", response.OrderList.Orders[2].CustomerName);
            Assert.AreEqual("OH", response.OrderList.Orders[2].State);
            Assert.AreEqual("Wood", response.OrderList.Orders[2].ProductType);
            Assert.AreEqual(150.00M, response.OrderList.Orders[2].Area);

            OrderRemoveResponse removeResponse = new OrderRemoveResponse();

            removeResponse = manager.RemoveOrder(orderDate, 2);

            Assert.IsTrue(removeResponse.Success);
        }
        public OrderRemoveResponse Remove(Orders passOrderRemove, string orderDate, int orderNumber)
        {
            OrderRemoveResponse response = new OrderRemoveResponse();

            //response.Orders = _orderRepository.LoadOrder(orderDate);

            if (passOrderRemove == null)
            {
                response.Success = false;
                response.Message = $"{orderDate} or {orderDate} is not a valid date.";
                return(response);
            }
            else
            {
                response.Success = true;
            }
            IRemoveOrderRepo removeRule = RemoveOrderRulesFactory.Create();

            response = removeRule.OrderRemove(response.Orders, orderDate, orderNumber);

            if (response.Success)
            {
                _orderRepository.OrdersRemove(passOrderRemove, orderDate, orderNumber);
            }

            return(response);
        }
        public void Execute()
        {
            string       orderDate;
            int          orderNumber;
            bool         isOrderNumberValid;
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Remove Order");
            Console.WriteLine("-------------------------------");
            orderDate = ConsoleIO.validateDateOrder();
            while (true)
            {
                orderNumber        = Convert.ToInt32(ConsoleIO.GetRequiredNumberString("Enter Order Number: "));
                isOrderNumberValid = manager.OrderNumberCount(orderDate, orderNumber);
                if (isOrderNumberValid == false)
                {
                    Console.WriteLine("Not a Valid Order Number");
                    Console.ReadKey();
                }
                else
                {
                    break;
                }
            }

            //Use display single order
            OrderLookUpResponse lookUpOrder = new OrderLookUpResponse();

            lookUpOrder = manager.LookUpOrder(orderDate);

            Order deleteOrder = lookUpOrder.OrderList.Orders[orderNumber];

            ConsoleIO.DisplaySingleOrder(deleteOrder, orderDate);
            //Display Order Condition
            //Query user to delete the order information
            string userInput = ConsoleIO.GetRequiredStringFormuser("Are you sure you want to delete this order?(y/n)");

            if (userInput != "y")
            {
                return;
            }
            //Figure out how to show error if not y or n

            //Turn order Date into a int
            OrderRemoveResponse response = manager.RemoveOrder(orderDate, orderNumber);

            if (response.Success)
            {
                Console.WriteLine("Order was Successfully Deleted");
            }
            else
            {
                Console.WriteLine("An Error Occured");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Пример #5
0
        public OrderRemoveResponse OrderRemove(Orders orders, string orderDate, int orderNumber)
        {
            OrderRemoveResponse response = new OrderRemoveResponse();

            response.Orders      = orders;
            response.orderDate   = orderDate;
            response.orderNumber = orderNumber;

            response.Success = true;

            return(response);
        }
        [TestCase("10/16/2016", 2, true)]    //Both date and number correct. Pass.

        public void DeleteOrderTest(string orderDateString, int orderNumber, bool expectedResult)
        {
            OrderManager deleteTester = OrderManagerFactory.Create();

            DateTime orderDate;

            DateTime.TryParse(orderDateString, out orderDate);

            OrderRemoveResponse response = deleteTester.RemoveOrder(orderDate, orderNumber);

            Assert.AreEqual(expectedResult, response.Success);
        }
Пример #7
0
        public void Execute()
        {
            string workflow = "Remove";

            OrderManager orderManager = OrderManagerFactory.Create();

            Headers.DisplayHeader(workflow);

            //get date
            DateTime date = ConsoleIO.GetExistingOrderDate("Enter the date of the order you would like to remove (MM/DD/YYYY): ");

            Headers.DisplayHeader(workflow);

            //get order number
            int orderNumber = ConsoleIO.GetOrderNumberFromUser("Enter the order number: ");

            OrderGetSingleResponse getOrderResponse = orderManager.GetSingleOrder(date, orderNumber);

            if (getOrderResponse.Success)
            {
                Headers.DisplayHeader(workflow);
                ShowDetails.DisplayOrderDetails(getOrderResponse.Order);

                if (ConsoleIO.GetYesOrNo("Would you like to remove this order?") == "Y")
                {
                    OrderRemoveResponse removeOrderResponse = orderManager.RemoveOrder(getOrderResponse.Order);
                    if (!removeOrderResponse.Success)
                    {
                        Console.WriteLine("There was an error removing the order.");
                        Console.WriteLine(removeOrderResponse.Message);
                    }
                    else
                    {
                        Console.WriteLine("Order removed! Press any key to return to main menu...");
                        Console.ReadKey();
                    }
                }
                else
                {
                    Console.WriteLine("Remove cancelled. Press any key to return to Main Menu...");
                    Console.ReadKey();
                }
            }
            else
            {
                Console.WriteLine("An error occured:");
                Console.WriteLine(getOrderResponse.Message);
                Console.WriteLine("Press any key to return to main menu...");
                Console.ReadKey();
                return;
            }
        }
Пример #8
0
        public OrderRemoveResponse RemoveOrder(Order order)
        {
            OrderRemoveResponse response = new OrderRemoveResponse();

            response.Success = _orderRepository.Remove(order);

            if (!response.Success)
            {
                response.Message = "Remove unsuccessful";
            }

            return(response);
        }
Пример #9
0
        public OrderRemoveResponse RemoveOrder(DateTime orderDate, int orderNumber)
        {
            OrderRemoveResponse response = new OrderRemoveResponse();
            List <Order>        orders   = _orderRepository.List(orderDate);

            if (orderDate < new DateTime(2016, 1, 1))
            {
                response.Success = false;
                response.Message = "No orders before the current year may be deleted.";
                return(response);
            }

            if (orders == null || orders.Count == 0)
            {
                response.Success = false;
                return(response);
            }
            else
            {
                foreach (var order in orders)
                {
                    if (orderNumber != order.OrderNumber)
                    {
                        continue;
                    }
                    else
                    {
                        _orderRepository.Delete(orderDate, orderNumber);
                        response.Success = true;
                        response.Message = "Order deleted";
                        return(response);
                    }
                }
                response.Success = false;
                return(response);
            }
        }
Пример #10
0
        public void Execute()
        {
            bool removed;
            int  orderNumber;

            ConsoleIO.Header();
            Console.WriteLine("Remove an Order");
            Console.WriteLine();
            do
            {
                DateTime removeDate = ConsoleIO.GetOrderDateFromUser("Please enter a date for the order you wish you remove: ");

                ConsoleIO.Header();
                Console.WriteLine("Remove an Order");
                Console.WriteLine();

                List <Order> orders = ConsoleIO.PrintOrderList(removeDate);

                Console.WriteLine(ConsoleIO.Separator);
                Console.WriteLine();
                if (orders == null)
                {
                    Console.WriteLine("Press any key to continue.");
                    Console.ReadKey();
                    return;
                }

                Console.WriteLine("Please enter the order number you wish to remove: ");
                int.TryParse(Console.ReadLine(), out orderNumber);
                if (orderNumber <= 0)
                {
                    Console.WriteLine("Order Number is not valid.");
                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    return;
                }
                for (int i = 0; i < orders.Count; i++)
                {
                    if (orderNumber == orders[i].OrderNumber)
                    {
                        break;
                    }
                    else if ((i == orders.Count - 1) && (orders[i].OrderNumber != orderNumber))
                    {
                        Console.WriteLine("Order Number {0} does not exist on {1}", orderNumber, removeDate);
                        Console.WriteLine("Press any key to continue");
                        Console.ReadKey();
                        return;
                    }
                }
                string removeOrder = ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to remove order number {orderNumber} on {removeDate:d}? ");

                if ((removeOrder.ToUpper() == "Y") || (removeOrder.ToUpper() == "YES"))
                {
                    OrderManager        orderManager = OrderManagerFactory.Create();
                    OrderRemoveResponse response     = orderManager.RemoveOrder(removeDate, orderNumber);

                    ConsoleIO.Header();
                    Console.WriteLine("Order removed.");
                    Console.WriteLine("Press any key to continue.");
                    Console.ReadKey();
                    removed = false;
                    break;
                }
                else if ((removeOrder.ToUpper() == "N") || (removeOrder.ToUpper() == "NO"))
                {
                    ConsoleIO.Header();
                    Console.WriteLine("Remove cancelled.");
                    Console.WriteLine("Press any key to continue.");
                    Console.ReadKey();
                    removed = false;
                    return;
                }
                else
                {
                    removed = true;
                    ConsoleIO.Header();
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Please enter Y/N only.");
                    Console.ResetColor();
                    Console.WriteLine();
                }
            }while (removed);
        }
Пример #11
0
        public void Execute()
        {
            Console.Clear();
            OrderManager orderManager = OrderManagerFactory.Create();

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

            bool   goodDate = false;
            string orderDate;

            do
            {
                //must be in the future
                Console.Write("Enter the date you are interested in (use MMDDYYYY format):\n");

                orderDate = Console.ReadLine();
                if (orderDate != null && orderDate.Count() == 8)
                {
                    goodDate = true;
                    continue;
                }
                else
                {
                    Console.WriteLine("Please enter a date in correct format.");
                    goodDate = false;
                }
            } while (goodDate == false);

            bool goodNumber = false;
            int  orderNumber;

            do
            {
                //must be in the future
                Console.Write("Enter Order Number you wish to edit:\n");

                orderNumber = int.Parse(Console.ReadLine());
                if (orderNumber <= 0 || orderNumber > 0)
                {
                    goodNumber = true;
                    continue;
                }
                else
                {
                    Console.WriteLine("Please enter a good order number.");
                    goodNumber = false;
                }
            } while (goodNumber == false);

            Orders        passOrderRemove = new Orders();
            List <Orders> lastOrders      = new List <Orders>();

            lastOrders = orderManager._orderRepository.FindOrder(orderDate);

            if (lastOrders == null)
            {
                Console.WriteLine("There are no orders for order number provided. ");
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
                Menu.Start();
            }
            else
            {
                foreach (var order in lastOrders)
                {
                    if (order.OrderNumber == orderNumber)
                    {
                        passOrderRemove.OrderNumber            = order.OrderNumber;
                        passOrderRemove.CustomerName           = order.CustomerName;
                        passOrderRemove.State                  = order.State;
                        passOrderRemove.TaxRate                = order.TaxRate;
                        passOrderRemove.ProductType            = order.ProductType;
                        passOrderRemove.Area                   = order.Area;
                        passOrderRemove.CostPerSquareFoot      = order.CostPerSquareFoot;
                        passOrderRemove.LaborCostPerSquareFoot = order.LaborCostPerSquareFoot;
                        passOrderRemove.MaterialCost           = order.MaterialCost;
                        passOrderRemove.LaborCost              = order.LaborCost;
                        passOrderRemove.Tax   = order.Tax;
                        passOrderRemove.Total = order.Total;
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
            }

            Console.Write($"\nOrderNumber is {passOrderRemove.OrderNumber}");
            Console.Write($"\nCustomerName is {passOrderRemove.CustomerName}");
            Console.Write($"\nStateName is {passOrderRemove.State}");
            Console.Write($"\nTaxRate is {passOrderRemove.TaxRate}");
            Console.Write($"\nProductType is {passOrderRemove.ProductType}");
            Console.Write($"\nArea is {passOrderRemove.Area }");
            Console.Write($"\nCostPerSquareFoot is {passOrderRemove.CostPerSquareFoot }");
            Console.Write($"\nLaborCostPerSquareFoot is {passOrderRemove.LaborCostPerSquareFoot}");
            Console.Write($"\nMaterialCost: {passOrderRemove.MaterialCost}");
            Console.Write($"\nLaborCost: {passOrderRemove.LaborCost}");
            Console.Write($"\nTax: {passOrderRemove.Tax}");
            Console.Write($"\nTotal: {passOrderRemove.Total}");

            Console.Write("\n Please review changes above. \n If you are sure you want to delete, please type: Delete \n");

            string resp = Console.ReadLine();

            if (resp == "Delete")
            {
                OrderRemoveResponse response = orderManager.Remove(passOrderRemove, orderDate, orderNumber);

                if (response.Success)
                {
                    Console.WriteLine("Your order has been successfully removed!");
                }
                else
                {
                    Console.WriteLine("An error occurred: ");
                    Console.WriteLine(response.Message);
                }
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            else
            {
                Menu.Start();
            }
        }