private void btnSave_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(tbName.Text)) { MessageBox.Show("Имя художника не должно быть пустым", "Проверка"); return; } int birth; int?death = null; if (string.IsNullOrEmpty(tbName.Text)) { MessageBox.Show("Имя художника не должно быть пустым", "Проверка"); return; } if (!int.TryParse(tbBirth.Text, out birth)) { MessageBox.Show("Год рождения должен быть целым числом", "Проверка"); return; } if (!string.IsNullOrEmpty(tbDeath.Text)) { int intDeath; if (!int.TryParse(tbDeath.Text, out intDeath)) { MessageBox.Show("Год смерти должен быть целым числом", "Проверка"); return; } if (intDeath < birth) { MessageBox.Show("Год смерти должен быть больше года рождения", "Проверка"); return; } death = intDeath; } //Создаем объект для передачи данных ArtistDto artist = new ArtistDto(); //Заполняем объект данными artist.Name = tbName.Text; artist.BirthYear = birth; artist.DeceaseYear = death; artist.Nation = cbNationality.SelectedItem as NationDto; //Именно тут запрашиваем реализованную ранее задачу по работе с художниками IArtistProcess artistProcess = ProcessFactory.GetArtistProcess(); //если это новый объект - сохраняем его if (_id == 0) { //Сохраняем художника artistProcess.Add(artist); } else //иначе обновляем { //копируем обратно идентификатор объекта artist.Id = _id; //обновляем artistProcess.Update(artist); } //и закрываем форму Close(); }
private void btnSave_Click(object sender, RoutedEventArgs e) { int?birth; int?death = null; if (string.IsNullOrEmpty(tbName.Text)) { MessageBox.Show("Имя художника не должно быть пустым", "Проверка"); return; } if (tbBirth.Text != "") { try { birth = int.Parse(this.tbBirth.Text); } catch { MessageBox.Show("Год рождения должен быть целым числом", "Проверка"); return; } if (birth < 1000 || birth > DateTime.Today.Year) { MessageBox.Show("Галерея занимается продажей только произведений художников прошлого тысячелетия", "Проверка"); return; } } else { birth = null; } if (!string.IsNullOrEmpty(tbDeath.Text)) { int intDeath; if (!int.TryParse(tbDeath.Text, out intDeath)) { MessageBox.Show("Год смерти должен быть целым числом", "Проверка"); return; } if (intDeath < 1000 || intDeath > DateTime.Today.Year) { MessageBox.Show("Год смерти введён неверно", "Проверка"); return; } if (intDeath < birth) { MessageBox.Show("Год смерти должен быть больше года рождения", "Проверка"); return; } death = intDeath; } ArtistDto artist = new ArtistDto(); artist.Name = tbName.Text; artist.BirthYear = birth; artist.DeceaseYear = death; artist.Nation = cbNationality.SelectedItem as NationDto; IArtistProcess artistProcess = ProcessFactory.GetArtistProcess(); if (_id == 0) { artistProcess.Add(artist); } else { artist.Id = _id; artistProcess.Update(artist); } Close(); }