private Draftee GetCurrentDraftee()
        {
            var dao       = new DrafteeDao();
            var converter = new DrafteeConverter();

            return(converter.Convert(dao.GetById(DrafteeId)));
        }
        private void SaveButton_OnClick(object sender, RoutedEventArgs e)
        {
            draftee.ForeignLanguages = ForeignLanguagesText.Text;
            var validator = new EducationPlacesValidator();

            if (validator.Validate(educationPlaces, draftee.ForeignLanguages))
            {
                var drafteeDao   = new DrafteeDao();
                var educationDao = new EducationPlaceDao();
                drafteeDao.Update(draftee);
                foreach (long id in idsForDelete)
                {
                    educationDao.Delete(id);
                }
                foreach (var place in educationPlaces)
                {
                    if (place.Id > 0)
                    {
                        educationDao.Update(place);
                    }
                    else
                    {
                        educationDao.Insert(place);
                    }
                }
                Close();
            }
            else
            {
                MessageBox.Show(
                    this,
                    string.Format("Данные не прошли проверку.\nСообщение об ошибке: \"{0}\"", validator.Message),
                    "Сообщение");
            }
        }
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            var validator = new CommonInfoValidator();

            if (validator.Validate(Draftee))
            {
                var drafteeDao = new DrafteeDao();
                if (Draftee.Id > 0)
                {
                    drafteeDao.Update(Draftee);
                }
                else
                {
                    drafteeDao.Insert(Draftee);
                }
                Close();
            }
            else
            {
                MessageBox.Show(
                    this,
                    string.Format("Данные не прошли проверку.\nСообщение об ошибке: \"{0}\"", validator.Message),
                    "Сообщение");
            }
        }
        private void SearchButton_Click(object sender, RoutedEventArgs e)
        {
            var drafteeDao = new DrafteeDao();
            var converter  = new TableDrafteeListConverter();
            var criteria   = new TableDrafteeCriteriaBuilder().Build(FullNameTextBox.Text, BirthYearTextBox.Text);

            draftees = new ObservableCollection <TableDraftee>(converter.Convert(drafteeDao.GetListByCriteria(criteria)));
            ResultsListView.ItemsSource = draftees;
        }