public void AddBugDefect(BugDefect bugDefect) { try { bugDefect.ticketId = BugDefectTickets.Max(m => m.ticketId) + 1; StreamWriter sw = new StreamWriter(filePath, true); sw.WriteLine($"{bugDefect.ticketId},{bugDefect.summary},{bugDefect.status},{bugDefect.priority},{bugDefect.submitter},{bugDefect.assigned},{string.Join("|", bugDefect.watching)},{bugDefect.severity}"); sw.Close(); BugDefectTickets.Add(bugDefect); logger.Info("Ticket ID {Id} added", bugDefect.ticketId); } catch (Exception ex) { logger.Error(ex.Message); } }
public BugDefectTicketFile(string BugDefectTicketFilePath) { filePath = BugDefectTicketFilePath; BugDefectTickets = new List <BugDefect>(); try { StreamReader sr = new StreamReader(filePath); while (!sr.EndOfStream) { string line = sr.ReadLine(); string[] ticketDetails = line.Split(','); if (ticketDetails.Length == 8) { BugDefect bugDefect = new BugDefect(); bugDefect.ticketId = UInt64.Parse(ticketDetails[0]); bugDefect.summary = ticketDetails[1]; bugDefect.status = ticketDetails[2]; bugDefect.priority = ticketDetails[3]; bugDefect.submitter = ticketDetails[4]; bugDefect.assigned = ticketDetails[5]; bugDefect.watching = ticketDetails[6].Split('|').ToList(); bugDefect.severity = ticketDetails[7]; BugDefectTickets.Add(bugDefect); } } sr.Close(); logger.Info("Tickets in file: {Count}", BugDefectTickets.Count); } catch (Exception ex) { logger.Error(ex.Message); } }
public void TicketEntry() { string choice; string type; List <string> baseQuestions; CSVTicketParser ticketParser = new CSVTicketParser(); do { Console.WriteLine("1) Read data from file."); Console.WriteLine("2) Create file from data."); Console.WriteLine("3) Search file from data"); Console.WriteLine("Enter any other key to exit."); // input response choice = Console.ReadLine(); if (choice == "1") { ReadDataFromFile(); } else if (choice == "2") { Console.WriteLine("Enter a ticket (Y/N)?"); response = Console.ReadLine().ToUpper(); if (response != "Y") { break; } Console.WriteLine("Enter a ticket type (1:Task, 2:Enhancement, 3:Bug/Defect, 4:Other Ticket)"); type = Console.ReadLine(); baseQuestions = BaseQuestions(); if (type == "1") { Task task = new Task(); task.ticketID = baseQuestions[0]; task.summary = baseQuestions[1]; task.status = baseQuestions[2]; task.priority = baseQuestions[3]; task.submitter = baseQuestions[4]; task.assigned = baseQuestions[5]; task.watching = baseQuestions[6]; Console.WriteLine("Enter the Project Name: "); task.projectName = Console.ReadLine(); //05/05/2005 Console.WriteLine("Enter the Due Date: (ex 05/05/2005)"); task.dueDate = Convert.ToDateTime(Console.ReadLine()); StreamWriter sw = new StreamWriter(ticketFiles[1] + ".csv", append: true); sw.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8}", task.ticketID, task.summary, task.status, task.priority, task.submitter, task.assigned, task.watching, task.projectName, task.dueDate); sw.Close(); } else if (type == "2") { Enhancement enhancement = new Enhancement(); enhancement.ticketID = baseQuestions[0]; enhancement.summary = baseQuestions[1]; enhancement.status = baseQuestions[2]; enhancement.priority = baseQuestions[3]; enhancement.submitter = baseQuestions[4]; enhancement.assigned = baseQuestions[5]; enhancement.watching = baseQuestions[6]; Console.WriteLine("Enter the Software: "); enhancement.software = Console.ReadLine(); Console.WriteLine("Enter the Cost: "); enhancement.cost = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter the Reason: "); enhancement.reason = Console.ReadLine(); Console.WriteLine("Enter the Estimate: "); enhancement.estimate = Convert.ToDouble(Console.ReadLine()); StreamWriter sw = new StreamWriter(ticketFiles[2] + ".csv", append: true); sw.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}", enhancement.ticketID, enhancement.summary, enhancement.status, enhancement.priority, enhancement.submitter, enhancement.assigned, enhancement.watching, enhancement.software, enhancement.cost, enhancement.reason, enhancement.estimate); sw.Close(); } else if (type == "3") { BugDefect bugDefect = new BugDefect(); bugDefect.ticketID = baseQuestions[0]; bugDefect.summary = baseQuestions[1]; bugDefect.status = baseQuestions[2]; bugDefect.priority = baseQuestions[3]; bugDefect.submitter = baseQuestions[4]; bugDefect.assigned = baseQuestions[5]; bugDefect.watching = baseQuestions[6]; Console.WriteLine("Enter severity (1,2,3,4)"); bugDefect.severity = Console.ReadLine(); StreamWriter sw = new StreamWriter(ticketFiles[3] + ".csv", append: true); sw.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7}", bugDefect.ticketID, bugDefect.summary, bugDefect.status, bugDefect.priority, bugDefect.submitter, bugDefect.assigned, bugDefect.watching, bugDefect.severity); sw.Close(); } else if (type == "4") { Ticket ticket = new Ticket(); ticket.ticketID = baseQuestions[0]; ticket.summary = baseQuestions[1]; ticket.status = baseQuestions[2]; ticket.priority = baseQuestions[3]; ticket.submitter = baseQuestions[4]; ticket.assigned = baseQuestions[5]; ticket.watching = baseQuestions[6]; StreamWriter sw = new StreamWriter(ticketFiles[4] + ".csv", append: true); sw.WriteLine("{0},{1},{2},{3},{4},{5},{6}", ticket.ticketID, ticket.summary, ticket.status, ticket.priority, ticket.submitter, ticket.assigned, ticket.watching); sw.Close(); } else { Console.WriteLine("Please enter 1, 2, 3 or 4 to specify the ticket type"); } } else if (choice == "3") { Console.WriteLine("Please choose a type of ticket to search: "); Console.WriteLine("1) Bug Defects"); Console.WriteLine("2) Enhancements"); Console.WriteLine("3) Tasks"); Console.WriteLine("4) Other"); string userChoice = Console.ReadLine(); switch (userChoice) { case "1": { Console.WriteLine("Please choose how to search tickets:"); Console.WriteLine("1) Status"); Console.WriteLine("2) Priority"); Console.WriteLine("3) Submitter"); string response = Console.ReadLine(); switch (response) { case "1": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileBugDefect = "BugTickets.csv"; var tickets = ticketParser.BDStatusLow(fileBugDefect, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "2": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileBugDefect = "BugTickets.csv"; var tickets = ticketParser.BDPriority(fileBugDefect, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "3": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileBugDefect = "BugTickets.csv"; var tickets = ticketParser.BDSubmiter(fileBugDefect, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } default: { break; } } break; } case "2": { Console.WriteLine("Please choose how to search tickets:"); Console.WriteLine("1) Status"); Console.WriteLine("2) Priority"); Console.WriteLine("3) Submitter"); string response = Console.ReadLine(); switch (response) { case "1": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileEnhancement = "EnhancementTickets.csv"; var tickets = ticketParser.EHStatus(fileEnhancement, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "2": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileEnhancement = "EnhancementTickets.csv"; var tickets = ticketParser.EHPriority(fileEnhancement, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "3": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileEnhancement = "EnhancementTickets.csv"; var tickets = ticketParser.EHSubmitter(fileEnhancement, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } default: { break; } } break; } case "3": { Console.WriteLine("Please choose how to search tickets:"); Console.WriteLine("1) Status"); Console.WriteLine("2) Priority"); Console.WriteLine("3) Submitter"); string response = Console.ReadLine(); switch (response) { case "1": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileTask = "TaskTickets.csv"; var tickets = ticketParser.TaskStatus(fileTask, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "2": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileTask = "TaskTickets.csv"; var tickets = ticketParser.TaskPriority(fileTask, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "3": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); string fileTask = "TaskTickets.csv"; var tickets = ticketParser.TaskSubmitter(fileTask, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } default: { break; } } break; } case "4": { Console.WriteLine("Please choose how to search tickets:"); Console.WriteLine("1) Status"); Console.WriteLine("2) Priority"); Console.WriteLine("3) Submitter"); string response = Console.ReadLine(); switch (response) { case "1": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); var tickets = ticketParser.TicketStatus(file, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "2": { Console.WriteLine("Please choose you status: "); Console.WriteLine("1) Low"); Console.WriteLine("2) Medium"); Console.WriteLine("3) High"); string statusRes = Console.ReadLine(); var tickets = ticketParser.TicketPriority(file, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } case "3": { Console.WriteLine("Please type in name of submitter: "); string statusRes = Console.ReadLine(); var tickets = ticketParser.TicketSubmitter(file, statusRes); foreach (var ticket in tickets) { Console.WriteLine(ticket.ticketID + " " + ticket.status); } break; } default: { break; } } break; } } } } while (choice == "1" || choice == "2" || choice == "3"); // do while loop for option two, continue adding records }
static void Main(string[] args) { string bugDefectTicketFilePath = Directory.GetCurrentDirectory() + "\\tickets.csv"; string enhancementTicketFilePath = Directory.GetCurrentDirectory() + "\\enhancements.csv"; string taskTicketFilePath = Directory.GetCurrentDirectory() + "\\tasks.csv"; logger.Info("Program started"); BugDefectTicketFile bugDefectTicketFile = new BugDefectTicketFile(bugDefectTicketFilePath); EnhancementTicketFile enhancementTicketFile = new EnhancementTicketFile(enhancementTicketFilePath); TaskTicketFile taskTicketFile = new TaskTicketFile(taskTicketFilePath); string choice = ""; do { Console.WriteLine("1) Add Ticket"); Console.WriteLine("2) Display All Tickets"); Console.WriteLine("Enter to quit"); choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { Console.WriteLine("1) Bug/Defect"); Console.WriteLine("2) Enhancement"); Console.WriteLine("3) Task"); string ticketTypeChoice = Console.ReadLine(); logger.Info("User choice: {Choice}", ticketTypeChoice); if (ticketTypeChoice == "1") { BugDefect bugDefect = new BugDefect(); Console.WriteLine("Enter Bug/Defect ticket summary"); bugDefect.summary = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket status"); bugDefect.status = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket priority"); bugDefect.priority = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket submitter"); bugDefect.submitter = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket asignee"); bugDefect.assigned = Console.ReadLine(); string input; do { Console.WriteLine("Enter Bug/Defect ticket watcher (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { bugDefect.watching.Add(input); } }while (input != "done"); if (bugDefect.watching.Count == 0) { bugDefect.watching.Add("(no watchers listed)"); } Console.WriteLine("Enter Bug/Defect ticket severity"); bugDefect.severity = Console.ReadLine(); bugDefectTicketFile.AddBugDefect(bugDefect); } if (ticketTypeChoice == "2") { Enhancement enhancement = new Enhancement(); Console.WriteLine("Enter Enhancement ticket summary"); enhancement.summary = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket status"); enhancement.status = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket priority"); enhancement.priority = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket submitter"); enhancement.submitter = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket asignee"); enhancement.assigned = Console.ReadLine(); string input; do { Console.WriteLine("Enter Enhancement ticket watcher (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { enhancement.watching.Add(input); } }while (input != "done"); if (enhancement.watching.Count == 0) { enhancement.watching.Add("(no watchers listed)"); } Console.WriteLine("Enter Enhancement ticket software"); enhancement.software = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket cost"); enhancement.cost = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket reason"); enhancement.reason = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket estimate"); enhancement.estimate = Console.ReadLine(); enhancementTicketFile.AddEnhancemant(enhancement); } if (ticketTypeChoice == "3") { Task task = new Task(); Console.WriteLine("Enter Task ticket summary"); task.summary = Console.ReadLine(); Console.WriteLine("Enter Task ticket status"); task.status = Console.ReadLine(); Console.WriteLine("Enter Task ticket priority"); task.priority = Console.ReadLine(); Console.WriteLine("Enter Task ticket submitter"); task.submitter = Console.ReadLine(); Console.WriteLine("Enter Task ticket asignee"); task.assigned = Console.ReadLine(); string input; do { Console.WriteLine("Enter Task ticket watcher (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { task.watching.Add(input); } }while (input != "done"); if (task.watching.Count == 0) { task.watching.Add("(no watchers listed)"); } Console.WriteLine("Enter Task ticket project name"); task.projectName = Console.ReadLine(); Console.WriteLine("Enter Task ticket due date"); task.dueDate = Console.ReadLine(); taskTicketFile.AddTask(task); } } else if (choice == "2") { Console.WriteLine("1) Bug/Defect"); Console.WriteLine("2) Enhancement"); Console.WriteLine("3) Task"); string ticketTypeChoice = Console.ReadLine(); logger.Info("User choice: {Choice}", ticketTypeChoice); if (ticketTypeChoice == "1") { foreach (Ticket m in bugDefectTicketFile.BugDefectTickets) { Console.WriteLine(m.Display()); } } else if (ticketTypeChoice == "2") { foreach (Ticket m in enhancementTicketFile.EnhancementTickets) { Console.WriteLine(m.Display()); } } else if (ticketTypeChoice == "3") { foreach (Ticket m in taskTicketFile.TaskTickets) { Console.WriteLine(m.Display()); } } } } while (choice == "1" || choice == "2"); logger.Info("Program ended"); }
static void Main(string[] args) { string bugDefectTicketFilePath = Directory.GetCurrentDirectory() + "\\tickets.csv"; string enhancementTicketFilePath = Directory.GetCurrentDirectory() + "\\enhancements.csv"; string taskTicketFilePath = Directory.GetCurrentDirectory() + "\\tasks.csv"; logger.Info("Program started"); BugDefectTicketFile bugDefectTicketFile = new BugDefectTicketFile(bugDefectTicketFilePath); EnhancementTicketFile enhancementTicketFile = new EnhancementTicketFile(enhancementTicketFilePath); TaskTicketFile taskTicketFile = new TaskTicketFile(taskTicketFilePath); string choice = ""; do { Console.WriteLine("1) Add Ticket"); Console.WriteLine("2) Display All Tickets"); Console.WriteLine("3) Search Tickets"); Console.WriteLine("Enter to quit"); choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { Console.WriteLine("1) Bug/Defect"); Console.WriteLine("2) Enhancement"); Console.WriteLine("3) Task"); string ticketTypeChoice = Console.ReadLine(); logger.Info("User choice: {Choice}", ticketTypeChoice); if (ticketTypeChoice == "1") { BugDefect bugDefect = new BugDefect(); Console.WriteLine("Enter Bug/Defect ticket summary"); bugDefect.summary = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket status"); bugDefect.status = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket priority"); bugDefect.priority = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket submitter"); bugDefect.submitter = Console.ReadLine(); Console.WriteLine("Enter Bug/Defect ticket asignee"); bugDefect.assigned = Console.ReadLine(); string input; do { Console.WriteLine("Enter Bug/Defect ticket watcher (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { bugDefect.watching.Add(input); } }while (input != "done"); if (bugDefect.watching.Count == 0) { bugDefect.watching.Add("(no watchers listed)"); } Console.WriteLine("Enter Bug/Defect ticket severity"); bugDefect.severity = Console.ReadLine(); bugDefectTicketFile.AddBugDefect(bugDefect); } if (ticketTypeChoice == "2") { Enhancement enhancement = new Enhancement(); Console.WriteLine("Enter Enhancement ticket summary"); enhancement.summary = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket status"); enhancement.status = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket priority"); enhancement.priority = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket submitter"); enhancement.submitter = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket asignee"); enhancement.assigned = Console.ReadLine(); string input; do { Console.WriteLine("Enter Enhancement ticket watcher (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { enhancement.watching.Add(input); } }while (input != "done"); if (enhancement.watching.Count == 0) { enhancement.watching.Add("(no watchers listed)"); } Console.WriteLine("Enter Enhancement ticket software"); enhancement.software = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket cost"); enhancement.cost = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket reason"); enhancement.reason = Console.ReadLine(); Console.WriteLine("Enter Enhancement ticket estimate"); enhancement.estimate = Console.ReadLine(); enhancementTicketFile.AddEnhancemant(enhancement); } if (ticketTypeChoice == "3") { Task task = new Task(); Console.WriteLine("Enter Task ticket summary"); task.summary = Console.ReadLine(); Console.WriteLine("Enter Task ticket status"); task.status = Console.ReadLine(); Console.WriteLine("Enter Task ticket priority"); task.priority = Console.ReadLine(); Console.WriteLine("Enter Task ticket submitter"); task.submitter = Console.ReadLine(); Console.WriteLine("Enter Task ticket asignee"); task.assigned = Console.ReadLine(); string input; do { Console.WriteLine("Enter Task ticket watcher (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { task.watching.Add(input); } }while (input != "done"); if (task.watching.Count == 0) { task.watching.Add("(no watchers listed)"); } Console.WriteLine("Enter Task ticket project name"); task.projectName = Console.ReadLine(); Console.WriteLine("Enter Task ticket due date"); task.dueDate = Console.ReadLine(); taskTicketFile.AddTask(task); } } else if (choice == "2") { Console.WriteLine("1) Bug/Defect"); Console.WriteLine("2) Enhancement"); Console.WriteLine("3) Task"); string ticketTypeChoice = Console.ReadLine(); logger.Info("User choice: {Choice}", ticketTypeChoice); if (ticketTypeChoice == "1") { foreach (Ticket m in bugDefectTicketFile.BugDefectTickets) { Console.WriteLine(m.Display()); } } else if (ticketTypeChoice == "2") { foreach (Ticket m in enhancementTicketFile.EnhancementTickets) { Console.WriteLine(m.Display()); } } else if (ticketTypeChoice == "3") { foreach (Ticket m in taskTicketFile.TaskTickets) { Console.WriteLine(m.Display()); } } } else if (choice == "3") { Console.WriteLine("1) Search Status"); Console.WriteLine("2) Search Priority"); Console.WriteLine("3) Search Submitter"); string searchChoice = Console.ReadLine(); if (searchChoice == "1") { Console.WriteLine("Enter Ticket Status"); string statusInput = Console.ReadLine(); var statusBugDefectSearch = bugDefectTicketFile.BugDefectTickets.Where(m => m.status.ToLower().Contains($"{statusInput}")); var statusEnhancementSearch = enhancementTicketFile.EnhancementTickets.Where(m => m.status.ToLower().Contains($"{statusInput}")); var statusTaskSearch = taskTicketFile.TaskTickets.Where(m => m.status.ToLower().Contains($"{statusInput}")); Console.WriteLine($"There are {statusBugDefectSearch.Count()+statusTaskSearch.Count()+statusEnhancementSearch.Count()} {statusInput} status tickets:\n"); Console.WriteLine("Bug Defect Tickets:"); foreach (BugDefect m in statusBugDefectSearch) { Console.WriteLine($" {m.Display()}"); } Console.WriteLine("Enhancement Tickets:"); foreach (Enhancement m in statusEnhancementSearch) { Console.WriteLine($" {m.Display()}"); } Console.WriteLine("Task Tickets:"); foreach (Task m in statusTaskSearch) { Console.WriteLine($" {m.Display()}"); } } else if (searchChoice == "2") { Console.WriteLine("Enter Ticket Priority"); string priorityInput = Console.ReadLine(); var priorityBugDefectSearch = bugDefectTicketFile.BugDefectTickets.Where(m => m.priority.ToLower().Contains($"{priorityInput}")); var priorityEnhancementSearch = enhancementTicketFile.EnhancementTickets.Where(m => m.priority.ToLower().Contains($"{priorityInput}")); var priorityTaskSearch = taskTicketFile.TaskTickets.Where(m => m.priority.ToLower().Contains($"{priorityInput}")); Console.WriteLine($"There are {priorityBugDefectSearch.Count()+priorityEnhancementSearch.Count()+priorityTaskSearch.Count()} {priorityInput} tickets:\n"); Console.WriteLine("Bug Defect Tickets:"); foreach (BugDefect m in priorityBugDefectSearch) { Console.WriteLine($" {m.Display()}"); } Console.WriteLine("Enhancement Tickets:"); foreach (Enhancement m in priorityEnhancementSearch) { Console.WriteLine($" {m.Display()}"); } Console.WriteLine("Task Tickets:"); foreach (Task m in priorityTaskSearch) { Console.WriteLine($" {m.Display()}"); } } else if (searchChoice == "3") { Console.WriteLine("Enter Ticket Submitter"); string submitterInput = Console.ReadLine(); var submitterBugDefectSearch = bugDefectTicketFile.BugDefectTickets.Where(m => m.submitter.ToLower().Contains($"{submitterInput}")); var submitterEnhancementSearch = enhancementTicketFile.EnhancementTickets.Where(m => m.submitter.ToLower().Contains($"{submitterInput}")); var submitterTaskSearch = taskTicketFile.TaskTickets.Where(m => m.submitter.ToLower().Contains($"{submitterInput}")); Console.WriteLine($"There are {submitterBugDefectSearch.Count()+submitterEnhancementSearch.Count()+submitterTaskSearch.Count()} tickets submitted by {submitterInput}:\n"); Console.WriteLine("Bug Defect Tickets:"); foreach (BugDefect m in submitterBugDefectSearch) { Console.WriteLine($" {m.Display()}"); } Console.WriteLine("Enhancement Tickets:"); foreach (Enhancement m in submitterEnhancementSearch) { Console.WriteLine($" {m.Display()}"); } Console.WriteLine("Task Tickets:"); foreach (Task m in submitterTaskSearch) { Console.WriteLine($" {m.Display()}"); } } } } while (choice == "1" || choice == "2" || choice == "3"); logger.Info("Program ended"); }