Exemplo n.º 1
0
 public void RemoveTicket(Enhancement ticket)
 {
     //Removes Enhancement from List
     for (int i = 0; i < enhancements.Count; i++)
     {
         if (enhancements[i].ticketID == ticket.ticketID)
         {
             enhancements.RemoveAt(i);
         }
     }
     logger.Info($"Enhancement ID {ticket.ticketID} Removed.");
     RewriteFile();
 }
Exemplo n.º 2
0
 public void AddTicket(Enhancement ticket)
 {
     try
     {
         //Generate ticket ID
         ticket.ticketID = enhancements.Any() ? enhancements.Max(m => m.ticketID) + 1 : 1;
         //Add ticket to file
         StreamWriter sw = new StreamWriter(filePath, true);
         sw.WriteLine(ticket.ToString());
         sw.Close();
         //Add ticket to list
         enhancements.Add(ticket);
         logger.Info($"Ticket ID {ticket.ticketID} Added.");
     }
     catch (Exception ex)
     {
         logger.Error(ex.Message);
     }
 }
Exemplo n.º 3
0
 public TicketFile(string ticketFilePath)
 {
     filePath     = ticketFilePath;
     bugs         = new List <Bug>();
     enhancements = new List <Enhancement>();
     tasks        = new List <Task>();
     //Add tickets from data file to list
     try
     {
         StreamReader sr = new StreamReader(filePath);
         while (!sr.EndOfStream)
         {
             string   line = sr.ReadLine();
             string[] arr  = line.Split(",");
             //Add ticket through data in arr
             if (arr.Count() == 8)
             {
                 Bug ticket = new Bug()
                 {
                     ticketID  = Int32.Parse(arr[0]),
                     summary   = arr[1],
                     status    = arr[2],
                     priority  = arr[3],
                     submitter = arr[4],
                     assigned  = arr[5],
                     watching  = arr[6].Split("|").ToList <string>(),
                     severity  = arr[7]
                 };
             }
             else if (arr.Count() == 11)
             {
                 Enhancement ticket = new Enhancement()
                 {
                     ticketID  = Int32.Parse(arr[0]),
                     summary   = arr[1],
                     status    = arr[2],
                     priority  = arr[3],
                     submitter = arr[4],
                     assigned  = arr[5],
                     watching  = arr[6].Split("|").ToList <string>(),
                     software  = arr[7],
                     cost      = Double.Parse(arr[8]),
                     reason    = arr[9],
                     estimate  = Double.Parse(arr[10])
                 };
             }
             else if (arr.Count() == 9)
             {
                 Task ticket = new Task()
                 {
                     ticketID    = Int32.Parse(arr[0]),
                     summary     = arr[1],
                     status      = arr[2],
                     priority    = arr[3],
                     submitter   = arr[4],
                     assigned    = arr[5],
                     watching    = arr[6].Split("|").ToList <string>(),
                     projectName = arr[7],
                     duedate     = DateTime.Parse(arr[8])
                 };
             }
         }
         sr.Close();
         logger.Info($"Tickets in file Bugs:{bugs.Count}   Enhancements:{enhancements.Count}   Tasks:{tasks.Count}.");
     }
     catch (Exception ex)
     {
         logger.Error(ex.Message);
     }
 }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            logger.Info("Program started");
            //Initalize

            TicketFile ticketFile = new TicketFile(Directory.GetCurrentDirectory() + "\\Ticket.csv");
            string     choice;

            do
            {
                Console.WriteLine();
                Console.WriteLine("1) View current tickets");
                Console.WriteLine("2) Submit new ticket");
                Console.WriteLine("3) Remove ticket");
                //input
                choice = Console.ReadLine();
                logger.Info("Program ended");
                switch (choice)
                {
                case "1":
                    if (ticketFile.bugs.Count > 0)
                    {
                        Console.Clear();
                        foreach (Bug t in ticketFile.bugs)
                        {
                            Console.WriteLine("----------------------");
                            Console.WriteLine(t.Display());
                        }
                    }
                    else
                    {
                        logger.Warn("No Bugs Available");
                    }
                    if (ticketFile.enhancements.Count > 0)
                    {
                        Console.Clear();
                        foreach (Enhancement t in ticketFile.enhancements)
                        {
                            Console.WriteLine("----------------------");
                            Console.WriteLine(t.Display());
                        }
                    }
                    else
                    {
                        logger.Warn("No Enhancement Available");
                    }
                    if (ticketFile.tasks.Count > 0)
                    {
                        Console.Clear();
                        foreach (Task t in ticketFile.tasks)
                        {
                            Console.WriteLine("----------------------");
                            Console.WriteLine(t.Display());
                        }
                    }
                    else
                    {
                        logger.Warn("No Tasks Available");
                    }
                    break;

                case "2":
                    Console.WriteLine("1)Bugs\n2)Enhancments\n3)Tasks");
                    Console.WriteLine("Select Ticket Group (Enter #):");
                    string submitChoice = Console.ReadLine();
                    if (submitChoice == "1")
                    {
                        var ticket = new Bug();
                        ticket.TicketSubmit();
                        ticketFile.AddTicket(ticket);
                    }
                    else if (submitChoice == "2")
                    {
                        var ticket = new Enhancement();
                        ticket.TicketSubmit();
                        ticketFile.AddTicket(ticket);
                    }
                    else if (submitChoice == "3")
                    {
                        var ticket = new Task();
                        ticket.TicketSubmit();
                        ticketFile.AddTicket(ticket);
                    }
                    break;

                case "3":
                    Console.WriteLine("1)Bugs\n2)Enhancments\n3)Tasks");
                    Console.WriteLine("Select Ticket Group (Enter #):");
                    string group = Console.ReadLine();
                    switch (group)
                    {
                    case "1":
                        if (ticketFile.bugs.Count > 0)
                        {
                            Console.WriteLine("Enter ticket ID to remove: ");
                            int ticketID;
                            if (!int.TryParse(Console.ReadLine(), out ticketID))
                            {
                                logger.Error("ticketID not int");
                            }
                            Bug ticket = new Bug();
                            ticket.ticketID = ticketID;
                            ticketFile.RemoveTicket(ticket);
                        }
                        else
                        {
                            logger.Warn("No Bugs Available");
                        }
                        break;

                    case "2":
                        if (ticketFile.enhancements.Count > 0)
                        {
                            Console.WriteLine("Enter ticket ID to remove: ");
                            int ticketID;
                            if (!int.TryParse(Console.ReadLine(), out ticketID))
                            {
                                logger.Error("ticketID not int");
                            }
                            Enhancement ticket = new Enhancement();
                            ticket.ticketID = ticketID;
                            ticketFile.RemoveTicket(ticket);
                        }
                        else
                        {
                            logger.Warn("No Enhancements Available");
                        }
                        break;

                    case "3":
                        if (ticketFile.tasks.Count > 0)
                        {
                            Console.WriteLine("Enter ticket ID to remove: ");
                            int ticketID;
                            if (!int.TryParse(Console.ReadLine(), out ticketID))
                            {
                                logger.Error("ticketID not int");
                            }
                            Task ticket = new Task();
                            ticket.ticketID = ticketID;
                            ticketFile.RemoveTicket(ticket);
                        }
                        else
                        {
                            logger.Warn("No Tasks Available");
                        }
                        break;
                    }
                    break;
                }
            }while(choice == "1" || choice == "2" || choice == "3");
        }