コード例 #1
0
        //-------------------------------------------------------------------
        public void AppliquerFiltre()
        {
            CFiltreData filtre = null;

            CActeur acteur = m_txtActeur.ElementSelectionne as CActeur;

            if (acteur != null)
            {
                CFiltreData filtreAss = new CFiltreData();
                string[]    strCodes  = acteur.GetListeCodesAffectationEtape();
                foreach (string strCode in strCodes)
                {
                    filtreAss.Filtre += CEtapeWorkflow.c_champAffectations + " like @" +
                                        (filtreAss.Parametres.Count + 1) + " or ";
                    filtreAss.Parametres.Add("%~" + strCode + "~%");
                }
                if (filtreAss.Filtre.Length > 0)
                {
                    filtreAss.Filtre = filtreAss.Filtre.Remove(filtreAss.Filtre.Length - 4, 4);
                    filtre           = CFiltreData.GetAndFiltre(filtre, filtreAss);
                }
            }
            CEtatEtapeWorkflow etat = m_cmbEtats.SelectedValue as CEtatEtapeWorkflow;

            if (etat != null)
            {
                CFiltreData filtreTmp = new CFiltreData(CEtapeWorkflow.c_champEtat + "=@1",
                                                        etat.CodeInt);
                filtre = CFiltreData.GetAndFiltre(filtreTmp, filtre);
            }

            CTypeWorkflow type = m_txtTypeWorkflow.ElementSelectionne as CTypeWorkflow;

            if (type != null)
            {
                filtre = CFiltreData.GetAndFiltre(filtre,
                                                  new CFiltreDataAvance(CEtapeWorkflow.c_nomTable,
                                                                        CTypeEtapeWorkflow.c_nomTable + "." +
                                                                        CTypeWorkflow.c_champId + "=@1", type.Id));
            }
            if (m_txtLabel.Text.Trim().Length > 0)
            {
                filtre = CFiltreData.GetAndFiltre(filtre,
                                                  new CFiltreDataAvance(CEtapeWorkflow.c_nomTable,
                                                                        "(" + CEtapeWorkflow.c_champLibelle + " like @1) or (" +
                                                                        CEtapeWorkflow.c_champLibelle + "=@2 and " +
                                                                        CTypeEtapeWorkflow.c_nomTable + "." +
                                                                        CTypeEtapeWorkflow.c_champLibelle + " like @1)",
                                                                        "%" + m_txtLabel.Text.Trim() + "%", ""));
            }


            Filtre = filtre;

            OnAppliqueFiltre(new object(), null);
        }
コード例 #2
0
        //-------------------------------------------------------------------
        public void FillContexte(CContexteFormNavigable ctx)
        {
            CActeur acteur = m_txtActeur.ElementSelectionne as CActeur;

            ctx["FILTRE_ACTEUR"] = acteur != null ? (int?)acteur.Id : null;
            CEtatEtapeWorkflow etat = m_cmbEtats.SelectedValue as CEtatEtapeWorkflow;

            ctx["FILTRE_ETAT"] = etat;
            CTypeWorkflow type = m_txtTypeWorkflow.ElementSelectionne as CTypeWorkflow;

            ctx["FILTRE_TYPE_WKF"] = type != null ? (int?)type.Id : null;
            ctx["FILTRE_LABEL"]    = m_txtLabel.Text;
        }
コード例 #3
0
        //-------------------------------------------------------------------
        public void InitFromContexte(CContexteFormNavigable ctx)
        {
            int?nIdActeur = ctx["FILTRE_ACTEUR"] as int?;

            if (nIdActeur != null)
            {
                CActeur acteur = new CActeur(CSc2iWin32DataClient.ContexteCourant);
                if (acteur.ReadIfExists(nIdActeur.Value))
                {
                    m_txtActeur.ElementSelectionne = acteur;
                }
            }
            else
            {
                m_txtActeur.ElementSelectionne = null;
            }
            CEtatEtapeWorkflow etat = ctx["FILTRE_ETAT"] as CEtatEtapeWorkflow;

            if (etat != null)
            {
                m_cmbEtats.SelectedValue = etat;
            }
            else
            {
                m_cmbEtats.SelectedValue = null;
            }

            int?nIdType = ctx["FILTRE_TYPE_WKF"] as int?;

            if (nIdType != null)
            {
                CTypeWorkflow type = new CTypeWorkflow(CSc2iWin32DataClient.ContexteCourant);
                if (type.ReadIfExists(nIdType.Value))
                {
                    m_txtTypeWorkflow.ElementSelectionne = type;
                }
            }
            else
            {
                m_txtTypeWorkflow.ElementSelectionne = null;
            }
            m_txtLabel.Text = ctx["FILTRE_LABEL"] as string;
        }
コード例 #4
0
        /// ////////////////////////////////////////////////////////////////////
        public CResultAErreur SerializeFiltre(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }

            if (serializer.Mode == ModeSerialisation.Lecture)
            {
                InitCombos();
            }

            CActeur acteur    = m_txtActeur.ElementSelectionne as CActeur;
            int?    nIdActeur = acteur != null ? (int?)acteur.Id : null;

            serializer.TraiteIntNullable(ref nIdActeur);
            if (nIdActeur != null && serializer.Mode == ModeSerialisation.Lecture)
            {
                acteur = new CActeur(CSc2iWin32DataClient.ContexteCourant);
                if (acteur.ReadIfExists(nIdActeur.Value))
                {
                    m_txtActeur.ElementSelectionne = acteur;
                }
            }

            CEtatEtapeWorkflow etat = m_cmbEtats.SelectedValue as CEtatEtapeWorkflow;
            int?nEtat = etat != null?(int?)etat.CodeInt:null;

            serializer.TraiteIntNullable(ref nEtat);
            if (serializer.Mode == ModeSerialisation.Lecture && nEtat != null)
            {
                etat = new CEtatEtapeWorkflow((EEtatEtapeWorkflow)nEtat.Value);
                m_cmbEtats.SelectedValue = etat;
            }

            CTypeWorkflow type    = m_txtTypeWorkflow.ElementSelectionne as CTypeWorkflow;
            int?          nIdType = type != null ? (int?)type.Id : null;

            serializer.TraiteIntNullable(ref nIdType);
            if (nIdType != null && serializer.Mode == ModeSerialisation.Lecture)
            {
                type = new CTypeWorkflow(CSc2iWin32DataClient.ContexteCourant);
                if (type.ReadIfExists(nIdType.Value))
                {
                    m_txtTypeWorkflow.ElementSelectionne = type;
                }
            }

            string strText = m_txtLabel.Text;

            serializer.TraiteString(ref strText);
            if (serializer.Mode == ModeSerialisation.Lecture)
            {
                m_txtLabel.Text = strText;
            }

            return(result);
        }