public override void FileRead(string ticketfilepath) { filePath = ticketfilepath; Tickets = new List <Ticket>(); StreamReader sr = new StreamReader(filePath); while (!sr.EndOfStream) { // create instance of Movie class Enhancement ticket = new Enhancement(); string line = sr.ReadLine(); string[] ticketDetails = line.Split(','); ticket.ticketID = ticketDetails[0]; ticket.summary = ticketDetails[1]; ticket.status = ticketDetails[2]; ticket.priority = ticketDetails[3]; ticket.submitter = ticketDetails[4]; ticket.assigned = ticketDetails[5]; ticket.watching = ticketDetails[6].Split('|').ToArray(); ticket.Software = ticketDetails[7]; ticket.Cost = ticketDetails[8]; ticket.Reason = ticketDetails [9]; ticket.Estimate = ticketDetails [10]; Tickets.Add(ticket); } sr.Close(); }
static void Main(string[] args) { Console.WriteLine("Welcome to the Ticket Search System!"); string Bugfile = "Tickets.csv"; string EnchancementFile = "Enchancements.csv"; string TaskFile = "Task.csv"; string choice; do { Console.WriteLine("1) Create a Ticket"); Console.WriteLine("2) Search for Ticket"); Console.WriteLine("3) Read Tickets"); Console.WriteLine("(Select an option from the menu)"); choice = Console.ReadLine(); if (choice == "1") { Console.WriteLine("Choose the ticket type:"); Console.WriteLine("1. Bug/Defect"); Console.WriteLine("2. Enhancement"); Console.WriteLine("3. Task"); string TicketType = Console.ReadLine(); if (TicketType == "1") { Bug ticket = new Bug(); ticket.AskUser(); ticket.AddTickettoFile(Bugfile); } if (TicketType == "2") { Enhancement newenhancement = new Enhancement(); newenhancement.AskUser(); newenhancement.AddTickettoFile(EnchancementFile); } if (TicketType == "3") { Task newtask = new Task(); newtask.AskUser(); newtask.AddTickettoFile(TaskFile); } } else if (choice == "2") { Console.WriteLine("Search According to:"); Console.WriteLine("1) Status"); Console.WriteLine("2) Priority"); Console.WriteLine("3) Submitter"); Console.WriteLine("(Please Select a number from the menu)"); String searchtype = Console.ReadLine(); BugFile ticketfile = new BugFile(); EnchancementFile newEnhancementFile = new EnchancementFile(); TaskFile newtaskfile = new TaskFile(); ticketfile.FileRead(Bugfile); newEnhancementFile.FileRead(EnchancementFile); newtaskfile.FileRead(TaskFile); if (searchtype == "1") { Console.WriteLine("Enter the Status: "); string search = Console.ReadLine().ToLower(); var bugfilesearch = ticketfile.Tickets.Where(m => m.status.ToLower().Contains((search))); var enhancementfilesearch = newEnhancementFile.Tickets.Where(m => m.status.ToLower().Contains((search))); var taskfilesearch = newtaskfile.Tickets.Where(m => m.status.ToLower().Contains((search))); var Statuslist = bugfilesearch.Concat(enhancementfilesearch).Concat(taskfilesearch); Console.WriteLine($"There are {Statuslist.Count()} tickets with \"{search}\" as the Status:"); foreach (Ticket t in Statuslist) { Console.WriteLine(t.Display()); } } else if (searchtype == "2") { Console.WriteLine("Enter the Priority:"); string search = Console.ReadLine().ToLower(); var bugfilesearch = ticketfile.Tickets.Where(m => m.priority.ToLower().Contains((search))); var enhancementfilesearch = newEnhancementFile.Tickets.Where(m => m.priority.ToLower().Contains((search))); var taskfilesearch = newtaskfile.Tickets.Where(m => m.priority.ToLower().Contains((search))); var Statuslist = bugfilesearch.Concat(enhancementfilesearch).Concat(taskfilesearch); Console.WriteLine($"There are {Statuslist.Count()} tickets with \"{search}\" as the Priority:"); foreach (Ticket t in Statuslist) { Console.WriteLine(t.Display()); } } else if (searchtype == "3") { Console.WriteLine("Enter the Submitter: "); string search = Console.ReadLine().ToLower(); var bugfilesearch = ticketfile.Tickets.Where(m => m.submitter.ToLower().Contains((search))); var enhancementfilesearch = newEnhancementFile.Tickets.Where(m => m.submitter.ToLower().Contains((search))); var taskfilesearch = newtaskfile.Tickets.Where(m => m.submitter.ToLower().Contains((search))); var Statuslist = bugfilesearch.Concat(enhancementfilesearch).Concat(taskfilesearch); Console.WriteLine($"There are {Statuslist.Count()} tickets with \"{search}\" as the Submitter:"); foreach (Ticket t in Statuslist) { Console.WriteLine(t.Display()); } } else { break; } } else if (choice == "3") { Console.WriteLine("1) Display Bug Tickets"); Console.WriteLine("2) Display Enchancement Tickets"); Console.WriteLine("3) Display Task Tickets"); string TicketType = Console.ReadLine(); BugFile ticketfile = new BugFile(); EnchancementFile newEnhancementFile = new EnchancementFile(); TaskFile newtaskfile = new TaskFile(); ticketfile.FileRead(Bugfile); newEnhancementFile.FileRead(EnchancementFile); newtaskfile.FileRead(TaskFile); if (TicketType == "1") { foreach (Ticket t in ticketfile.Tickets) { Console.WriteLine(t.Display()); } } else if (TicketType == "2") { foreach (Ticket t in newEnhancementFile.Tickets) { Console.WriteLine(t.Display()); } } else if (TicketType == "3") { foreach (Ticket t in newtaskfile.Tickets) { Console.WriteLine(t.Display()); } } } }while (choice == "1" || choice == "2" || choice == "3"); }