private void Form1_Load(object sender, EventArgs e)
        {
            simulationSystem = new SimulationSystem();
            fileLines        = new List <string>();
            StreamReader sr = new StreamReader(@"D:\_FCIS\Sna 4\Semester 1\Modeling _ simulation\Simulation_Project\Task 1 - MultiQueueSimulation\MultiQueueSimulation\MultiQueueSimulation\TestCases\TestCase1.txt");

            while (!sr.EndOfStream)
            {
                fileLines.Add(sr.ReadLine());
            }
            sr.Close();

            ///////////////////////////////////////////////////////

            int idx_NumberOfServers = fileLines.IndexOf("NumberOfServers");

            simulationSystem.NumberOfServers = Convert.ToInt32(fileLines[idx_NumberOfServers + 1]);
            txtNumberOfServers.Text          = simulationSystem.NumberOfServers.ToString();

            int idx_StoppingNumber = fileLines.IndexOf("StoppingNumber");

            simulationSystem.StoppingNumber = Convert.ToInt32(fileLines[idx_StoppingNumber + 1]);
            txtStoppingNumber.Text          = simulationSystem.StoppingNumber.ToString();

            int idx_StoppingCriteria = fileLines.IndexOf("StoppingCriteria");

            simulationSystem.StoppingCriteria = (Enums.StoppingCriteria)Convert.ToInt32(fileLines[idx_StoppingCriteria + 1]);
            txtStoppingCriteria.Text          = simulationSystem.StoppingCriteria.ToString();

            int idx_SelectionMethod = fileLines.IndexOf("SelectionMethod");

            simulationSystem.SelectionMethod = (Enums.SelectionMethod)Convert.ToInt32(fileLines[idx_SelectionMethod + 1]);
            txtSelectionMethod.Text          = simulationSystem.SelectionMethod.ToString();

            ///////////////////////////////////////////////////////

            int idx_InterarrivalDistribution = fileLines.IndexOf("InterarrivalDistribution");

            timeDistributions = new List <TimeDistribution>();
            for (int i = idx_InterarrivalDistribution + 1; i < fileLines.Count(); ++i)
            {
                if (string.IsNullOrEmpty(fileLines[i]))
                {
                    break;
                }

                timeDistribution = new TimeDistribution();
                string[] numbers = fileLines[i].Split(new string[] { ", " }, StringSplitOptions.None);
                timeDistribution.Time        = Convert.ToInt32(numbers[0]);
                timeDistribution.Probability = Convert.ToDecimal(numbers[1]);
                timeDistributions.Add(timeDistribution);
            }

            simulationSystem.InterarrivalDistribution = timeDistributions;
            simulationSystem.CalculateInterArrivalTimeDistribution();

            dataGridViewInterarrival.DataSource = simulationSystem.InterarrivalDistribution;

            ///////////////////////////////////////////////////////

            int idx_ServiceDistribution_Server = fileLines.IndexOf("ServiceDistribution_Server1") + 1, counter = 0;

            for (int a = 0; a < simulationSystem.NumberOfServers; ++a)
            {
                timeDistributions = new List <TimeDistribution>();
                idx_ServiceDistribution_Server += counter;
                counter = 0;
                for (int i = idx_ServiceDistribution_Server; i < fileLines.Count(); ++i)
                {
                    if (string.IsNullOrEmpty(fileLines[i]))
                    {
                        counter += 2;
                        break;
                    }

                    counter++;
                    timeDistribution = new TimeDistribution();
                    string[] numbers = fileLines[i].Split(new string[] { ", " }, StringSplitOptions.None);
                    timeDistribution.Time        = Convert.ToInt32(numbers[0]);
                    timeDistribution.Probability = Convert.ToDecimal(numbers[1]);
                    timeDistributions.Add(timeDistribution);
                }

                server    = new Server();
                server.ID = a + 1;
                server.TimeDistribution = timeDistributions;
                server.CalculateServiceTimeDistribution();

                simulationSystem.Servers.Add(server);
            }

            txtServiceDistribution.Text    = "Service Distribution (Server ID: " + simulationSystem.Servers[CounterOfServers].ID + ")";
            dataGridViewServers.DataSource = simulationSystem.Servers[CounterOfServers].TimeDistribution;
        }