Esempio n. 1
0
        //////////////////////////////////////////////////
        public override CFiltreMemoryDb GetClone()
        {
            CFiltreMemoryDbAvance filtre = new CFiltreMemoryDbAvance(m_typePrincipal);

            CopyTo(filtre);
            return(filtre);
        }
Esempio n. 2
0
        ///////////////////////////////////////////////////
        protected static CFiltreMemoryDb CombineFiltres(CFiltreMemoryDb filtre1, CFiltreMemoryDb filtre2, string strOperateur)
        {
            if ((filtre1 == null || !filtre1.HasFiltre) && (filtre2 == null || !filtre2.HasFiltre))
            {
                return(null);
            }
            if (filtre1 == null || !filtre1.HasFiltre)
            {
                return(filtre2.GetClone());
            }
            if (filtre2 == null || !filtre2.HasFiltre)
            {
                return(filtre1.GetClone());
            }
            if (filtre1 is CFiltreMemoryDBImpossible || filtre2 is CFiltreMemoryDBImpossible)
            {
                return(new CFiltreMemoryDBImpossible());
            }
            CFiltreMemoryDb filtreResult = null;

            if (filtre1 is CFiltreMemoryDbAvance)
            {
                filtreResult = new CFiltreMemoryDbAvance(((CFiltreMemoryDbAvance)filtre1).TypePrincipal);
            }
            else if (filtre2 is CFiltreMemoryDbAvance)
            {
                filtreResult = new CFiltreMemoryDbAvance(((CFiltreMemoryDbAvance)filtre2).TypePrincipal);
            }
            else
            {
                filtreResult = new CFiltreMemoryDb();
            }
            filtreResult.Filtre = "(" + filtre1.Filtre + ")";
            CFiltreMemoryDb copie = filtre2.GetClone();

            copie.RenumerotteParameters(filtre1.Parametres.Count + 1);
            filtreResult.Filtre += " " + strOperateur + " (" + copie.Filtre + ")";
            foreach (object parametre in filtre1.Parametres)
            {
                filtreResult.Parametres.Add(parametre);
            }
            foreach (object parametre in filtre2.Parametres)
            {
                filtreResult.Parametres.Add(parametre);
            }

            return(filtreResult);
        }
Esempio n. 3
0
 //////////////////////////////////////////////////
 private void CopyTo(CFiltreMemoryDbAvance filtre)
 {
     base.CopyTo(filtre);
     filtre.m_typePrincipal = m_typePrincipal;
 }