Esempio n. 1
0
        void itemMenuFiltre_Click(object sender, EventArgs e)
        {
            CMenuItemFiltre menuFiltre = sender as CMenuItemFiltre;

            if (menuFiltre != null)
            {
                CFiltreDynamiqueInDb filtreInDb = menuFiltre.Filtre;
                CFiltreDynamique     filtre     = filtreInDb.Filtre;

                if (m_lastFiltreDynamique != null)
                {
                    foreach (IVariableDynamique variable in m_lastFiltreDynamique.ListeVariables)
                    {
                        object             val  = m_lastFiltreDynamique.GetValeurChamp(variable.IdVariable);
                        IVariableDynamique var2 = filtre.GetVariable(variable.IdVariable);
                        if (var2 != null && var2.Nom == variable.Nom)
                        {
                            filtre.SetValeurChamp(var2, val);
                        }
                    }
                }
                m_lastFiltreDynamique = filtre;

                if (filtre.FormulaireEdition.Childs.Count() > 0)
                {
                    if (!CFormFormulairePopup.EditeElement(
                            filtre.FormulaireEdition, filtre, "Filter|20175"))
                    {
                        return;
                    }
                }
                ApplyFiltre(filtre);
            }
        }
Esempio n. 2
0
        /// ///////////////////////////////////////////////////////////////////////
        /// <summary>
        /// Retourne le filtre qui indique les éléments autorisés comme étant éléments suivis
        /// </summary>
        public CFiltreData GetFiltreDataElementSuivi()
        {
            CFiltreDynamique filtreDynamique = TypeDossier.FiltreDynamiqueElementsSuivisPossibles;

            if (filtreDynamique == null)
            {
                return(null);
            }
            try
            {
                foreach (IVariableDynamique variable in filtreDynamique.ListeVariables)
                {
                    if (variable.Nom == CTypeDossierSuivi.c_nomChampDossier)
                    {
                        filtreDynamique.SetValeurChamp(variable, this);
                        break;
                    }
                }
                CResultAErreur result = filtreDynamique.GetFiltreData();
                if (result)
                {
                    return((CFiltreData)result.Data);
                }
            }
            catch
            {
            }
            return(null);
        }
Esempio n. 3
0
 //-------------------------------------------
 public override object[] GetObjets(CNodeConsultationHierarchique nodeParent, CContexteDonnee contexte)
 {
     try
     {
         if (m_filtreDynamique == null || m_filtreDynamique.TypeElements == null)
         {
             return(new object[0]);
         }
         CVariableDynamique variable = AssureVariableParent();
         if (variable != null)
         {
             m_filtreDynamique.SetValeurChamp(variable, nodeParent);
         }
         CResultAErreur result = m_filtreDynamique.GetFiltreData();
         if (!result)
         {
             return(new object[0]);
         }
         CListeObjetsDonnees lst = new CListeObjetsDonnees(contexte, m_filtreDynamique.TypeElements);
         lst.Filtre = (CFiltreData)result.Data;
         return((object[])lst.ToArray(typeof(object)));
     }
     catch
     {
     }
     return(new object[0]);
 }
Esempio n. 4
0
        //---------------------------------------------------------------------------------------
        private CFiltreData GetFiltre(CFiltreDynamique filtre)
        {
            if (filtre == null)
            {
                return(null);
            }
            if (m_elementAVariables != null)
            {
                IVariableDynamique variable = AssureVariableElementCible(filtre, m_elementAVariables.GetType());
                filtre.SetValeurChamp(variable.IdVariable, m_elementAVariables);
            }
            CResultAErreur result = filtre.GetFiltreData();

            if (result)
            {
                return((CFiltreData)result.Data);
            }
            return(null);
        }
Esempio n. 5
0
        void menuFiltre_Click(object sender, EventArgs e)
        {
            CObjetDonneeMenuItem item       = sender as CObjetDonneeMenuItem;
            CFiltreDynamiqueInDb filtreInDb = item != null ? item.ObjetDragDrop as CFiltreDynamiqueInDb : null;

            if (filtreInDb != null)
            {
                CFiltreDynamique filtre = filtreInDb.Filtre;

                if (m_lastFiltreDynamique != null)
                {
                    foreach (IVariableDynamique variable in m_lastFiltreDynamique.ListeVariables)
                    {
                        object             val  = m_lastFiltreDynamique.GetValeurChamp(variable.IdVariable);
                        IVariableDynamique var2 = filtre.GetVariable(variable.IdVariable);
                        if (var2 != null && var2.Nom == variable.Nom)
                        {
                            filtre.SetValeurChamp(var2, val);
                        }
                    }
                }
                m_lastFiltreDynamique = filtre;

                if (filtre.FormulaireEdition.Childs.Count() > 0)
                {
                    if (!CFormFormulairePopup.EditeElement(
                            filtre.FormulaireEdition, filtre, "Filter|20175"))
                    {
                        return;
                    }
                }
                m_filtreDynamicSelectionnee = filtreInDb;
                m_filtreDynamicApplique     = filtre;
                m_chkIntersFiltre.Checked   = true;
                m_setIdsInterventionsVisiblesCalculéDefiltreEtListe = null;
                FillListeIntersAvecDelai();
            }
        }
        /// //////////////////////////////////////////////////////////////////
        protected static CResultAErreur ExecuteActionListe(CActionSur2iLinkAfficherListe action, object objetCible)
        {
            CResultAErreur   result = CResultAErreur.True;
            CFiltreDynamique filtre = action.Filtre;

            if (filtre == null || filtre.TypeElements == null)
            {
                result.EmpileErreur(I.T("Link parameter error : filter is null|30077"));
                return(result);
            }

            if (objetCible != null)
            {
                CObjetPourSousProprietes objetPourSousProp = null;
                objetPourSousProp = new CObjetPourSousProprietes(objetCible);
                IVariableDynamique variable = CActionSur2iLinkAfficherListe.AssureVariableElementCible(filtre, objetPourSousProp);

                /*if ( variable.TypeDonnee.TypeDotNetNatif != objetCible.GetType() )
                 * {
                 *      result.EmpileErreur(I.T("Expected type in the filter does not correspond to object type|30078"));
                 *      return result;
                 * }*/
                if (variable != null)
                {
                    filtre.SetValeurChamp(variable.IdVariable, objetCible);
                }
            }
            result = filtre.GetFiltreData();
            if (!result)
            {
                result.EmpileErreur(I.T("Filter error|30079"));
                return(result);
            }
            CFiltreData filtreData = (CFiltreData)result.Data;
            Type        tp         = CFormFinder.GetTypeFormToList(filtre.TypeElements);

            try
            {
                if (tp != null || tp.IsSubclassOf(typeof(CFormListeStandard)))
                {
                    CFormListeStandard            form    = ( CFormListeStandard )Activator.CreateInstance(tp, new object[0]);
                    CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(objetCible);
                    ctxEval.AttacheObjet(typeof(CContexteDonnee), CSc2iWin32DataClient.ContexteCourant);
                    if (action.FormuleContexte != null)
                    {
                        result = action.FormuleContexte.Eval(ctxEval);
                        if (!result)
                        {
                            result.EmpileErreur(I.T("Form context evaluation error|30080"));
                            return(result);
                        }
                        if (result.Data != null)
                        {
                            form.ContexteUtilisation = result.Data.ToString();
                        }
                    }
                    if (action.FormuleTitre != null)
                    {
                        result = action.FormuleTitre.Eval(ctxEval);
                        if (!result)
                        {
                            result.EmpileErreur(I.T("Form title evaluation error|30081"));
                            return(result);
                        }
                        if (result.Data != null)
                        {
                            form.TitreForce = result.Data.ToString();
                        }
                    }
                    form.FiltreDeBase = filtreData;
                    form.AffectationsPourNouveauxElements        = action.Affectations;
                    form.ObjetReferencePourAffectationsInitiales = objetCible;

                    form.BoutonAjouterVisible   = action.ShowBoutonAjouter;
                    form.BoutonModifierVisible  = action.ShowBoutonDetail;
                    form.BoutonSupprimerVisible = action.ShowBoutonSupprimer;
                    if (action.IdFiltreDynamiqueAUtiliser >= 0)
                    {
                        CFiltreDynamiqueInDb filtretoUse = new CFiltreDynamiqueInDb(CContexteDonneeSysteme.GetInstance());
                        if (filtretoUse.ReadIfExists(action.IdFiltreDynamiqueAUtiliser))
                        {
                            CFiltreDynamique filtreDyn = filtretoUse.Filtre;
                            if (filtreDyn != null)
                            {
                                CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objetCible);
                                foreach (CFormuleNommee formule in action.ValeursVariablesFiltre)
                                {
                                    if (formule.Formule != null)
                                    {
                                        CResultAErreur res = formule.Formule.Eval(ctx);
                                        if (res)
                                        {
                                            try
                                            {
                                                string strId = formule.Id;
                                                filtreDyn.SetValeurChamp(strId, res.Data);
                                            }
                                            catch { }
                                        }
                                    }
                                }
                                form.FiltrePrefere = filtreDyn;
                            }
                        }
                    }
                    if (action.ActionSurDetail != null)
                    {
                        CExecuteurActionSurPanelListeSpeedStandard executeur = new CExecuteurActionSurPanelListeSpeedStandard(action.ActionSurDetail, form);
                        form.SetModifierElementDelegate(new CPanelListeSpeedStandard.ModifierElementDelegate(executeur.ExecuteAction));
                    }
                    CTimosApp.Navigateur.AffichePage(form);
                }
                else
                {
                    result.EmpileErreur(I.T("Not avaliable|30082"));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }