public void AddTicket(TicketTask ticket) { try { StreamWriter sw = new StreamWriter(filePath, true); if (Tickets.Count > 0) { ticket.ticketId = Tickets.Max(t => t.ticketId) + 1; } else { ticket.ticketId = 1; } sw.WriteLine($"{ticket.ticketId},{ticket.summary},{ticket.status},{ticket.priority},{ticket.submitter},{ticket.assigned},{string.Join("|", ticket.watchers)},{ticket.projectName},{ticket.dueDate}"); sw.Close(); Tickets.Add(ticket); logger.Info("Ticket {id} has been added.", ticket.ticketId); } catch (Exception e) { logger.Error(e.Message); } }
static void Main(string[] args) { string file = "Tickets.csv"; string efile = "Enhancements.csv"; string tfile = "Task.csv"; logger.Info("Program started"); TicketFile ticketFile = new TicketFile(file); EnhancementFile enhancementFile = new EnhancementFile(efile); TaskFile taskFile = new TaskFile(tfile); string choice; do { Console.WriteLine("1) View Ticket file Summary."); Console.WriteLine("2) Create Ticket file."); Console.WriteLine("3) Create Ticket Enhancement file."); Console.WriteLine("4) Create Ticket Task file."); Console.WriteLine("Enter any other key to exit."); choice = Console.ReadLine(); if (choice == "1") { Console.WriteLine("Debug/Defect Tickets\n" + "_______________________________________________________\n"); foreach (Ticket t in ticketFile.Tickets) { Console.WriteLine(t.Output()); } Console.WriteLine("_______________________________________________________\n\n"); Console.WriteLine("Enhancement Tickets\n" + "_______________________________________________________\n"); foreach (Ticket t in enhancementFile.Tickets) { Console.WriteLine(t.Output()); } Console.WriteLine("_______________________________________________________\n\n"); Console.WriteLine("Task Tickets\n" + "_______________________________________________________\n"); foreach (Ticket t in taskFile.Tickets) { Console.WriteLine(t.Output()); } Console.WriteLine("_______________________________________________________\n\n"); } else if (choice == "2") { Ticket ticket = new Ticket(); Console.WriteLine("Enter a new ticket? (Y/N)"); string newTicket = Console.ReadLine().ToUpper(); if (newTicket != "Y") { break; } GeneralQ(ticket); ticketFile.AddTicket(ticket); } else if (choice == "3") { TicketEnhancement ticketEnhancement = new TicketEnhancement(); Console.WriteLine("Enter a new ticket? (Y/N)"); string newEnhancement = Console.ReadLine().ToUpper(); if (newEnhancement != "Y") { break; } GeneralQ(ticketEnhancement); string newSoftware; string theSoftwares; double softwareCost = 0; do { Console.WriteLine("Is there needed software? (Y/N)"); newSoftware = Console.ReadLine(); if (!newSoftware.ToUpper().Equals("Y")) { break; } Console.WriteLine("What software is needed?"); theSoftwares = Console.ReadLine(); ticketEnhancement.softwareNeeded.Add(theSoftwares); Console.WriteLine("Cost of software: "); ticketEnhancement.cost = Console.ReadLine(); softwareCost += double.Parse(ticketEnhancement.cost); } while (newSoftware.ToUpper().Equals("Y")); Console.WriteLine("Reason for enhancement:"); ticketEnhancement.reason = Console.ReadLine(); ticketEnhancement.estimate = softwareCost.ToString(); enhancementFile.AddTicket(ticketEnhancement); } else if (choice == "4") { TicketTask ticketTask = new TicketTask(); Console.WriteLine("Enter a new ticket? (Y/N)"); string newTask = Console.ReadLine().ToUpper(); if (newTask != "Y") { break; } GeneralQ(ticketTask); // add the rest of the task prompts // edit the files for task and enhancement so that they write the other stuff to the file Console.WriteLine("What is the name of this project?"); ticketTask.projectName = Console.ReadLine(); Console.WriteLine("When is this project due?"); ticketTask.dueDate = Console.ReadLine(); // do media Library taskFile.AddTicket(ticketTask); } } while (choice == "1" || choice == "2" || choice == "3" || choice == "4"); logger.Info("Program ended"); }