public void DisplayAllOrdersFromDate(string orderDate) { var response = Ops.GetAllOrdersFromDate(orderDate); if (response.Success) { foreach (var order in response.OrderList) { Console.WriteLine("Order number {0}", order.OrderNumber); Console.WriteLine("\t{0}, Total : {1:c}\n", order.CustomerName, order.Total); } } if (!response.Success) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("RemoveOrder : error displaying orders from selected date : {0}", response.Message) }; Ops.ErrorPassdown(log); Console.Clear(); Console.WriteLine("There was an error"); Console.WriteLine("Press enter to return to main menu"); Console.ReadLine(); } }
public void DisplayOrdersFromDate(string orderDate) { var response = Ops.GetAllOrdersFromDate(orderDate); if (response.Success) { OrderListFromDate = response.OrderList; PrintOrderInfo(response.OrderList); } else { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("LookUpOrder : error fetching all orders from entered date : {0}", response.Message) }; Ops.ErrorPassdown(log); Console.WriteLine("Date not found."); } }
public string GetOrderDateFromUser() { do { Console.Clear(); string orderDateString; DateTime orderDate; Console.Write("Enter an order date : "); orderDateString = Console.ReadLine(); bool validDate = DateTime.TryParse(orderDateString, out orderDate); bool doesExist = Ops.DoesDateExistBll(orderDate.ToString("MMddyyyy")); //here if (validDate && doesExist) { return orderDate.ToString("MMddyyyy"); } if (validDate) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = $"RemoveOrder : no orders found on date entered : {orderDateString}" }; Ops.ErrorPassdown(log); Console.WriteLine("There are no orders for that date..."); Console.WriteLine("Press enter to continue..."); Console.ReadLine(); } if (!validDate) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("RemoveOrder : invalid date entered : {0}", orderDateString) }; Ops.ErrorPassdown(log); Console.WriteLine("Please enter a valid date..."); Console.WriteLine("Press enter to continue..."); Console.ReadLine(); } } while (true); }
public Response DisplayOrder(Response response) { if (response.Success) { Console.Clear(); Console.WriteLine("Order date : {0}/{1}/{2}", response.Order.OrderDate.Substring(0, 2), response.Order.OrderDate.Substring(2, 2), response.Order.OrderDate.Substring(4)); Console.WriteLine("Order number {0:0000}", response.Order.OrderNumber); Console.WriteLine("\nCustomer name : {0}", response.Order.CustomerName); Console.WriteLine("Area : {0} sq ft", response.Order.Area); Console.WriteLine("Product type : {0}", response.Order.ProductType.ProductType); Console.WriteLine("Material cost per sq ft : {0:c}", response.Order.ProductType.MaterialCost); Console.WriteLine("Labor cost per sq ft : {0:c}", response.Order.ProductType.LaborCost); Console.WriteLine("Total material cost : {0:c}", response.Order.MaterialCost); Console.WriteLine("Total labor cost : {0:c}", response.Order.LaborCost); Console.WriteLine("{0} state tax ({1:p}) : {2:c}", response.Order.State, response.Order.TaxRate/100, response.Order.Tax); Console.WriteLine("\nOrder total : {0:c}", response.Order.Total); Console.WriteLine(); Console.WriteLine(); Response orderToEdit = ConfirmUserEdit(response); return orderToEdit; //method to take this input and use it to either write on the data or not } if (!response.Success) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = $"EditOrder : error displaying order data from selected date : {response.Message}" }; Ops.ErrorPassdown(log); Console.Clear(); Console.WriteLine("There was an error"); Console.WriteLine("Press enter to return to main menu"); Console.ReadLine(); } return null; }
public int GetOrderNumberFromUser() { do { //Console.Clear(); int orderNumber; Console.Write("Enter an order number to edit : "); var orderNumberString = Console.ReadLine(); //bool doesExist = File.Exists(String.Format(@"DataFiles\Orders_{0}.txt", orderDateString)); if (int.TryParse(orderNumberString, out orderNumber)) { return orderNumber; } var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("EditOrder : invalid order number entered : {0}", orderNumber) }; Ops.ErrorPassdown(log); Console.WriteLine("Please enter a number to check for an order."); Console.WriteLine("Press enter to continue"); Console.ReadLine(); } while (true); }
public string GetOrderDateFromUser() { string input; do { Console.Clear(); DateTime orderDate; Console.Write("Enter an order date: "); var orderDateString = Console.ReadLine(); bool validDate = DateTime.TryParse(orderDateString, out orderDate); bool doesExist = Ops.DoesDateExistBll(orderDate.ToString("MMddyyyy")); //here if (doesExist && validDate) { DisplayAllOrdersFromDate(orderDate.ToString("MMddyyyy")); return orderDate.ToString("MMddyyyy"); } if (!validDate) { Console.WriteLine("That does not look like a valid date..."); var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("EditOrder : invalid date entered : {0}", orderDateString) }; Ops.ErrorPassdown(log); } if (validDate) Console.WriteLine("There are no matching orders..."); Console.WriteLine("Press enter to continue, or (M)ain Menu..."); var log2 = new ErrorLogger() { TimeOfError = DateTime.Now, Message = $"EditOrder : no orders on date entered : {orderDateString}" }; Ops.ErrorPassdown(log2); input = Console.ReadLine(); input = input?.ToUpper(); if (input != null && input.ToUpper() == "M") { return "X"; } } while (true); }
public Response GetNewUserState(Response orderInfo) { do { Console.WriteLine("Press enter if no change..."); Console.Write("Enter new state (OH, PA, MI, or IN) as 2-letter abbreviation ({0}) : ", orderInfo.Order.State); var newState = Console.ReadLine(); newState = newState?.ToUpper(); if (newState == null) continue; switch (newState.ToUpper()) { case "": return orderInfo; case "OH": orderInfo.Order.State = "OH"; orderInfo.Order.TaxRate = (decimal)6.25; return orderInfo; case "IN": orderInfo.Order.State = "IN"; orderInfo.Order.TaxRate = (decimal) 6.00; return orderInfo; case "PA": orderInfo.Order.State = "PA"; orderInfo.Order.TaxRate = (decimal) 6.75; return orderInfo; case "MI": orderInfo.Order.State = "MI"; orderInfo.Order.TaxRate = (decimal) 5.75; return orderInfo; default: var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("EditOrder : invalid state entered : {0}", newState) }; Ops.ErrorPassdown(log); break; } } while (true); }
//Console.WriteLine("Please Enter a valid date in MMDDYY format (no other characters)"); //Console.WriteLine("Press enter to continue"); //Console.ReadLine(); public string GetCustomerNameFromUser() { do { Console.Clear(); Console.Write("Please enter customer name : "); string customerName = Console.ReadLine(); if (customerName != null && (customerName != "" && customerName.Length >= 2)) { return customerName; } var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("AddOrder : invalid customer name entered : {0}", customerName) }; Ops.ErrorPassdown(log); Console.WriteLine("Please Enter a valid customer name (customer names must be at least two characters)."); Console.WriteLine("Press enter to continue"); Console.ReadLine(); } while (true); }
public void DisplayOrder(Response response) { if (response.Success) { Console.Clear(); Console.WriteLine("Order date : {0}/{1}/{2}", response.Order.OrderDate.Substring(0, 2), response.Order.OrderDate.Substring(2, 2), response.Order.OrderDate.Substring(4)); Console.WriteLine("Order number {0:0000}", response.Order.OrderNumber); Console.WriteLine("\nCustomer name : {0}", response.Order.CustomerName); Console.WriteLine("Area : {0} sq ft", response.Order.Area); Console.WriteLine("Product type : {0}", response.Order.ProductType.ProductType); Console.WriteLine("Material cost per sq ft : {0:c}", response.Order.ProductType.MaterialCost); Console.WriteLine("Labor cost per sq ft : {0:c}", response.Order.ProductType.LaborCost); Console.WriteLine("Total material cost : {0:c}", response.Order.MaterialCost); Console.WriteLine("Total labor cost : {0:c}", response.Order.LaborCost); Console.WriteLine("{0} state tax ({1:p}) : {2:c}", response.Order.State, response.Order.TaxRate / 100, response.Order.Tax); Console.WriteLine("\nOrder total : {0:c}", response.Order.Total); Console.WriteLine(); Console.WriteLine(); ConfirmUserCommit(response); //method to take this input and use it to either write on the data or not } if (!response.Success) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("RemoveOrder : order does not exist on selected day : {0}", response.Message) }; Ops.ErrorPassdown(log); Console.Clear(); Console.WriteLine("There were no orders matching that data..."); Console.WriteLine("Press enter to return to main menu"); Console.ReadLine(); } }
public void PromptUserForMoreDeets(string orderDate) { var response = Ops.GetAllOrdersFromDate(orderDate); bool notValidInput; do { Console.Write("Enter an order number to see more detail (or enter 'm' to return to main menu) : "); string input = Console.ReadLine(); int orderNo; if (int.TryParse(input, out orderNo) && File.Exists(String.Format(@"DataFiles\Orders_{0}.txt", orderDate))) { Console.Clear(); var order = from a in response.OrderList where a.OrderNumber == orderNo select a; foreach (var toPrint in order) { Console.WriteLine("Order date : {0}/{1}/{2}", toPrint.OrderDate.Substring(0, 2), toPrint.OrderDate.Substring(2, 2), toPrint.OrderDate.Substring(4)); Console.WriteLine("Order number {0:0000}", toPrint.OrderNumber); Console.WriteLine("\nCustomer name : {0}", toPrint.CustomerName); Console.WriteLine("Area : {0} sq ft", toPrint.Area); Console.WriteLine("Product type : {0}", toPrint.ProductType.ProductType); Console.WriteLine("Material cost per sq ft : {0:c}", toPrint.ProductType.MaterialCost); Console.WriteLine("Labor cost per sq ft : {0:c}", toPrint.ProductType.LaborCost); Console.WriteLine("Total material cost : {0:c}", toPrint.MaterialCost); Console.WriteLine("Total labor cost : {0:c}", toPrint.LaborCost); Console.WriteLine("{0} state tax ({1:p}) : {2:c}", toPrint.State, toPrint.TaxRate / 100, toPrint.Tax); Console.WriteLine("\nOrder total : {0:c}", toPrint.Total); Console.WriteLine(); Console.WriteLine("Press enter to return to main menu"); Console.ReadLine(); } notValidInput = false; } else if (input != null && input.ToUpper() == "M") { notValidInput = false; } else { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = $"LookUpOrder : invalid order number to lookup more details entered : {input}" }; Ops.ErrorPassdown(log); notValidInput = true; } } while (notValidInput); }
public void DisplayOrderInfo() { string orderDate = GetDateFromUser(); if (orderDate != "X") { string customerName; customerName = GetCustomerNameFromUser(); string state = GetStateFromUser(); string productType; productType = GetProductTypeFromUser(); var area = GetAreaFromUser(); var response = Ops.AddOrder(orderDate, customerName, state, productType, area); if (response.Success) { Console.Clear(); Console.WriteLine("Order date : {0}/{1}/{2}", response.Order.OrderDate.Substring(0, 2), response.Order.OrderDate.Substring(2, 2), response.Order.OrderDate.Substring(4)); Console.WriteLine("Order number {0:0000}", response.Order.OrderNumber); Console.WriteLine("\nCustomer name : {0}", response.Order.CustomerName); Console.WriteLine("Area : {0} sq ft", response.Order.Area); Console.WriteLine("Product type : {0}", response.Order.ProductType.ProductType); Console.WriteLine("Material cost per sq ft : {0:c}", response.Order.ProductType.MaterialCost); Console.WriteLine("Labor cost per sq ft : {0:c}", response.Order.ProductType.LaborCost); Console.WriteLine("Total material cost : {0:c}", response.Order.MaterialCost); Console.WriteLine("Total labor cost : {0:c}", response.Order.LaborCost); Console.WriteLine("{0} state tax ({1:p}) : {2:c}", response.Order.State, response.Order.TaxRate/100, response.Order.Tax); Console.WriteLine("\nOrder total : {0:c}", response.Order.Total); Console.WriteLine(); Console.WriteLine(); ConfirmUserCommit(response); //method to take this input and use it to either write on the data or not } if (!response.Success) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = $"AddOrder : order display error : {response.Message}" }; Ops.ErrorPassdown(log); Console.Clear(); Console.WriteLine("There was an error"); Console.WriteLine("Press enter to return to main menu"); Console.ReadLine(); } } }
public string GetStateFromUser() { do { Console.Clear(); Console.Write("Please choose a state (OH, PA, MI, or IN) : "); var state = Console.ReadLine(); if (state != null) { state = state.ToUpper(); switch (state) { case "OH": case "PA": case "MI": case "IN": return state; default: var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("AddOrder : invalid state entered : {0}", state) }; Ops.ErrorPassdown(log); Console.WriteLine("Please enter a valid state abbreviation (from the list provided!)"); Console.WriteLine("Press enter to continue"); break; } } } while (true); }
public string GetProductTypeFromUser() { do { Console.Clear(); Console.Write("Please enter the product type (Choices: (C)arpet, (L)aminate, (T)ile, or (W)ood) : "); string productType = Console.ReadLine(); if (productType != null) switch (productType.ToUpper()) { case "C": case "CARPET": productType = "Carpet"; return productType; case "L": case "LAMINATE": productType = "Laminate"; return productType; case "T": case "TILE": productType = "Tile"; return productType; case "W": case "WOOD": productType = "Wood"; return productType; default: var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("AddOrder : invalid date entered : {0}", productType) }; Ops.ErrorPassdown(log); Console.WriteLine("Please choose a valid product type"); Console.WriteLine("Press enter to continue"); Console.ReadLine(); break; } } while (true); }
public string GetDateFromUser() { do { var date = DateTime.Now; Console.Clear(); DateTime orderDate; Console.Write("Enter an order date: "); var orderDateString = Console.ReadLine(); bool validDate = DateTime.TryParse(orderDateString, out orderDate); if (validDate) { if (orderDate.ToString("MMddyyyy") == date.ToString("MMddyyyy")) return orderDate.ToString("MMddyyyy"); if (orderDate.ToString("MMddyyyy") != date.ToString("MMddyyyy")) { Console.Write("That is not today's date; would you like to continue (y/n) ? : "); var inputContinue = Console.ReadLine(); if (inputContinue != null && inputContinue.ToUpper() == "Y") return orderDate.ToString("MMddyyyy"); if (inputContinue != null && inputContinue.ToUpper() == "N") return "X"; } } if (!validDate) Console.WriteLine("That does not look like a valid date..."); Console.WriteLine("Press enter to continue, or (M)ain Menu..."); var input = Console.ReadLine(); if (input != null) { input = input.ToUpper(); var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = $"AddOrder : invalid date entered : {orderDateString}" }; Ops.ErrorPassdown(log); if (input.ToUpper() == "M") { return "X"; } } } while (true); }
public int GetOrderNumberFromUser() { do { string orderNumberString; int orderNumber; Console.Write("Enter an order number to delete : "); orderNumberString = Console.ReadLine(); bool validInput = int.TryParse(orderNumberString, out orderNumber); if (validInput) { return orderNumber; } var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("RemoveOrder : invalid order number entered : {0}", orderNumberString) }; Ops.ErrorPassdown(log); Console.WriteLine("Please enter a number to check for an order."); Console.WriteLine("Press enter to continue"); Console.ReadLine(); } while (true); }
public Response GetNewUserArea(Response orderInfo) { do { decimal newArea; Console.WriteLine("Press enter if no change..."); Console.Write("Enter new area ({0}) : ", orderInfo.Order.Area); var newAreaString = Console.ReadLine(); bool validArea = decimal.TryParse(newAreaString, out newArea); if (newAreaString != "" && validArea && newArea > 0) { orderInfo.Order.Area = newArea; return orderInfo; } else if (newAreaString == "") { return orderInfo; } else if (!validArea) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("EditOrder : invalid area value entered : {0}", newAreaString) }; Ops.ErrorPassdown(log); } else if (newArea <= 0) { var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("EditOrder : negative or zero area entered : {0}", newArea) }; Ops.ErrorPassdown(log); } } while (true); }
public Response GetNewUserProductType(Response orderInfo) { do { Console.WriteLine("Press enter if no change..."); Console.Write("Enter new product type (Choices : (C)arpet, (L)aminate, (T)ile, (W)ood) ({0}) : ", orderInfo.Order.ProductType.ProductType); var newProductType = Console.ReadLine(); if (newProductType == null) continue; switch (newProductType.ToUpper()) { case "": return orderInfo; case "C": case "CARPET": orderInfo.Order.ProductType = new ProductTypes() { ProductType = "Carpet", MaterialCost = (decimal)2.25, LaborCost = (decimal)2.10 }; return orderInfo; case "L": case "LAMINATE": orderInfo.Order.ProductType = new ProductTypes() { ProductType = "Laminate", MaterialCost = (decimal)1.75, LaborCost = (decimal)2.10 }; return orderInfo; case "T": case "TILE": orderInfo.Order.ProductType = new ProductTypes() { ProductType = "Tile", MaterialCost = (decimal)3.50, LaborCost = (decimal)4.15 }; return orderInfo; case "W": case "WOOD": orderInfo.Order.ProductType = new ProductTypes() { ProductType = "Wood", MaterialCost = (decimal) 5.15, LaborCost = (decimal) 4.75 }; return orderInfo; default: var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("EditOrder : invalid product type entered : {0}", newProductType) }; Ops.ErrorPassdown(log); break; } } while (true); }
public void ErrorPassdown(ErrorLogger log) { //var repo = new OrderRepository(); _repo.WriteError(log); }
public decimal GetAreaFromUser() { do { decimal area; Console.Clear(); Console.Write("Please enter the area needed (sq ft) : "); if (decimal.TryParse((Console.ReadLine()), out area) && area > 0) { return area; } var log = new ErrorLogger() { TimeOfError = DateTime.Now, Message = String.Format("AddOrder : invalid area entered : {0}", area) }; Ops.ErrorPassdown(log); Console.WriteLine("Please Enter a valid area value"); Console.WriteLine("Press enter to continue"); Console.ReadLine(); } while (true); }