private void btn_enter_Click(object sender, EventArgs e)
        {
            if (currentServer == Program.system.NumberOfServers)
            {
                MessageBox.Show("Already entered Time Distributions of all servers.");
                return;
            }

            MultiQueueModels.Server server = new MultiQueueModels.Server();
            decimal cum_prob = 0;

            for (int r = 0; r < dg_service.Rows.Count - 1; r++)
            {
                int     time = int.Parse(dg_service.Rows[r].Cells[0].Value.ToString());
                decimal prob = decimal.Parse(dg_service.Rows[r].Cells[1].Value.ToString());

                MultiQueueModels.TimeDistribution ts = new MultiQueueModels.TimeDistribution();
                ts.Time        = time;
                ts.Probability = prob;

                decimal minRange;
                if (r == 0)
                {
                    minRange = 1;
                }
                else
                {
                    minRange = cum_prob * 100 + 1; // minRange = old cum + 1
                }
                ts.MinRange = decimal.ToInt32(minRange);

                cum_prob          += prob;
                ts.CummProbability = cum_prob;

                decimal maxRange = cum_prob * 100; //maxRange = current cum
                ts.MaxRange = decimal.ToInt32(maxRange);

                server.TimeDistribution.Add(ts);
            }
            server.ID                = currentServer + 1;
            server.FinishTime        = 0;
            server.TotalWorkingTime  = 0;
            server.NumberOfCustomers = 0;
            Program.system.Servers.Add(server);

            currentServer++;
            dg_service.Rows.Clear();
        }
Example #2
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ind = int.Parse(comboBox1.SelectedItem.ToString());
            MultiQueueModels.Server ser = Form1.sys.Servers[ind - 1];
            var series = new Series("Server " + comboBox1.SelectedItem.ToString());

            // Frist parameter is X-Axis and Second is Collection of Y- Axis
            int[] x;
            int[] y;
            x = new int[ser.x.Count() + 5];
            y = new int[ser.y.Count() + 5];
            for (int i = 0; i < ser.x.Count(); i++)
            {
                x[i] = ser.x[i];
                y[i] = ser.y[i];
            }
            series.Points.DataBindXY(x, y);
            chart1.Series.Clear();
            chart1.Series.Add(series);
            chart1.Series["Server " + comboBox1.SelectedItem.ToString()]["PointWidth"] = "1";
        }