/// <summary>
        /// Сохранить учебно-методическую работу.
        /// </summary>
        /// <param name="eduMethodWork">Учебно-методическая работа.</param>
        /// <returns>Идентификатор учебно-методической работы.</returns>
        public int SaveEduMethodWork(EduMethodWork eduMethodWork)
        {
            Argument.NotNull(eduMethodWork, "Не указана учебно-методическая работа преподавателя.");
            var isEdit = eduMethodWork.EduMethodWorkId > 0;

            ValidateSave(eduMethodWork);

            using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create(_configuration))
            {
                if (isEdit)
                {
                    unitOfWork.EduMethodWorkRepository.Update(eduMethodWork);
                    return(eduMethodWork.EduMethodWorkId);
                }
                else
                {
                    return(unitOfWork.EduMethodWorkRepository.Insert(eduMethodWork));
                }
            }
        }
        /// <summary>
        /// Сохранить работу.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                var work = new EduMethodWork
                {
                    EduMethodWorkId    = _eduMethodWorkId,
                    Name               = tbEducationalWork.Text,
                    PlanId             = _planId,
                    FirstSemesterFact  = numFirstFact.Value == 0 ? null : (double?)numFirstFact.Value,
                    FirstSemesterPlan  = numFirstPlan.Value == 0 ? null : (double?)numFirstPlan.Value,
                    SecondSemesterFact = numSecondFact.Value == 0 ? null : (double?)numSecondFact.Value,
                    SecondSemesterPlan = numSecondPlan.Value == 0 ? null : (double?)numSecondPlan.Value
                };
                _eduMethodWorkService.SaveEduMethodWork(work);

                DialogResult = DialogResult.OK;
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 /// <summary>
 /// Удалить существующий экземпляр сущности.
 /// </summary>
 /// <param name="item">Модель экземпляра сущности.</param>
 public void Delete(EduMethodWork item)
 {
     _dataContext.Connection.Delete(item, _dataContext.Transaction);
 }
 /// <summary>
 /// Вставить новый экземпляр сущности.
 /// </summary>
 /// <param name="item">Модель нового экземпляра сущности.</param>
 /// <returns>Идентификатор нового экземпляра сущности.</returns>
 public int Insert(EduMethodWork item)
 {
     return((int)_dataContext.Connection.Insert(item, _dataContext.Transaction));
 }
 /// <summary>
 /// Валидация сохранения учебно-методической работы преподавателя.
 /// </summary>
 /// <param name="educationalWork">Учебно-методическая работа преподавателя.</param>
 private void ValidateSave(EduMethodWork educationalWork)
 {
     Argument.NotNull(educationalWork, "Не указана учебная работа преподавателя.");
     Argument.Require(educationalWork.PlanId > 0, "Не указан план учебной работы.");
     Argument.NotNullOrWhiteSpace(educationalWork.Name, "Не указано название учебной работы.");
 }