示例#1
0
        private int procura_filtros(string fonte)
        {
            if (fonte.Contains("!="))
            {
                string[] valor = fonte.Split('=');
                valor[1] = valor[1].Trim();
                ftd = new FiltroTipoDiferente(valor[1]);
                return 1;
            }
            else if (fonte.Contains("="))
            {
                string[] valor = fonte.Split('=');
                valor[1] = valor[1].Trim();
                fti = new FiltroTipoIgual(valor[1]);
                return 2;
            }
            else if (fonte.Contains("<") && !fonte.Contains("-"))
            {
                string[] valor = fonte.Split('<');
                valor[1] = valor[1].Trim();
                int tam = Convert.ToInt32(valor[1]);
                ftme = new FiltroTamanhoMenor(tam);
                return 3;
            }
            else if (fonte.Contains(">") && !fonte.Contains("-"))
            {
                string[] valor = fonte.Split('>');
                valor[1] = valor[1].Trim();
                int tam = Convert.ToInt32(valor[1]);
                ftma = new FiltroTamanhoMaior(tam);
                return 4;
            }
            else if (fonte.Contains("contem"))
            {
                fonte = fonte.Replace("contem", "%");
                string[] valor = fonte.Split('%');
                valor[1] = valor[1].Trim();
                string pesquisa = valor[1];
                fn = new FiltroNome(pesquisa);
                return 5;

            }
            else if (fonte.Contains("-") && fonte.Contains("<"))
            {
                DateTimeConverter conv = new DateTimeConverter();
                DateTime d = new DateTime();
                string[] partes = fonte.Split('<');
                partes[1] = partes[1].Trim();
                fonte = partes[1];
                d = (DateTime)(conv.ConvertFromString(fonte));
                fdme = new FiltroDataMenor(d);
                return 6;

            }

            else if (fonte.Contains("-") && fonte.Contains(">"))
            {
                DateTimeConverter conv = new DateTimeConverter();
                DateTime d = new DateTime();
                string[] partes = fonte.Split('>');
                partes[1] = partes[1].Trim();
                fonte = partes[1];
                d = (DateTime)(conv.ConvertFromString(fonte));
                fdma = new FiltroDataMaior(d);
                return 7;

            }
            else return 0;
        }
示例#2
0
 private void inserir_na_lista_ou(FiltroDataMenor f)
 {
     if (filtros == null)
     {
         FiltroOu ou = new FiltroOu();
         filtros = ou;
         ou.setNext2(f);
         actual = ou;
     }
     else
     {
         FiltroOu ou = new FiltroOu();
         actual.setNext(ou);
         ou.setNext2(f);
         actual = ou;
     }
 }