/// //////////////////////////////////// ///////////////////////////////// public C2iExpressionMethodeDynamique(CDefinitionFonctionDynamique definitionFonction) { if (definitionFonction != null) { m_definitionFonction = definitionFonction; m_strNomMethode = definitionFonction.NomProprieteSansCleTypeChamp; } }
/// ///////////////////////////////////////////////// /// Le data du result contient l'expression protected override CResultAErreur GetExpressionMethode(string strMethode) { CDefinitionMethodeDynamique definitionMethode = null; CDefinitionFonctionDynamique definitionFonction = null; CResultAErreur result = CResultAErreur.True; if (m_contexteAnalyse.FournisseurProprietes == null) { result.EmpileErreur(I.T("The property supplier parser cannot recognize the methods|144")); return(result); } else { if (!IsAnalyseExpressionObjet()) { string strNomUpper = strMethode.ToUpper(); foreach (CDefinitionProprieteDynamique def in m_contexteAnalyse.GetDefinitionsChamps(m_contexteAnalyse.ObjetAnalyse)) { if (def is CDefinitionMethodeDynamique) { if (def.Nom.ToUpper() == strNomUpper || def.NomPropriete.ToUpper() == strNomUpper) { definitionMethode = (CDefinitionMethodeDynamique)def; break; } } if (def is CDefinitionFonctionDynamique) { if (def.NomPropriete.ToUpper() == strNomUpper) { definitionFonction = (CDefinitionFonctionDynamique)def; break; } } } } /*if ( definitionMethode == null ) * { * //Définition temporaire, elle n'existe pas dans le type de base * definitionMethode = new CDefinitionMethodeDynamique(strMethode, strMethode, null, false); * }*/ if (definitionFonction != null) { result.Data = new C2iExpressionMethodeDynamique(definitionFonction); } else if (definitionMethode != null) { result.Data = new C2iExpressionMethodeDynamique(definitionMethode); } else { result.Data = new C2iExpressionMethodeDynamique(strMethode); } return(result); } }
public CRequeteRechercheObjet GetRequeteRecherche() { if (Fonction != null) { CDefinitionFonctionDynamique defF = new CDefinitionFonctionDynamique(Fonction); return(new CRequeteRechercheObjet( I.T("Search function '@1'|20083", Nom), defF)); } return(null); }
/// //////////////////////////////////// ///////////////////////////////// public override CResultAErreur SetTypeObjetInterroge(CObjetPourSousProprietes objetPourProprietes, IFournisseurProprietesDynamiques fournisseur) { CResultAErreur result = base.SetTypeObjetInterroge(objetPourProprietes, fournisseur); if (!result) { return(result); } ObjetPourAnalyseSourceConnu = objetPourProprietes; if (objetPourProprietes == null) { return(result); } if (DefinitionMethode != null) { return(result); } if (DefinitionFonction != null) { return(result); } string strNomUpper = m_strNomMethode.ToUpper(); foreach (CDefinitionProprieteDynamique prop in fournisseur.GetDefinitionsChamps(objetPourProprietes)) { if (prop is CDefinitionMethodeDynamique) { if (prop.NomProprieteSansCleTypeChamp.ToUpper() == strNomUpper || prop.Nom.ToUpper() == strNomUpper) { m_definitionMethode = (CDefinitionMethodeDynamique)prop; return(result); } } if (prop is CDefinitionFonctionDynamique) { if (prop.NomProprieteSansCleTypeChamp.ToUpper() == strNomUpper || prop.Nom.ToUpper() == strNomUpper) { m_definitionFonction = (CDefinitionFonctionDynamique)prop; return(result); } } } result.EmpileErreur(I.T("The @1 method doesn't exit in the @2 type|120", m_strNomMethode, objetPourProprietes != null? objetPourProprietes.ToString():"null")); return(result); }
public CMotVocabulaire(CDefinitionProprieteDynamique propriete) { CDefinitionMethodeDynamique defMethode = propriete as CDefinitionMethodeDynamique; CDefinitionFonctionDynamique defFonction = propriete as CDefinitionFonctionDynamique; if (defMethode != null || defFonction != null) { m_strMot = propriete.Nom; } else { m_strMot = "[" + propriete.Nom + "]"; } m_strIndex = propriete.Nom.ToUpper();; m_proprieteAssociee = propriete; }
//----------------------------------------------------------------------------------------------- public IEnumerable <CDefinitionProprieteDynamique> GetDefinitionsFonctionsSupplementaires(CObjetPourSousProprietes objet) { List <CDefinitionProprieteDynamique> lstProps = new List <CDefinitionProprieteDynamique>(); if (objet == null) { return(lstProps.ToArray()); } Type tp = objet.TypeAnalyse; if (tp == null) { return(lstProps.ToArray()); } if (!C2iFactory.IsInit()) { return(lstProps.ToArray()); } CContexteDonnee contexte = CContexteDonneeSysteme.GetInstance(); CListeObjetsDonnees liste = new CListeObjetsDonnees(contexte, typeof(CFonctionDynamiqueInDb)); liste.Filtre = new CFiltreData(CFonctionDynamiqueInDb.c_champTypeObjets + "=@1", tp.ToString()); foreach (CFonctionDynamiqueInDb fonctionInDb in liste) { CFonctionDynamique fonction = fonctionInDb.Fonction; if (fonction != null) { CDefinitionFonctionDynamique def = new CDefinitionFonctionDynamique(fonction); if (fonctionInDb.Categorie.Length == 0) { def.Rubrique = I.T("Methods|58"); } else { def.Rubrique = fonctionInDb.Categorie; } lstProps.Add(def); } } return(lstProps.ToArray()); }