예제 #1
0
        /// <summary>
        /// //////////////////////////////////////////////////
        /// </summary>
        /// <param name="tableOrigines"></param>
        public override void AddProprietesOrigineToTable(
            Type typeSource,
            Hashtable tableOrigines,
            string strChemin,
            CContexteDonnee contexteDonnee)
        {
            if (strChemin.Length > 0)
            {
                strChemin += ".";
            }
            string[] strProps = CInterpreteurProprieteDynamique.GetProprietesAccedees(typeSource, ChampOrigine.NomPropriete);
            if (strProps != null)
            {
                foreach (string strProp in strProps)
                {
                    tableOrigines[strChemin + strProp] = true;
                }
            }
            else
            {
                string strOrigine = ChampOrigine.NomPropriete;
                tableOrigines[strChemin + strOrigine] = true;
            }

            /*
             * if (ChampOrigine is CDefinitionProprieteDynamiqueChampCalcule)
             *          {
             *                  if (contexteDonnee != null)
             *                  {
             *                          CDefinitionProprieteDynamiqueChampCalcule defCal = (CDefinitionProprieteDynamiqueChampCalcule)ChampOrigine;
             *                          CChampCalcule champCal = new CChampCalcule(contexteDonnee);
             *                          if (champCal.ReadIfExists(defCal.IdChamp))
             *                          {
             *                                  C2iExpression expression = champCal.Formule;
             *                                  if (expression != null)
             *                                  {
             *                                          CArbreDefinitionsDynamiques arbre = new CArbreDefinitionsDynamiques(null);
             *                                          expression.GetArbreProprietesAccedees(arbre);
             *                                          CDefinitionProprieteDynamiqueChampCalcule.DetailleSousArbres(arbre, contexteDonnee);
             *                                          AddProprietesArbre(arbre, tableOrigines, strChemin);
             *                                  }
             *                          }
             *                  }
             *          }
             *          else
             *          {
             *                  string strOrigine = ChampOrigine.NomPropriete;
             *                  tableOrigines[strChemin + strOrigine] = true;
             *          }*/
        }