コード例 #1
0
        //-------------------------------------------------------
        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;
                }
            }
        }
コード例 #2
0
        //---------------------------------------------------
        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);
        }
コード例 #3
0
        //-------------------------------------------------------
        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);
        }