Exemple #1
0
        //////////////////////////////////////////////////////////
        public CArbreTable IntegreRelation(CInfoRelationComposantFiltre relation, bool bIsLeftOuter, int nIdGroupeRelation)
        {
            foreach (CArbreTableFille arbre in m_listeTablesLiees)
            {
                if (arbre.Relation.RelationKey == relation.RelationKey &&
                    arbre.Relation.IsRelationFille == relation.IsRelationFille &&
                    arbre.IdGroupeRelation == nIdGroupeRelation)
                {
                    if (bIsLeftOuter && !arbre.IsLeftOuter)
                    {
                        arbre.IsLeftOuter = bIsLeftOuter;
                    }
                    return(arbre);
                }
            }
            //la table dépendante n'existe pas
            string           strIdAlias  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            string           strNumAlias = strIdAlias[m_listeTablesLiees.Count] + "";
            CArbreTableFille arbreNew    = new CArbreTableFille(this, relation, RacineAliasFils + strNumAlias);

            arbreNew.IsLeftOuter      = bIsLeftOuter;
            arbreNew.IdGroupeRelation = nIdGroupeRelation;
            m_listeTablesLiees.Add(arbreNew);
            return(arbreNew);
        }
Exemple #2
0
            public int Compare(object x, object y)
            {
                CArbreTableFille arbre1 = x as CArbreTableFille;
                CArbreTableFille arbre2 = y as CArbreTableFille;

                if (arbre1 == null || arbre2 == null)
                {
                    return(0);
                }
                return(arbre1.Relation.IsRelationFille.CompareTo(arbre2.Relation.IsRelationFille));
            }