private void DbRefresh() { DbAddRouteEndSelector.Items.Clear(); DbAddRouteStartSelector.Items.Clear(); DbDeleteCitySelector.Items.Clear(); DbDeleteRouteSelector.Items.Clear(); DbRoutesDataGrid.Rows.Clear(); DbModCitySelector.Items.Clear(); DbModRouteSelector.Items.Clear(); DbCitiesList.Items.Clear(); for (int i = 0; i < parent.cities.Count; i++) { DbAddRouteStartSelector.Items.Add(parent.cities[i]); DbAddRouteEndSelector.Items.Add(parent.cities[i]); DbDeleteCitySelector.Items.Add(parent.cities[i]); DbCitiesList.Items.Add(parent.cities[i]); DbModCitySelector.Items.Add(parent.cities[i]); } string tmp; for (int i = 0; i < parent.routes.Count; i++) { tmp = String.Format("{0} - {1} ({2},{3},{4})", parent.routes[i].FirstCity, parent.routes[i].SecondCity, parent.routes[i].Options[0], parent.routes[i].Options[1], parent.routes[i].Options[2]); DbDeleteRouteSelector.Items.Add(tmp); DbModRouteSelector.Items.Add(tmp); DbRoutesDataGrid.Rows.Add(i + 1, parent.routes[i].FirstCity, parent.routes[i].SecondCity, parent.routes[i].Options[0], parent.routes[i].Options[1], parent.routes[i].Options[2]); } DbAddRouteEndSelector.SelectedIndex = -1; DbAddRouteStartSelector.SelectedIndex = -1; DbDeleteCitySelector.SelectedIndex = -1; DbDeleteRouteSelector.SelectedIndex = -1; DbAddRouteEndSelector.ResetText(); DbAddRouteStartSelector.ResetText(); DbDeleteCitySelector.ResetText(); DbDeleteRouteSelector.ResetText(); DbModCitySelector.ResetText(); DbModRouteSelector.ResetText(); //DbTabs.Refresh(); }
private void DbAddButton_Click(object sender, EventArgs e) { if (DbAddCity.Checked) { string newcity = CRoute.FormatCity(DbAddNewCityText.Text); int r = parent.AddCity(newcity); switch (r) { case 0: { DbActionSuccessLabel.Text = "Добавлено: " + newcity; DbAddRouteStartSelector.Items.Add(newcity); DbAddRouteEndSelector.Items.Add(newcity); DbDeleteCitySelector.Items.Add(newcity); DbCitiesList.Items.Add(newcity); DbModCitySelector.Items.Add(newcity); DbAddNewCityText.Clear(); log_add_row(0, 0, newcity); break; } case 1: { db_show_error("Ошибка: такой город уже существует"); break; } case 2: { db_show_error("Ошибка: введите название города"); break; } } } if (DbAddRoute.Checked) { if (DbAddRouteStartSelector.SelectedIndex >= 0 && DbAddRouteEndSelector.SelectedIndex >= 0) { int r = parent.AddRoute(DbAddRouteStartSelector.SelectedItem.ToString(), DbAddRouteEndSelector.SelectedItem.ToString(), DbAddRouteLength.Text, DbAddRouteTime.Text, DbAddRouteCost.Text); switch (r) { case 0: { CRoute qd = parent.routes.Last(); string qz = String.Format("{0} - {1} ({2},{3},{4})", qd.FirstCity, qd.SecondCity, qd.Options[0], qd.Options[1], qd.Options[2]); DbDeleteRouteSelector.Items.Add(qz); DbModRouteSelector.Items.Add(qz); DbActionSuccessLabel.Text = String.Format("Добавлено: дорога {0} - {1} ({2} км, {3} ч, {4}$)", DbAddRouteStartSelector.SelectedItem.ToString(), DbAddRouteEndSelector.SelectedItem.ToString(), DbAddRouteLength.Text, DbAddRouteTime.Text, DbAddRouteCost.Text); log_add_row(0, 1, String.Format("{0} - {1} ({2},{3},{4})", DbAddRouteStartSelector.SelectedItem.ToString(), DbAddRouteEndSelector.SelectedItem.ToString(), DbAddRouteLength.Text, DbAddRouteTime.Text, DbAddRouteCost.Text)); DbRoutesDataGrid.Rows.Add(DbRoutesDataGrid.Rows.Count + 1, DbAddRouteStartSelector.SelectedItem.ToString(), DbAddRouteEndSelector.SelectedItem.ToString(), DbAddRouteLength.Text, DbAddRouteTime.Text, DbAddRouteCost.Text); DbAddRouteEndSelector.ResetText(); DbAddRouteEndSelector.SelectedIndex = -1; DbAddRouteStartSelector.ResetText(); DbAddRouteStartSelector.SelectedIndex = -1; DbAddRouteLength.Clear(); DbAddRouteTime.Clear(); DbAddRouteCost.Clear(); break; } case 15: { db_show_error("Ошибка: такая дорога уже существует"); break; } case -1: { db_show_error("Ошибка: параметры должны быть целыми числами"); break; } case 8: { db_show_error("Ошибка: нельзя добавить такую дорогу"); break; } case 10: { db_show_error("Ошибка: параметры должны быть положительными"); break; } default: { string tmp; tmp = "Ошибка: введите "; if ((r & 1) == 1) { tmp += "расстояние; "; } if (((r >> 1) & 1) == 1) { tmp += "время; "; } if (((r >> 2) & 1) == 1) { tmp += "стоимость; "; } db_show_error(tmp); break; } } } else { db_show_error("Ошибка: укажите начало и конец дороги"); } } }