//------------------------------------------------------------- private void EndEtape() { if (m_formulaire != null && m_formulaire.ModeEdition) { CFormAlerte.Afficher(I.T("Validate your modification before|20572")); return; } CResultAErreur result = CResultAErreur.True; using (CContexteDonnee ctx = new CContexteDonnee(m_etapeEnCours.ContexteDonnee.IdSession, true, false)) { if (m_objetSecondaireEnCoursEdition != null) { CObjetDonnee objetSecondaire = m_objetSecondaireEnCoursEdition.GetObjetInContexte(ctx); result = m_panelFormulalire.AffecteValeursToElement(objetSecondaire); } if (result) { m_etapeEnCours = m_etapeEnCours.GetObjetInContexte(ctx) as CEtapeWorkflow; if (m_etapeEnCours.EtatCode == (int)EEtatEtapeWorkflow.Démarrée) { result = m_etapeEnCours.EndEtapeAndSaveIfOk(); } } } if (!result) { CFormAlerte.Afficher(result.Erreur); return; } else { Init(); } }
//------------------------------------------------------------------- public CResultAErreur RunEvent( bool bAutoManagerHandlerTermine, CObjetDonneeAIdNumerique obj, CInfoDeclencheurProcess infoDeclencheur, IIndicateurProgression indicateur) { CResultAErreur result = CResultAErreur.True; CProcessEnExecutionInDb process = ProcessSource; if (ProcessSource != null) { result = process.RepriseProcess(IdActionDeProcessToExecute, indicateur); } else if (EtapeWorkflowATerminer != null) { using (CContexteDonnee contexte = new CContexteDonnee(ContexteDonnee.IdSession, true, false)) { CEtapeWorkflow etape = EtapeWorkflowATerminer.GetObjetInContexte(contexte) as CEtapeWorkflow; if (etape != null) { result = etape.EndEtapeAndSaveIfOk(); } if (!result) { //L'étape ne s'est pas terminée ? tant pis alors, c'est pas grave, elle se terminera par ailleurs result = CResultAErreur.True; return(result); } } } //gestion du handler faite ailleurs if (!bAutoManagerHandlerTermine) { if (!result) { result.EmpileErreur(I.T("@1 handler error|271", Libelle)); } return(result); } EndHandler(result); return(result); }