示例#1
0
 //+Редактирование компании
 private void bEditCompany_Click(object sender, EventArgs e)
 {
     foreach (ListViewItem selectedItem in lvCompanies.SelectedItems)
     {
         int thisCompanyId = (int)selectedItem.Tag;
         var thisCompany   = dataManager.GetCompanyFromDB(thisCompanyId);
         var updatingForm  = new CompanyEditForm("Редактирование компании", thisCompany);
         if (updatingForm.ShowDialog() == DialogResult.OK)
         {
             bool isNewName      = thisCompany.name != updatingForm.ComName;
             var  newCompanyData = new company {
                 name            = updatingForm.ComName,
                 foundation_year = updatingForm.ComFoundationYear,
                 address         = updatingForm.ComAdress
             };
             if (dataManager.EditCompanyInDB(thisCompanyId, newCompanyData) == false)
             {
                 MessageBox.Show("Действие не было выполнено.", "Редактирование компании");
                 return;
             }
             interfaceManager.UpdateItemInTable(selectedItem, newCompanyData);
             interfaceManager.AutoResizeListViewColumns(lvCompanies);
             //Если поменяли имя, меняем имя этой компании в таблице фильмов
             if (isNewName)
             {
                 foreach (ListViewItem lvFilm in lvFilms.Items)
                 {
                     using (var ctx = new DataContext()) {
                         var curFilm = ctx.films.Find((int)lvFilm.Tag);
                         if (curFilm.company != null)
                         {
                             if (curFilm.company.id == thisCompany.id)
                             {
                                 lvFilm.SubItems[8].Text = newCompanyData.name;
                             }
                         }
                     }
                 }
                 interfaceManager.AutoResizeListViewColumns(lvFilms);
             }
         }
     }
 }
        //Сохранение изменений
        private void bFilmSave_Click(object sender, EventArgs e)
        {
            decimal decimalRez; //Для парсинга
            int     integerRez;

            if (string.IsNullOrWhiteSpace(tbFilmName.Text))
            {
                MessageBox.Show("Введите название фильма!");
                return;
            }
            FilmName = tbFilmName.Text;

            if (!int.TryParse(tbFilmYear.Text, out integerRez))
            {
                MessageBox.Show("Год производства введён неверно!");
                return;
            }
            FilmYear = integerRez;

            if (string.IsNullOrWhiteSpace(cbFilmCountry.Text))
            {
                MessageBox.Show("Не выбрана страна производства фильма!");
                return;
            }
            FilmCountryName = cbFilmCountry.Text;

            if (!decimal.TryParse(tbFilmBudget.Text, out decimalRez))
            {
                MessageBox.Show("Бюджет введён неверно!");
                return;
            }
            FilmBudget = decimalRez;

            FilmAgeLimit = int.Parse(cbFilmAgeLimit.Text);

            if (!int.TryParse(tbFilmDuration.Text, out integerRez))
            {
                MessageBox.Show("Продолжительность введена неверно!");
                return;
            }
            FilmDuration = integerRez;

            FilmRating = int.Parse(cbFilmRating.Text);

            if (string.IsNullOrWhiteSpace(tbFilmGenre.Text))
            {
                MessageBox.Show("Введите жанр фильма!");
                return;
            }
            FilmGenre = tbFilmGenre.Text;

            if (cbFilmCompany.Text == "")
            {
                MessageBox.Show("Не выбрана кинокомпания!\nЕсли нет нужной, вы можете ввести название новой кинокомпании");
                return;
            }
            //Если выбрана существующая компания - её берём. Нет - отмечаем это и создаём новую
            if (cbFilmCompany.SelectedItem != null)
            {
                FilmCompany  = (company)cbFilmCompany.SelectedItem;
                IsCompanyNew = false;
            }
            else
            {
                FilmCompany = new company {
                    name = cbFilmCompany.Text
                };
                IsCompanyNew = true;
            }

            if (string.IsNullOrWhiteSpace(tbFilmDirector.Text))
            {
                MessageBox.Show("Введите режиссёра фильма!");
                return;
            }
            FilmDirector = tbFilmDirector.Text;

            if (string.IsNullOrWhiteSpace(tbFilmComposer.Text))
            {
                MessageBox.Show("Введите композитора фильма");
                return;
            }
            FilmComposer = tbFilmComposer.Text;

            this.DialogResult = DialogResult.OK;
            this.Close();
        }