/// <summary> /// Сохранить сущность. /// </summary> /// <param name="professionalWork">Сущность.</param> /// <returns>Идентификатор сущности.</returns> public int SaveProfessionalWork(ProfessionalWork professionalWork) { Argument.NotNull(professionalWork, "Не указана сущность."); var isEdit = professionalWork.ProfessionalWorkId > 0; ValidateSave(professionalWork); using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create(_configuration)) { if (isEdit) { unitOfWork.ProfessionalWorkRepository.Update(professionalWork); return(professionalWork.ProfessionalWorkId); } else { return(unitOfWork.ProfessionalWorkRepository.Insert(professionalWork)); } } }
/// <summary> /// Сохранить сущность. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_Save_Click(object sender, EventArgs e) { try { var entity = new ProfessionalWork { ProfessionalWorkId = _professionalWorkId, PlanId = _planId, Name = tbName.Text, Date = tbDate.Text, Execution = tbExecution.Text, Hours = numHours.Value == 0 ? null : (double?)numHours.Value }; _professionalWorkService.SaveProfessionalWork(entity); DialogResult = DialogResult.OK; Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Удалить существующий экземпляр сущности. /// </summary> /// <param name="item">Модель экземпляра сущности.</param> public void Delete(ProfessionalWork item) { _dataContext.Connection.Delete(item, _dataContext.Transaction); }
/// <summary> /// Вставить новый экземпляр сущности. /// </summary> /// <param name="item">Модель нового экземпляра сущности.</param> /// <returns>Идентификатор нового экземпляра сущности.</returns> public int Insert(ProfessionalWork item) { return((int)_dataContext.Connection.Insert(item, _dataContext.Transaction)); }
/// <summary> /// Валидация сохранения. /// </summary> /// <param name="professionalWork">Сущность.</param> private void ValidateSave(ProfessionalWork professionalWork) { Argument.NotNull(professionalWork, "Не указана сущность."); Argument.Require(professionalWork.PlanId > 0, "Не указан план."); Argument.NotNullOrWhiteSpace(professionalWork.Name, "Не указано название."); }