public void initialize_inputs() { sys.NumberOfServers = Convert.ToInt32(noOfServers_txt.Text); sys.StoppingNumber = Convert.ToInt32(stoppingNo_txt.Text); // map stopping criteria List <KeyValuePair <string, int> > StoppingCriteriaList = GetEnumList <Enums.StoppingCriteria>(); int x = Convert.ToInt32(stoppingCriteria_txt.Text); foreach (var val in StoppingCriteriaList) { if (val.Value == x) { sys.stoppingCase = val.Key; break; } } // map selection method List <KeyValuePair <string, int> > SelectionMethodList = GetEnumList <Enums.SelectionMethod>(); int y = Convert.ToInt32(selectionMethod_txt.Text); foreach (var val in SelectionMethodList) { if (val.Value == y) { sys.selectionMethod = val.Key; break; } } // servers data Server server; for (int i = 0; i < sys.NumberOfServers; i++) { server = new Server(); server.ID = i + 1; sys.Servers.Add(server); } // service distribution TimeDistribution serverTimeDist; int count = serviceDist_grid.Rows.Count - 1; for (int i = 0; i < count; i++) { serverTimeDist = new TimeDistribution(); serverTimeDist.Time = Convert.ToInt32(serviceDist_grid.Rows[i].Cells[1].Value); serverTimeDist.Probability = Convert.ToDecimal(serviceDist_grid.Rows[i].Cells[2].Value); int current = Convert.ToInt32(serviceDist_grid.Rows[i].Cells[0].Value.ToString()); sys.Servers[current - 1].TimeDistribution.Add(serverTimeDist); } // interarrival distribution int numOfInterarrivals = interarrivalDist_grid.Rows.Count - 1; TimeDistribution interarrivalDist; for (int i = 0; i < numOfInterarrivals; i++) { interarrivalDist = new TimeDistribution(); interarrivalDist.Time = Convert.ToInt32(interarrivalDist_grid.Rows[i].Cells[0].Value.ToString()); interarrivalDist.Probability = Convert.ToDecimal(interarrivalDist_grid.Rows[i].Cells[1].Value.ToString()); sys.InterarrivalDistribution.Add(interarrivalDist); } sys.CalculateCummProbabilty(); }