private void cmdOk_Click(object sender, System.EventArgs e) { try { long mainTaskId = 0; if (_IsLoading.Value) { return; } using (var locker = new BoolLocker(ref _IsLoading)) { using (var releaseService = new Service.Release.Front.ReleaseService(_Group.GetEnvironment().GetSQLExtendConnectionString())) { if (!ControlValidator()) { MessageBox.Show("Données invalides"); return; } if (_StatusEnum == StatusEnum.New) { var newMaintask = FillFromControl(); mainTaskId = releaseService.AddMainTask(newMaintask); } else if (_StatusEnum == StatusEnum.Modified) { var theMainTask = FillFromControl(); mainTaskId = theMainTask.MainTaskId; releaseService.UpdateMainTask(theMainTask); } else { throw new NotSupportedException(_StatusEnum.ToStringWithEnumName()); } DialogResult = System.Windows.Forms.DialogResult.OK; } //Applications des droits sur dev Tools.Tools.ReleaseProjectsRights(_Group); } EditionEventArgs.StatusEnum status; if (_StatusEnum == StatusEnum.New) { status = EditionEventArgs.StatusEnum.New; } else if (_StatusEnum == StatusEnum.Modified) { status = EditionEventArgs.StatusEnum.Update; } else { throw new NotSupportedException(_StatusEnum.ToStringWithEnumName()); } Close(this, new EditionEventArgs(mainTaskId, status)); } catch (Exception ex) { ex.ShowInMessageBox(); } }