public RemoveOrderResponse GetOrderToRemove(string date, int orderNumber)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();
            var orders = _orderRepository.ReadOrders(date);

            if (orders.Count() == 0 || orders == null)
            {
                response.Success = false;
                response.Message = $"{date} is not a valid order date.";
                return(response);
            }
            try
            {
                response.Orders = orders;                                                                 //returns the lists of orders with that order date
                var orderToBeRemoved = response.Orders.FirstOrDefault(o => o.OrderNumber == orderNumber); //filtered out one to be edited
                if (orderToBeRemoved == null)
                {
                    response.Success = false;
                    response.Message = $"{orderNumber} is not a valid order number.";
                    return(response);
                }
                response.Success = true;
                response.Order   = orderToBeRemoved;               //returns the order to be edited
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
            }
            return(response);
        }
        public RemoveOrderResponse RemoveOrder(Order order, string date, int orderNumber)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();
            var orders = _orderRepository.ReadOrders(date);             //returns list of all orders from that order date

            if (orders == null)
            {
                response.Success = false;
                response.Message = $"{date} is not a valid order date.";
            }
            else if (orders.Count() == 1)
            {
                string orderFilename       = "Orders_" + date + ".txt";
                var    correctFileToDelete = _orderPath + "\\" + orderFilename;
                File.Delete(correctFileToDelete);
            }
            else
            {
                var ordersFiltered = orders.Where(o => o.OrderNumber != orderNumber).ToList(); //filtered out one to be removed
                response.Success = true;
                _orderRepository.OverwriteFile(ordersFiltered, date);                          //sending all orders that were filtered (ordersFiltered) to make a new file, ergo removing an order
                response.Orders    = ordersFiltered;                                           //returns the orders
                response.OrderDate = date;                                                     //returns original order date (so that won't change)
            }

            return(response);
        }
        public void OrderAddTest(string customerName, string state, string productType, decimal area, bool expectedResult)
        {
            int originalOrderNumber = 0;

            DateTime date = DateTime.Today;

            date = date.AddYears(1);

            Order order = new Order()
            {
                CustomerName = customerName, State = state, ProductType = productType, Area = area
            };

            order.OrderDate = date;

            OrderManager manager = OrderManagerFactory.Create();

            AddOrderResponse response = manager.OrderAdd(order.OrderDate, order, originalOrderNumber);

            var actual = response.Success;

            Assert.AreEqual(expectedResult, actual);

            RemoveOrderResponse response2 = manager.OrderRemove(order.OrderDate, originalOrderNumber, order);
        }
Beispiel #4
0
        private void RemoveOrder()
        {
            ConsoleIO.DisplaySingleOrder(order);

            while (true)
            {
                Console.WriteLine("Would you like to delete this order? Y/N");
                string removeOrder = Console.ReadLine().ToUpper();
                if (removeOrder.ToUpper() == "Y")
                {
                    break;
                }
                else if (removeOrder.ToUpper() == "N")
                {
                    Console.WriteLine("Remove order was cancelled. Press any key to return to the main manu: ");
                    Console.ReadKey();
                    Menu.Start();
                }
            }
            removeOrderResponse = accountManager.RemoveOrderResponse(orderDate, Convert.ToInt32(orderNumber));
            if (removeOrderResponse.Success == true)
            {
                Console.WriteLine(removeOrderResponse.Message);
                Console.ReadKey();
                Menu.Start();
            }
            else
            {
                Console.WriteLine("Something went wrong. Contact IT");
                Console.WriteLine("Press any key to continue.");
                Console.ReadKey();
            }
        }
Beispiel #5
0
        public RemoveOrderResponse RemoveOrder(Order order, DateTime orderDate, int orderNumber)
        {
            List <Order> Orders = ProductionRepository.GetOrders();

            List <Products> Products = ProductionRepository.GetProducts();

            List <Taxes> Taxes = ProductionRepository.GetTaxes();

            RemoveOrderResponse response = new RemoveOrderResponse();

            if (!Orders.Any(o => o.OrderDate == orderDate && o.OrderNumber == orderNumber))
            {
                response.Success = false;
                response.Message = "Error: That Order Cannot Be Found In Our System. Please Check Date and Order Number and Re-Enter.";
                return(response);
            }
            else
            {
                response.Order = order;

                response.OrderDate = orderDate;

                response.OrderNumber = orderNumber;

                response.Success = true;

                response.Message = "Order Found";

                return(response);
            }
        }
Beispiel #6
0
        public static void Execute()
        {
            Console.Clear();
            OrderManager        orderManager   = OrderManagerFactory.Create();
            RemoveOrderResponse responseRemove = new RemoveOrderResponse();
            FindOrderResponse   responseFind   = new FindOrderResponse();

            Console.Write("Enter an order date: ");
            string date = Console.ReadLine();

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

            responseFind = orderManager.FindOrder(date, orderNumber);
            if (responseFind.Success == false)
            {
                Console.WriteLine(responseFind.Message);
                Console.WriteLine("Press any key to contine...");
                Console.ReadKey();
                return;
            }

            Console.WriteLine("fOUND ORDER");
            Console.WriteLine("===================");
            Console.WriteLine($"{responseFind.OriginalOrder.OrderNumber} | {responseFind.OriginalOrder.OrderDate}");
            Console.WriteLine(responseFind.OriginalOrder.CustomerName);
            Console.WriteLine(responseFind.OriginalOrder.State);
            Console.WriteLine(responseFind.OriginalOrder.ProductType);
            Console.WriteLine(responseFind.OriginalOrder.MaterialCost);
            Console.WriteLine(responseFind.OriginalOrder.LaborCost);
            Console.WriteLine(responseFind.OriginalOrder.Tax);
            Console.WriteLine(responseFind.OriginalOrder.Total);
            Console.WriteLine();

            bool remove = false;

            do
            {
                Console.WriteLine("Are you sure you want to remove? Type 'y' for yes or 'n' for no");
                string userInputRemove = Console.ReadLine();
                if (userInputRemove == "y")
                {
                    remove = true;
                    break;
                }
                else if (userInputRemove == "n")
                {
                    break;
                }
            } while (true);

            if (!remove)
            {
                return;
            }

            orderManager.RemoveOrder(responseFind.OriginalOrder);
            return;
        }
Beispiel #7
0
        public JsonResult Delete(System.Int32 id)
        {
            RemoveOrderRequest request = new RemoveOrderRequest();

            request.OrderID = id;
            RemoveOrderResponse response = _orderService.RemoveOrder(request);

            return(Json(response));
        }
Beispiel #8
0
        public void CanRemoveOrder(DateTime orderDate, int orderNumber, bool expected)
        {
            OrderManager orderManager = OrderManagerFactory.create(orderDate);
            Orders       order        = orderManager.GetOrder(orderNumber);

            RemoveOrderResponse removeResponse = orderManager.RemoveOrder(order);

            Assert.AreEqual(removeResponse.Success, expected);
        }
Beispiel #9
0
        public RemoveOrderResponse OrderRemove(DateTime date, int orderNumber, Order order)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            _ordersRepository.Delete(date, orderNumber);
            response.Success = true;
            response.Message = "The order has been successfully removed. Press any key to continue";
            return(response);
        }
        public void Execute()
        {
            ConsoleIO.ShowChoice("3.   Remove Order");
            DateTime     orderDate;
            OrderManager orderManager;

            while (true)
            {
                orderDate    = ConsoleIO.inputDate("Enter order date (MMddyyyy): ");
                orderManager = OrderManagerFactory.create(orderDate);
                if (!orderManager.IfFileExist())
                {
                    Console.WriteLine("No order in this date!");
                    continue;
                }
                else
                {
                    break;
                }
            }

            Orders order;

            while (true)
            {
                int orderNumber = ConsoleIO.inputInt("Enter order number: ", false);
                order = orderManager.GetOrder(orderNumber);
                if (order is null)
                {
                    continue;
                }
                break;
            }

            ConsoleIO.DisplayOrderDetail(order);

            Console.Write("Are you sure want to remove?(Y/N): ");
            string result = Console.ReadLine();

            if (result.ToUpper() == "Y")
            {
                RemoveOrderResponse removeResponse = orderManager.RemoveOrder(order);
                if (removeResponse.Success)
                {
                    Console.WriteLine("Order removed successful.");
                }
                else
                {
                    Console.WriteLine("An error occurred: ");
                    Console.WriteLine(removeResponse.Message);
                }
                Console.WriteLine("\nPress any key to continue...");
                Console.ReadKey();
            }
        }
Beispiel #11
0
        public RemoveOrderResponse RemoveOrder(Order order)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.Success = _orderRepository.RemoveOrder(order);
            if (response.Success == false)
            {
                response.Message = ($"{order} does not exist!");
            }
            return(response);
        }
        public RemoveOrderResponse RemoveOrder(int ordernumber, DateTime OrderDate)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.Order = _orderRepository.RemoveOrder(ordernumber, OrderDate);
            if (response.Order == null)
            {
                response.Sucess = true;
            }
            return(response);
        }
Beispiel #13
0
        //public Order GetSingleOrder(string OrderDate,string OrderNumber)
        //{
        //     looping logic
        //}

        public RemoveOrderResponse RemoveOrder(Order orderBeingRemoved)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.OrderBeingRemoved = orderBeingRemoved;

            response.Success = _orderRepository.RemoveOrder(response.OrderBeingRemoved);

            return(response);
            // response.Success = _orderRepository.AddOrder(response.NewOrder);
        }
        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();
            }
        }
Beispiel #15
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Remove Order");
            Console.WriteLine(ConsoleIO.SeparatorBar);


            Orders order = new Orders();

            bool again = true;

            while (again)
            {
                date = IO.GetDateTimeFromUserForRemoveEdit();
                List <Orders> orders = manager.OrderLookup(date).Orders;
                order = IO.GetOrderNumber(orders);
                if (order != null)
                {
                    IO.DisplayOrder(order);
                    if (IO.GetYesNoAnswerFromUser("Are you sure you want to remove this order? ") == "Y")
                    {
                        RemoveOrderResponse response = manager.DeleteOrder(order);
                        if (response.Success)
                        {
                            Console.WriteLine("Order has been removed");
                            Console.WriteLine("Press any key to continue");
                            Console.ReadKey();
                            again = false;
                        }
                        else
                        {
                            Console.WriteLine("Remove failure!");
                            Console.WriteLine(response.Message);
                            Console.ReadKey();
                            again = false;
                        }
                    }
                    else
                    {
                        Console.WriteLine("Order not cancelled");
                        Console.WriteLine("Press any key to continue");
                        Console.ReadKey();
                        again = false;
                    }
                }
            }
        }
Beispiel #16
0
        public RemoveOrderResponse RemoveOrder(DateTime orderDate, int ordernumber)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            try
            {
                _orderRepository.DeleteOrder(orderDate, ordernumber);
                response.Success = true;
            }
            catch (Exception e)
            {
                response.Message = "The order was not able to be removed";
            }
            return(response);
        }
Beispiel #17
0
        public RemoveOrderResponse DeleteOrder(Orders order)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            if (_order.Delete(order))
            {
                response.Success = true;
                response.order   = order;
            }
            else
            {
                response.Success = false;
                response.Message = "Invalid order!";
            }
            return(response);
        }
Beispiel #18
0
        public RemoveOrderResponse RemoveOrder(Orders order)
        {
            RemoveOrderResponse removeResponse = new RemoveOrderResponse();

            if (!_orderRepository.RemoveOrder(order))
            {
                removeResponse.Success = false;
                removeResponse.Message = $"Cannot remove {order.OrderNumber}.";
            }
            else
            {
                removeResponse.Success = true;
                removeResponse.Message = $"Successfully removed order {order.OrderNumber}.";
            }
            return(removeResponse);
        }
Beispiel #19
0
        [TestCase(4, false)] // invalid order number not on date -- can't remove
        public void CanRemoveOrder(int orderNumber, bool expectedResult)
        {
            OrderManager      manager     = OrderManagerFactory.Create();
            AllOrdersResponse allResponse = manager.RetrieveAllOrders(new DateTime(2021, 01, 01));
            List <Order>      allOrders   = allResponse.Orders;

            OrderLookupResponse lookupResponse = manager.LookupOrder(new DateTime(2021, 01, 01), orderNumber);
            RemoveOrderResponse removeResponse = new RemoveOrderResponse();

            if (lookupResponse.Success)
            {
                removeResponse = manager.RemoveOrder(lookupResponse.Order, new DateTime(2021, 01, 01));
            }

            Assert.AreEqual(expectedResult, removeResponse.Success);
        }
Beispiel #20
0
        public RemoveOrderResponse RemoveOrder(RemoveOrderRequest request)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.Errors = new List <BusinessRule>();
            try {
                if (_orderRepository.Remove(request.OrderID) > 0)
                {
                    response.OrderDeleted = true;
                }
            } catch (Exception ex)
            {
                response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message));
            }
            return(response);
        }
Beispiel #21
0
        public RemoveOrderResponse RemoveOrder(int orderNumber, DateTime orderDateRemove)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.Order   = DisplayOrder(orderNumber, orderDateRemove).Order;
            response.Success = _ordersRepository.RemoveOrder(orderNumber, orderDateRemove);
            if (!response.Success)
            {
                response.Message = $"Your order was not successfully removed, try again later.";
            }
            else
            {
                response.Message = $"Your order was successfuly removed.";
            }
            return(response);
        }
        internal static void Run()
        {
            Console.Clear();
            ConsoleIO.TitleHeader("Remove an Order");
            Console.WriteLine();
            DateTime date     = ConsoleIO.GetDateFromUser();
            int      orderNum = ConsoleIO.GetIntFromUser("Please enter an order number: ");

            Manager           manager          = ManagerFactory.Create();
            GetOrdersResponse getOrderResponse = manager.GetOrders(date);
            Order             toRemove;

            try
            {
                toRemove = getOrderResponse.OrdersOnDate.Single(o => o.OrderNumber == orderNum);
            }
            catch
            {
                Console.Clear();
                Console.Write("No order with that date and order number could be found. Press any key to continue... ");
                Console.ReadKey();
                toRemove = null;
            }

            if (toRemove != null)
            {
                Console.Clear();
                ConsoleIO.PrintOrder(toRemove, true);
                bool userConfirmsRemove = ConsoleIO.ConsoleKeyConfirmationSwitch("Would you like to remove this order from the repository?", false);

                if (userConfirmsRemove)
                {
                    RemoveOrderResponse response = manager.RemoveOrder(toRemove);
                    Console.Clear();
                    if (response.Success)
                    {
                        Console.Write($"Successfully removed order #{response.Order.OrderNumber} for {response.Order.CustomerName} on {response.Order.OrderDate.ToString("MM/dd/yyyy")}. Press any key to continue...");
                        Console.ReadKey();
                    }
                    else
                    {
                        Console.Write(response.Message + "\nPress any key to continue...");
                        Console.ReadKey();
                    }
                }
            }
        }
        public void OrderRemoveTest(string customerName, string state, string productType, decimal area, int orderNumber, bool expectedResult)
        {
            Order order = new Order()
            {
                CustomerName = customerName, State = state, ProductType = productType, Area = area
            };

            OrderManager manager = OrderManagerFactory.Create();

            RemoveOrderResponse response = manager.OrderRemove(order.OrderDate, order.OrderNumber, order);

            var actual = response.Success;

            Assert.AreEqual(expectedResult, actual);

            AddOrderResponse response3 = manager.OrderAdd(order.OrderDate, order, order.OrderNumber);
        }
Beispiel #24
0
        public RemoveOrderResponse RemoveOrder(Order order)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            try
            {
                _orderRepo.RemoveOrder(order);
                response.Success = true;
                response.Order   = order;
                return(response);
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = "Error: something went wrong accessing the order repository. Please contact IT.\n" + $"({e.Message})";
                return(response);
            }
        }
Beispiel #25
0
        public void Execute()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();

            Console.WriteLine("Remove Order");
            SeperatorBar();

            int      orderNumber = QueryOrderNumber();
            DateTime orderDate   = QueryDate();

            RemoveOrderResponse response = manager.RemoveOrder(orderNumber, orderDate);

            DisplayOrder(response.Order);

            if (YorN($"Are you sure you want to remove your order?") == "Y")
            {
                if (response.Success)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    DisplayOrder(response.Order);
                    Console.WriteLine("Your order has been successfully removed");
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("An error occured");
                    Console.WriteLine(response.Message);
                }
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Order was not deleted");
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
        }
Beispiel #26
0
        public RemoveOrderResponse RemoveOrder(Order order, DateTime orderDate, int orderNumber)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.Order = _orderRepository.RemoveOrder(order, orderDate, orderNumber);

            if (response.Order == null)
            {
                response.Success = false;
                response.Message = "That order is not a valid order in our system. Please Check Order Information and Re-Enter.";
                return(response);
            }
            else
            {
                response.Success = true;
            }

            return(response);
        }
        public void Execute(OrderManager manager)
        {
            Console.Clear();
            Console.WriteLine("Remove an order");
            Console.WriteLine(ConsoleIO.SeparatorBar);
            int      orderNumber = ConsoleIO.GetRequiredIntFromUser("Enter an order number: ");
            DateTime orderDate   = ConsoleIO.GetRequiredLookUpDateTimeFromUser("Enter order date: ");

            OrderLookupResponse lookupResponse = manager.LookupOrder(orderDate, orderNumber);

            if (lookupResponse.Success)
            {
                ConsoleIO.DisplayOrderDetails(lookupResponse.Order);
                if (ConsoleIO.GetYesNoAnswerFromUser("Are you sure you want to remove this order? ") == "Y")
                {
                    RemoveOrderResponse removeResponse = new RemoveOrderResponse();
                    removeResponse = manager.RemoveOrder(lookupResponse.Order, lookupResponse.Order.OrderDate);

                    if (removeResponse.Success)
                    {
                        Console.Clear();
                        Console.WriteLine("Order Removed Successfully!");
                    }
                    else
                    {
                        Console.WriteLine("An error occurred: ");
                        Console.WriteLine(removeResponse.Message);
                    }
                }
                else // THEY DON'T WANT TO REMOVE, RETURN TO MAIN MENU
                {
                    Console.WriteLine("Removal Cancelled!");
                }
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(lookupResponse.Message);
            }

            Console.WriteLine("Press any key to continue.");
            Console.ReadKey();
        }
Beispiel #28
0
        public void RemoveOrderTest(DateTime orderDate, int orderNumber, bool expectedResult)
        {
            IRemoveOrder remove;

            RemoveOrderRules removeRule = new RemoveOrderRules();

            remove = removeRule;

            Order order = new Order();

            orderDate   = order.OrderDate;
            orderNumber = order.OrderNumber;

            RemoveOrderResponse response = remove.RemoveOrder(order, orderDate, orderNumber);

            expectedResult = response.Success;

            Assert.AreEqual(expectedResult, response.Success);
        }
Beispiel #29
0
        public RemoveOrderResponse RemoveOrderResponse(string orderDate, int orderNumber)
        {
            RemoveOrderResponse response = new RemoveOrderResponse();

            response.Orders = _orderRepository.GetSingleOrder(orderDate, orderNumber);

            if (response.Orders == null)
            {
                response.Success = false;
                response.Message = $"{orderNumber} is not a valid order number.";
            }
            else
            {
                _orderRepository.RemoveOrder(response.Orders);
                response.Success = true;
                response.Message = "Your order was deleted. Press any key to return to the main menu:";
            }

            return(response);
        }
Beispiel #30
0
        public RemoveOrderResponse RemoveOrder(Order order, DateTime date)
        {
            RemoveOrderResponse response  = new RemoveOrderResponse();
            List <Order>        allOrders = _orderRepository.LoadAllOrders(date);

            if (!allOrders.Exists(o => o.OrderNumber == order.OrderNumber))
            {
                response.Success = false;
                response.Message = $"Order {order.OrderNumber} does not exist for {date}.";
            }
            else if (allOrders.Count == 0)
            {
                response.Success = false;
                response.Message = $"No orders exist for {date}";
            }
            else
            {
                _orderRepository.DeleteOrder(order);
                response.Success = true;
            }
            return(response);
        }