public void Add() { //create placeholder ticket Task fresh = new Task(); //set ticket # if (Tasks.Count == 0) { fresh.TicketId = 1; } else { fresh.TicketId = Tasks[Tasks.Count - 1].TicketId + 1; } //get summary Console.Write("=Enter Bug Summary:\n" + "==="); string input = Console.ReadLine(); fresh.Summary = "\"" + input + "\""; //get status Console.Write("=Choose Bug Status:\n" + "=1) Open\n" + "=2) Closed\n" + "==="); switch (Validate.ValidateMenuSelection(Console.ReadLine(), 2)) { case "1": fresh.Status = Status.Open; break; case "2": fresh.Status = Status.Closed; break; } //get priority Console.Write("=Choose Bug Priority:\n" + "=1) High\n" + "=2) Medium\n" + "=3) Low\n" + "=4) Negligible\n" + "==="); switch (Validate.ValidateMenuSelection(Console.ReadLine(), 4)) { case "1": fresh.Priority = Priority.High; break; case "2": fresh.Priority = Priority.Medium; break; case "3": fresh.Priority = Priority.Low; break; case "4": fresh.Priority = Priority.Negligible; break; } //get name of submitter Console.Write("=Enter Name of Submitter: "); fresh.Submitter = Validate.ValidateName(Console.ReadLine()); //get name of assigned Console.Write("=Enter Name of Assigned: "); fresh.Assigned = Validate.ValidateName(Console.ReadLine()); //get number of watchers Console.Write("=Enter Number of Bug Watchers: "); var num = Validate.ValidateNumber(Console.ReadLine()); if (num == "0") { fresh.Watching = "No Watchers"; } else { //list for watchers List <string> watchers = new List <string>(); for (var i = 0; i < int.Parse(num); i++) { //get name of watchers Console.Write("=Enter the Name of the Watcher: "); watchers.Add(Validate.ValidateName(Console.ReadLine())); } //join watchers with '|' and add to fresh fresh.Watching = String.Join("|", watchers.ToArray()); } //get project name Console.Write("=Enter Name of the Project: "); fresh.ProjectName = Validate.ValidateForChars(Console.ReadLine()); //get due date Console.Write("=Enter Project Due Date: "); fresh.DueDate = Validate.ValidateDate(Console.ReadLine()); //confirm ticket Console.WriteLine("=Ticket information to be entered:"); fresh.Display(); Console.Write("=Confirm?\n" + "=1) Add\n" + "=2) Cancel\n" + "==="); switch (Validate.ValidateMenuSelection(Console.ReadLine(), 2)) { case "1": logger.Trace("Ticket added, {fresh}", fresh); Console.WriteLine("Ticket Added."); Tasks.Add(fresh); StreamWriter sw = new StreamWriter(File); foreach (var task in Tasks) { sw.WriteLine(task.ToString()); } sw.Close(); break; case "2": Console.WriteLine("Canceling ticket creation, returning to main menu."); break; } }