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; }
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; } }