public void AddTicket(EnhancementTicket ticket) { try { ticket.ticketID = EnhancedTicket.Max(m => m.ticketID) + 1; string summary = ticket.summary; string status = ticket.status; string priorityLevel = ticket.priorityLevel; string submitter = ticket.submitter; string assignee = ticket.assignee; StreamWriter sw = new StreamWriter(filePath, true); sw.WriteLine($"{ticket.ticketID},{summary},{status},{priorityLevel},{submitter},{assignee},{string.Join("|", ticket.watching)}," + $"{ticket.software}, {ticket.ticketCost}, {ticket.reason}, {ticket.ticketEstimate}"); sw.Close(); EnhancedTicket.Add(ticket); logger.Info("Ticket id {Id} added", ticket.ticketID); } catch (Exception ex) { logger.Error(ex.Message); } }
public void loadTicketsFromFile(string ticketType, string filename) { if (File.Exists(filename)) { StreamReader sr1 = new StreamReader(filename); Boolean firstLine = true; while (!sr1.EndOfStream) { string line = sr1.ReadLine(); if (firstLine) { if (ticketType == "bugTicket") { this.bugHeaders = line; } else if (ticketType == "taskTicket") { this.taskHeaders = line; } else if (ticketType == "enhancementTicket") { this.enhancementHeaders = line; } firstLine = false; } else { if (ticketType == "bugTicket") { this.bugTickets.Add(BugTicket.createTicketFromFile(line)); } else if (ticketType == "taskTicket") { this.taskTickets.Add(TaskTicket.createTicketFromFile(line)); } else if (ticketType == "enhancementTicket") { this.enhancementTickets.Add(EnhancementTicket.createTicketFromFile(line)); } else { } //this.tickets.Add(); } } sr1.Close(); } else { Console.WriteLine("File does not exist" + filename); } }
public static EnhancementTicket createTicket(int ticketId) { // BASE PORTION Console.WriteLine("Enter a summary"); string summary = Console.ReadLine(); Console.WriteLine("Enter the status (Open/Closed)"); string status = Console.ReadLine(); Console.WriteLine("Enter the priority (Low/Medium/High)"); string priority = Console.ReadLine(); Console.WriteLine("Enter the submitter"); string submitter = Console.ReadLine(); Console.WriteLine("Enter the assigned"); string assigned = Console.ReadLine(); Console.WriteLine("Enter the watching"); List <string> watchers = new List <string>(); string watching = Console.ReadLine(); // while loop to add more watchers.Add(watching); Console.WriteLine("Enter software"); string software = Console.ReadLine(); Console.WriteLine("Enter the cost"); Double cost = Double.Parse(Console.ReadLine()); Console.WriteLine("Enter a reason"); string reason = Console.ReadLine(); EnhancementTicket enhancementTicket = new EnhancementTicket(); enhancementTicket.ticketId = ticketId; enhancementTicket.summary = summary; enhancementTicket.status = status; enhancementTicket.priority = priority; enhancementTicket.submitter = submitter; enhancementTicket.assigned = assigned; enhancementTicket.watchers = watchers; enhancementTicket.software = software; enhancementTicket.cost = cost; enhancementTicket.reason = reason; return(enhancementTicket); }
public static EnhancementTicket createTicketFromFile(string line) { EnhancementTicket enhancementTicket = new EnhancementTicket(); string[] fieldsArr = line.Split(','); enhancementTicket.ticketId = Int32.Parse(fieldsArr[0]); enhancementTicket.summary = fieldsArr[1]; enhancementTicket.status = fieldsArr[2]; enhancementTicket.priority = fieldsArr[3]; enhancementTicket.submitter = fieldsArr[4]; enhancementTicket.assigned = fieldsArr[5]; enhancementTicket.watchers = Ticket.createWatchersFromString(fieldsArr[6]); enhancementTicket.software = fieldsArr[7]; enhancementTicket.cost = Double.Parse(fieldsArr[8]); enhancementTicket.reason = fieldsArr[9]; return(enhancementTicket); }
public EnhancementFile(string path) { EnhancedTickets = new List <EnhancementTicket>(); filePath = path; try { StreamReader sr = new StreamReader(filePath); sr.ReadLine(); while (!sr.EndOfStream) { EnhancementTicket ticket = new EnhancementTicket(); string line = sr.ReadLine(); int idx = line.IndexOf('"'); if (idx == -1) { string[] ticketDetails = line.Split(','); ticket.ticketID = (ticketDetails[0]); ticket.summary = ticketDetails[1]; ticket.status = ticketDetails[2]; ticket.priority = ticketDetails[3]; ticket.submit = ticketDetails[4]; ticket.assign = ticketDetails[5]; ticket.watchers = ticketDetails[6].Split('|').ToList(); ticket.software = ticketDetails[7]; ticket.cost = double.Parse(ticketDetails[8]); ticket.reason = ticketDetails[9]; ticket.estimate = ticketDetails[10]; } else { ticket.ticketID = (line.Substring(0, idx - 1)); line = line.Substring(idx + 1); idx = line.IndexOf('"'); ticket.summary = line.Substring(0, idx); line = line.Substring(idx + 2); ticket.status = line.Substring(0, idx); line = line.Substring(idx + 3); ticket.priority = line.Substring(0, idx); line = line.Substring(idx + 4); ticket.submit = line.Substring(0, idx); line = line.Substring(idx + 5); ticket.assign = line.Substring(0, idx); line = line.Substring(idx + 6); ticket.watchers = line.Split('|').ToList(); line = line.Substring(idx + 7); ticket.software = line.Substring(0, idx); line = line.Substring(idx + 8); ticket.cost = double.Parse(line.Substring(0, idx)); line = line.Substring(idx + 9); ticket.reason = line.Substring(0, idx); line = line.Substring(0, idx); ticket.estimate = line.Substring(0, idx); } EnhancedTickets.Add(ticket); } sr.Close(); logger.Info("Tickets in file {Count}", EnhancedTickets.Count); } catch (Exception ex) { logger.Error(ex.Message); } }
static void Main(string[] args) { TicketManager manager = new TicketManager(); manager.loadTicketsFromFile("bugTicket", "bugTickets.csv"); manager.loadTicketsFromFile("taskTicket", "taskTickets.csv"); manager.loadTicketsFromFile("enhancementTicket", "enhancementTickets.csv"); string typeSelected = ""; string filename = ""; do { Console.WriteLine("Please Select Type Of Ticket To Manage\n 1 - Bug Tickets\n 2 - Task Tickets\n 3 - Enhancement Tickets"); string typeChoice = Console.ReadLine(); if (typeChoice == "1") { typeSelected = "bugTicket"; filename = "bugTickets.csv"; } else if (typeChoice == "2") { typeSelected = "taskTicket"; filename = "taskTickets.csv"; } else if (typeChoice == "3") { typeSelected = "enhancementTicket"; filename = "enhancementTickets.csv"; } else { typeSelected = "no Choice"; } string choice; if (typeSelected != "no Choice") { do { // ask user a question Console.WriteLine("\n1) List Tickets From File."); Console.WriteLine("2) Create New Ticket And Write To File."); Console.WriteLine("Enter any other key to exit."); // input response choice = Console.ReadLine(); if (choice == "1") { manager.listTickets(typeSelected); } else if (choice == "2") { if (typeSelected == "bugTicket") { int id = manager.bugTickets[manager.bugTickets.Count - 1].ticketId + 1; manager.bugTickets.Add(BugTicket.createTicket(id)); manager.writeTicketsToFile("bugTicket", "bugTickets.csv"); } else if (typeSelected == "taskTicket") { int id = manager.taskTickets[manager.taskTickets.Count - 1].ticketId + 1; manager.taskTickets.Add(TaskTicket.createTicket(id)); manager.writeTicketsToFile("taskTicket", "taskTickets.csv"); } else if (typeSelected == "enhancementTicket") { int id = manager.enhancementTickets[manager.enhancementTickets.Count - 1].ticketId + 1; manager.enhancementTickets.Add(EnhancementTicket.createTicket(id)); manager.writeTicketsToFile("enhancementTicket", "enhancementTickets.csv"); } manager.writeTicketsToFile(typeSelected, filename); } else { typeSelected = ""; } } while (choice == "1" || choice == "2"); } else { Console.WriteLine("Please Make a Valid Choice"); typeSelected = ""; } } while (typeSelected == ""); }
static void Main(string[] args) { string file = "ticketSystem.csv"; string enhancedfile = "Enhancements.csv"; string taskfile = "Task.csv"; logger.Info("Program started"); TicketFile ticketFile = new TicketFile(file); EnhancementFile enhancement = new EnhancementFile(enhancedfile); TaskFile task = new TaskFile(taskfile); string choice = ""; do { Console.WriteLine("1) Create a bug ticket file."); Console.WriteLine("a) Read bug Ticket data from file."); Console.WriteLine("2) Create a Enhanced Ticket file"); Console.WriteLine("b) Read Enhanced Ticket data from file."); Console.WriteLine("3) Create a Task Ticket file"); Console.WriteLine("c) Read task Ticket data from file."); Console.WriteLine("Enter to quit"); choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { Ticket ticket = new Ticket(); for (int i = 0; i < 10; i++) { Console.WriteLine("Enter a ticket (Y/N)?"); string resp = Console.ReadLine().ToUpper(); logger.Info("User Response {Response}", resp); if (resp != "Y") { break; } Console.WriteLine("Enter the Ticket ID: "); ticket.ticketID = Console.ReadLine(); Console.WriteLine("Please enter summary: "); ticket.summary = Console.ReadLine(); Console.WriteLine("Please enter the status of ticket: "); ticket.status = Console.ReadLine(); Console.WriteLine("Level of priority: "); ticket.priority = Console.ReadLine(); Console.WriteLine("Please enter the submitter: "); ticket.submit = Console.ReadLine(); Console.WriteLine("Who is assigned this ticket: "); ticket.assign = Console.ReadLine(); string input; do { Console.WriteLine("Who is watching (or done to quit): "); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { ticket.watchers.Add(input); } } while (input != "done"); if (ticket.watchers.Count == 0) { ticket.watchers.Add("(no watchers watching this ticket)"); } ticketFile.AddTicket(ticket); } } else if (choice == "a") { foreach (Ticket t in ticketFile.Tickets) { Console.WriteLine(t.Display()); } } else if (choice == "2") { EnhancementTicket enhancementTicket = new EnhancementTicket(); for (int i = 0; i < 10; i++) { Console.WriteLine("Enter a ticket (Y/N)?"); string resp = Console.ReadLine().ToUpper(); logger.Info("User Response {Response}", resp); if (resp != "Y") { break; } Console.WriteLine("Enter the Ticket ID: "); enhancementTicket.ticketID = Console.ReadLine(); Console.WriteLine("Please enter summary: "); enhancementTicket.summary = Console.ReadLine(); Console.WriteLine("Please enter the status of ticket: "); enhancementTicket.status = Console.ReadLine(); Console.WriteLine("Level of priority: "); enhancementTicket.priority = Console.ReadLine(); Console.WriteLine("Please enter the submitter: "); enhancementTicket.submit = Console.ReadLine(); Console.WriteLine("Who is assigned this ticket: "); enhancementTicket.assign = Console.ReadLine(); Console.WriteLine("What is software for this ticket: "); enhancementTicket.software = Console.ReadLine(); Console.WriteLine("How much is this ticket: "); enhancementTicket.cost = double.Parse(Console.ReadLine()); Console.WriteLine("What is the reason for this ticket: "); enhancementTicket.reason = Console.ReadLine(); Console.WriteLine("What is the estimate of this ticket: "); enhancementTicket.estimate = Console.ReadLine(); string input; do { Console.WriteLine("Who is watching (or done to quit): "); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { enhancementTicket.watchers.Add(input); } } while (input != "done"); if (enhancementTicket.watchers.Count == 0) { enhancementTicket.watchers.Add("(no watchers watching this ticket)"); } enhancement.AddTicket(enhancementTicket); } } else if (choice == "b") { foreach (EnhancementTicket e in enhancement.EnhancedTickets) { Console.WriteLine(e.Display()); } } else if (choice == "3") { TaskTicket taskTicket = new TaskTicket(); for (int i = 0; i < 10; i++) { Console.WriteLine("Enter a ticket (Y/N)?"); string resp = Console.ReadLine().ToUpper(); logger.Info("User Response {Response}", resp); if (resp != "Y") { break; } Console.WriteLine("Enter the Ticket ID: "); taskTicket.ticketID = Console.ReadLine(); Console.WriteLine("Please enter summary: "); taskTicket.summary = Console.ReadLine(); Console.WriteLine("Please enter the status of ticket: "); taskTicket.status = Console.ReadLine(); Console.WriteLine("Level of priority: "); taskTicket.priority = Console.ReadLine(); Console.WriteLine("Please enter the submitter: "); taskTicket.submit = Console.ReadLine(); Console.WriteLine("Who is assigned this ticket: "); taskTicket.assign = Console.ReadLine(); Console.WriteLine("What is name of the project for this ticket: "); taskTicket.projectName = Console.ReadLine(); Console.WriteLine("What is the due date of this task: "); taskTicket.dueDate = Console.ReadLine(); string input; do { Console.WriteLine("Who is watching (or done to quit): "); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { taskTicket.watchers.Add(input); } } while (input != "done"); if (taskTicket.watchers.Count == 0) { taskTicket.watchers.Add("(no watchers watching this ticket)"); } task.AddTicket(taskTicket); } } else if (choice == "c") { foreach (TaskTicket t in task.TaskTickets) { Console.WriteLine(t.Display()); } } } while (choice == "1" || choice == "a" || choice == "2" || choice == "b" || choice == "3" || choice == "c"); logger.Info("Program ended"); }