예제 #1
0
 public int AddCity(string city)
 {
     if (city == "")
     {
         return(2);
     }
     else
     {
         var _city = CRoute.FormatCity(city);
         if (!cities.Contains(_city))
         {
             cities.Add(_city);
             return(0);
         }
         else
         {
             return(1);
         }
     }
 }
예제 #2
0
        private void DbModButton_Click(object sender, EventArgs e)
        {
            if (DbModCity.Checked)
            {
                if (DbModNewCityName.Text == DbModCitySelector.SelectedItem.ToString())
                {
                    db_show_error(String.Format("{0} не изменено", DbModNewCityName.Text));
                    return;
                }
                else
                {
                    string old     = DbModCitySelector.SelectedItem.ToString();
                    string newcity = CRoute.FormatCity(DbModNewCityName.Text);
                    int    r       = parent.ModCity(old, newcity);
                    switch (r)
                    {
                    case 0:
                    {
                        DbActionSuccessLabel.Text = String.Format("Изменен город: {0} на {1}", DbModCitySelector.SelectedItem.ToString(), DbModNewCityName.Text);
                        log_add_row(2, 0, old, newcity);
                        DbModNewCityName.ResetText();
                        DbRefresh();
                        break;
                    }

                    case 1:
                    {
                        db_show_error("Ошибка: недопустимое новое имя города");
                        break;
                    }
                    }
                }
            }
            else
            {
                int id = DbModRouteSelector.SelectedIndex;
                int r  = parent.ModRoute(id, DbModNewRouteLength.Text, DbModNewRouteTime.Text, DbModNewRouteCost.Text);
                switch (r)
                {
                case 0:
                {
                    string qd = String.Format("{0},{1},{2}", DbModNewRouteLength.Text, DbModNewRouteTime.Text, DbModNewRouteCost.Text);
                    log_add_row(2, 1, DbModRouteSelector.SelectedItem.ToString(), qd);
                    DbModNewRouteCost.ResetText();
                    DbModNewRouteLength.ResetText();
                    DbModNewRouteTime.ResetText();
                    DbRefresh();
                    break;
                }

                case 8:
                {
                    db_show_error("Не изменено");
                    break;
                }

                case 10:
                {
                    db_show_error("Ошибка: параметры должны быть положительными");
                    break;
                }

                case -1:
                {
                    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;
                }
                }
            }
        }
예제 #3
0
        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("Ошибка: укажите начало и конец дороги");
                }
            }
        }