/* main buttons */ private void bt_start_Click(object sender, EventArgs e) { if (this.tb_budget.Text == "" || this.tb_population.Text == "") { MessageBox.Show("Required parameters missing."); } else { int chb, chp; if (int.TryParse(this.tb_budget.Text, out chb) && int.TryParse(this.tb_population.Text, out chp)) { stopwatch = Stopwatch.StartNew(); this.inputType = false; this.tb_budget.ReadOnly = true; this.tb_population.ReadOnly = true; this.bt_start.Enabled = false; this.bt_custom_start.Enabled = false; ILockdownPolicy terra = new Policy_none(); community = new Community(chp); hospital = new Hospital(chp, chb, terra); accountForOptionalInput(); community.populateMemberList(); Qualification q = Qualification.InfectiousDisease; if (!hospital.initiateHospitalList(community.getDistrictCount(), q)) { if (chb > 4500) { MessageBox.Show("Simulation failure: population too small."); } else { MessageBox.Show("Simulation failure: budget too small."); } this.tb_budget.ReadOnly = false; this.tb_population.ReadOnly = false; this.bt_start.Enabled = true; this.bt_custom_start.Enabled = true; restateOptionalInput(); } else { this.timer_general.Enabled = true; this.gb_time.Enabled = true; this.gb_lockdownPolicy.Enabled = true; this.rb_noLockdown.Select(); this.bt_save.Enabled = true; this.timer_label_updator.Enabled = true; update_labels(); this.timer_socialEvent.Enabled = true; } } else { MessageBox.Show("Parameter format invalid."); } } }
//--------------------------------------------------------------------------- //--------------------------------------------------------------------------- /* run-time changes required by client */ private void rb_noLockdown_CheckedChanged(object sender, EventArgs e) { if (this.rb_noLockdown.Checked == true) { ILockdownPolicy noP = new Policy_none(); hospital.newPolicy(noP); simulationTime.markPolicy(stopwatch, 1); } }
private void bt_custom_start_Click(object sender, EventArgs e) { if (this.tb_budget.Text == "") { MessageBox.Show("Required budget parameter missing."); } else { int chb, chp = 0; if (int.TryParse(this.tb_budget.Text, out chb)) { customCommunity = new List <int>(); var fileContent = string.Empty; var filePath = string.Empty; using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.InitialDirectory = @"..\..\"; //"c:\\"; openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; openFileDialog.FilterIndex = 2; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { filePath = openFileDialog.FileName; var fileStream = openFileDialog.OpenFile(); using (StreamReader reader = new StreamReader(fileStream)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(','); foreach (var v in values) { int temp; if (int.TryParse(v, out temp)) { customCommunity.Add(temp); } else { MessageBox.Show("Expecting correct comma separated values file."); } } } } } } foreach (int i in customCommunity) { chp += i; } MessageBox.Show($"District count {customCommunity.Count.ToString()}. " + $"\nTotal population {chp}.\nClose to begin.", "Custom Map Read Successful"); this.inputType = true; //MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK); stopwatch = Stopwatch.StartNew(); this.tb_budget.ReadOnly = true; this.tb_population.ReadOnly = true; this.bt_start.Enabled = false; this.bt_custom_start.Enabled = false; ILockdownPolicy terra = new Policy_none(); //community = new Community(chp); community = new Community(chp, customCommunity); hospital = new Hospital(chp, chb, terra); accountForOptionalInput(); community.populateMemberListCustom(); Qualification q = Qualification.InfectiousDisease; if (!hospital.initiateHospitalList(community.getDistrictCount(), q)) { if (chb > 4500) { MessageBox.Show("Simulation failure: population too small."); } else { MessageBox.Show("Simulation failure: budget too small."); } this.tb_budget.ReadOnly = false; this.tb_population.ReadOnly = false; this.bt_start.Enabled = true; this.bt_custom_start.Enabled = true; restateOptionalInput(); } else { this.timer_general.Enabled = true; this.gb_time.Enabled = true; this.gb_lockdownPolicy.Enabled = true; this.rb_noLockdown.Select(); this.bt_save.Enabled = true; this.timer_label_updator.Enabled = true; update_labels(); this.timer_socialEvent.Enabled = true; } } else { MessageBox.Show("Parameter format invalid."); } } }