//------------------------------------------------------- private void UpdatePanelDeclencheur() { C2iExpression formule = m_txtFormuleElementEdite.Formule; if (formule != null && formule.TypeDonnee != null) { Type tp = formule.TypeDonnee.TypeDotNetNatif; if (tp != null) { if (m_panelParametreDeclenchement.ParametreDeclencheur != null && m_panelParametreDeclenchement.ParametreDeclencheur.TypeCible != tp) { CParametreDeclencheurEvenement p = new CParametreDeclencheurEvenement(); p.TypeCible = tp; m_panelParametreDeclenchement.Init(p); m_panelParametreDeclenchement.Visible = m_chkUseStopHandler.Checked; } } else { m_panelParametreDeclenchement.Visible = false; } } }
//--------------------------------------------------- public override CResultAErreur MySerialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } serializer.TraiteBool(ref m_bIsFormulaireStandard); result = serializer.TraiteObject <C2iExpression>(ref m_formuleElementEditePrincipal); if (!result) { return(result); } if (nVersion >= 1) { result = serializer.TraiteListe <CFormuleNommee>(m_listeFormulesDeConditionDeFin); // m_nIdFormulairePrincipal est obsolète, l'Id du Formulaire proncipal ne doit plus être utilisé //int nIdFormulaire = m_nIdFormulairePrincipal != null ? m_nIdFormulairePrincipal.Value : -1; int nIdFormulaire = -1; serializer.TraiteInt(ref nIdFormulaire); //if (serializer.Mode == ModeSerialisation.Lecture) // m_nIdFormulairePrincipal = nIdFormulaire >= 0 ? (int?)nIdFormulaire : null; } if (nVersion >= 2) { if (nVersion < 6) { string strInstructionsTemp = ""; serializer.TraiteString(ref strInstructionsTemp); if (strInstructionsTemp != "") { m_formuleInstructions = new C2iExpressionConstante(strInstructionsTemp); } } result = serializer.TraiteObject <CListeRestrictionsUtilisateurSurType>(ref m_listeRestrictions); if (!result) { return(result); } } if (nVersion >= 3) { serializer.TraiteBool(ref m_bMasquerSurChangementDeFormulaire); result = serializer.TraiteObject <C2iExpression>(ref m_formuleElementEditeSecondaire); if (nVersion <= 13) { // TESTDBKEYOK serializer.ReadDbKeyFromOldId(ref m_dbKeyFormulaireSecondaire, typeof(CFormulaire)); } else { serializer.TraiteDbKey(ref m_dbKeyFormulaireSecondaire); } } else { m_bMasquerSurChangementDeFormulaire = true; } if (nVersion >= 4) { serializer.TraiteBool(ref m_bSecondaireEnEdition); } if (nVersion >= 5) { int nNombreFormulaires = m_listeDbKeysFormulaires.Count; serializer.TraiteInt(ref nNombreFormulaires); switch (serializer.Mode) { case ModeSerialisation.Lecture: m_listeDbKeysFormulaires.Clear(); for (int i = 0; i < nNombreFormulaires; i++) { CDbKey nKeyTemp = null; if (nVersion < 14) { // TESTDBKEYOK serializer.ReadDbKeyFromOldId(ref nKeyTemp, typeof(CFormulaire)); } else { serializer.TraiteDbKey(ref nKeyTemp); } m_listeDbKeysFormulaires.Add(nKeyTemp); } break; case ModeSerialisation.Ecriture: foreach (CDbKey nKey in m_listeDbKeysFormulaires) { // TESTDBKEYOK CDbKey nKeyTemp = nKey; serializer.TraiteDbKey(ref nKeyTemp); } break; } } if (nVersion >= 6) { result = serializer.TraiteObject <C2iExpression>(ref m_formuleInstructions); if (!result) { return(result); } } if (nVersion >= 7) { serializer.TraiteBool(ref m_bProposerSortieSiToutesConditionsRemplies); } if (nVersion >= 8) { serializer.TraiteBool(ref m_bLockElementEditeEnFinDEtape); } if (nVersion >= 9) { serializer.TraiteBool(ref m_bMasquerApresValidation); } if (nVersion >= 10) { int nVal = (int)m_modeGestionErreurs; serializer.TraiteInt(ref nVal); m_modeGestionErreurs = (EModeGestionErreurEtapeWorkflow)nVal; } else { m_modeGestionErreurs = EModeGestionErreurEtapeWorkflow.DoNothing; } if (nVersion >= 11) { serializer.TraiteBool(ref m_bNePasExecuterSiToutesConditionsRemplies); } else { m_bNePasExecuterSiToutesConditionsRemplies = false; } if (nVersion >= 12) { serializer.TraiteObject <CParametreDeclencheurEvenement>(ref m_parametreDeclencheurStop); } else { m_parametreDeclencheurStop = null; } if (nVersion >= 13) { serializer.TraiteString(ref m_strRestrictionExceptionContext); } return(result); }
//------------------------------------------------------- private CResultAErreur MajChamps() { CResultAErreur result = CResultAErreur.True; C2iExpression formule = GetFormuleValideElementEdite(m_txtFormuleElementEdite); if (formule == null) { result.EmpileErreur(I.T("Edited elements formula is not valid|20052")); } else { m_blocFormulaire.FormuleElementEditePrincipal = formule; } formule = GetFormuleValideElementEdite(m_txtFormuleElementSecondaire); m_blocFormulaire.FormuleElementEditeSecondaire = formule; m_blocFormulaire.FormuleInstructions = m_txtFormuleInstructions.Formule; if (m_rbtnFormulaireSpecifique.Checked) { if (m_listeDbKeysFormulaires.Count == 0) { result.EmpileErreur(I.T("Select the form to use|20053")); } else { m_blocFormulaire.ListeDbKeysFormulaires = m_listeDbKeysFormulaires.ToArray(); m_blocFormulaire.IsStandardForm = false; } } else { m_blocFormulaire.IsStandardForm = true; } CFormulaire formulaire = m_txtSelectFormulaireSecondaire.ElementSelectionne as CFormulaire; if (m_blocFormulaire.FormuleElementEditeSecondaire != null && formulaire == null) { result.EmpileErreur(I.T("Select the secondary form to use|20086")); } m_blocFormulaire.DbKeyFormulaireSecondaire = formulaire != null ? formulaire.DbKey : null; m_blocFormulaire.MasquerSurChangementDeFormulaire = m_chkHideOnChangeForm.Checked; m_blocFormulaire.LockerElementEditeEnFinDEtape = m_chkLockItemWhenComplete.Checked; m_blocFormulaire.HideAfterValidation = m_chkMasquerApresValidation.Checked; if (result) { m_blocFormulaire.FormulesConditionFin = m_wndListeFormules.GetFormules(); } if (result) { m_blocFormulaire.Restrictions = m_panelRestrictions.GetListeRestrictions(); } CResultAErreurType <CParametresInitialisationEtape> resParam = m_panelAffectations.MajChamps(); if (resParam) { if (m_blocFormulaire.TypeEtape != null) { m_blocFormulaire.TypeEtape.ParametresInitialisation = resParam.DataType; } } else { result.EmpileErreur(resParam.Erreur); return(result); } m_blocFormulaire.SecondaireEnEdition = m_chkSecondaireEnEdition.Checked; m_blocFormulaire.PromptForEndWhenAllConditionsAreOk = m_chkPromptToEnd.Checked; m_blocFormulaire.NePasExecuterSiToutesConditionsRemplies = m_chkPasserSiPasErreur.Checked; EModeGestionErreurEtapeWorkflow modeGestionErreur = EModeGestionErreurEtapeWorkflow.DoNothing; foreach (Control ctrl in m_panelGestionErreur.Controls) { CheckBox chk = ctrl as CheckBox; if (chk != null && chk.Checked) { EModeGestionErreurEtapeWorkflow?modeChk = chk.Tag as EModeGestionErreurEtapeWorkflow?; if (modeChk != null) { modeGestionErreur |= modeChk.Value; } } } m_blocFormulaire.SetModeGestionErreur(modeGestionErreur); if (m_chkUseStopHandler.Checked) { result = m_panelParametreDeclenchement.MAJ_Champs(); CParametreDeclencheurEvenement parametre = null; if (result) { parametre = m_panelParametreDeclenchement.ParametreDeclencheur; result = parametre.VerifieDonnees(); } if (!result) { return(result); } m_blocFormulaire.ParametreDeclencheurStop = parametre; } else { m_blocFormulaire.ParametreDeclencheurStop = null; } m_blocFormulaire.RestrictionExceptionContext = m_txtExceptionRestriction.Text.Trim(); result = m_panelChamps.MAJ_Champs(); return(result); }