private void DeleteLastProcess(object sender, RoutedEventArgs e)
 {
     ballonNumber  = ballons.Count;
     premierNumber = premiers.Count;
     if (ballonNumber == 0 & premierNumber == 0)
     {
         MessageBox.Show("No processes to be deleted.", "ERROR");
     }
     else if (ballonNumber != 0 & premierNumber != 0)
     {
         ProcessTP ballon  = (ProcessTP)ballons[ballonNumber - 1];
         ProcessTP premier = (ProcessTP)premiers[premierNumber - 1];
         if (ballon.id > premier.id)
         {
             DeleteOneProcess("ballon", ballon, ballonNumber);
         }
         else
         {
             DeleteOneProcess("premier", premier, premierNumber);
         }
     }
     else if (ballonNumber == 0)
     {
         ProcessTP premier = (ProcessTP)premiers[premierNumber - 1];
         DeleteOneProcess("premier", premier, premierNumber);
     }
     else
     {
         ProcessTP ballon = (ProcessTP)ballons[ballonNumber - 1];
         DeleteOneProcess("ballon", ballon, ballonNumber);
     }
     UpdateNumberData();
 }
        private void StartProcess(String type)
        {
            ballonNumber  = ballons.Count;
            premierNumber = premiers.Count;
            ProcessTP process = new ProcessTP(id);

            if (type == "ballon" & ballonNumber < 5)
            {
                process.StartProcess("ballon");
                ballons.Add(process);
                ballonData.Rows.Add(process.pid, process.creationTime);
                id += 1;
            }
            else if (type == "premier" & premierNumber < 5)
            {
                process.StartProcess("premier");
                premiers.Add(process);
                premierData.Rows.Add(process.pid, process.creationTime);
                id += 1;
            }
            else
            {
                MessageBox.Show("The maximum number of one type process is 5.", "ERROR");
            }
            UpdateNumberData();
        }
 private void DeleteLastBallon(object sender, RoutedEventArgs e)
 {
     ballonNumber = ballons.Count;
     if (ballonNumber == 0)
     {
         MessageBox.Show("No Ballon processes to be deleted.", "ERROR");
     }
     else
     {
         ProcessTP ballon = (ProcessTP)ballons[ballonNumber - 1];
         DeleteOneProcess("ballon", ballon, ballonNumber);
     }
     UpdateNumberData();
 }
 private void DeleteLastPremier(object sender, RoutedEventArgs e)
 {
     premierNumber = premiers.Count;
     if (premierNumber == 0)
     {
         MessageBox.Show("No Premier processes to be deleted.", "ERROR");
     }
     else
     {
         ProcessTP premier = (ProcessTP)premiers[premierNumber - 1];
         DeleteOneProcess("premier", premier, premierNumber);
     }
     UpdateNumberData();
 }
 private void DeleteOneProcess(String type, ProcessTP process, int number)
 {
     if (type == "ballon")
     {
         process.DeleteProcess();
         ballons.RemoveAt(number - 1);
         DeleteData("OneBallon", number);
     }
     else if (type == "premier")
     {
         process.DeleteProcess();
         premiers.RemoveAt(number - 1);
         DeleteData("OnePremier", number);
     }
 }