static void FormasDeConstruirEnumeradoresEncadenados( ) { Console.WriteLine("DEMOSTRACIÓN Diferentes maneras de construir un enumerador encadenado\n"); IEnumerador m1 = new Filtrar(new Pares(new Numeros(10)), i => i < 7); Mostrar(m1, "INSTANCIAS ANIDADAS"); IEnumerador m2 = FiltrarE(ParesE(NumerosE(10)), i => i < 7); Mostrar(m2, "FUNCIONES ANIDADAS"); IEnumerador m3 = new Numeros(10); m3 = new Pares(m3); m3 = new Filtrar(m3, i => i < 7); Mostrar(m3, "SECUENCIAL"); IEnumerador m4 = NumerosE(10); m4 = ParesE(m4); m4 = FiltrarE(m4, i => i < 7); Mostrar(m4, "SECUENCIALES con FUNCIÓN AUXILIAR"); IEnumerador m5 = NumerosE(10) // Tambien se puede escribir como "10.NumerosE()" .ParesE() .FiltrarE(i => i < 7); Mostrar(m5, "ENCADENADA con EXTENCIÓN DE MÉTODOS"); Console.ReadLine(); }
protected override IQueryable <CalleDtm> AplicarFiltros(IQueryable <CalleDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros) { registros = base.AplicarFiltros(registros, filtros, parametros); foreach (ClausulaDeFiltrado filtro in filtros) { if (filtro.Clausula.Equals(nameof(CalleDto.IdPais), StringComparison.CurrentCultureIgnoreCase)) { registros = registros.Where(x => x.Municipio.Provincia.Pais.Id == filtro.Valor.Entero()); } if (filtro.Clausula.Equals(ltrCallejero.iso2Pais, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleIso2); } if (filtro.Clausula.Equals(ltrCallejero.codigoProvincia, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleCodigoProvincia); } if (filtro.Clausula.Equals(ltrCallejero.codigoMunicipio, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleCodigoMunicipio); } if (filtro.Clausula.Equals(ltrCallejero.codigoCalle, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleCodigo); } if (filtro.Clausula.Equals(ltrCallejero.nombreProvincia, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleNombreProvincia); } if (filtro.Clausula.Equals(ltrCallejero.nombreMunicipio, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleNombreMunicipio); } if (filtro.Clausula.Equals(ltrCallejero.nombreCalle, StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleNombre); } //if (filtro.Clausula.ToLower() == nameof(CpsDeUnCalleDtm.CodigoPostal).ToLower()) //{ // registros = filtro.Valor.Length == 5 // ? registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo == filtro.Valor)) // : registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo.StartsWith(filtro.Valor))); //} } return(registros); }
protected override IQueryable <MunicipioDtm> AplicarFiltros(IQueryable <MunicipioDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros) { registros = base.AplicarFiltros(registros, filtros, parametros); foreach (ClausulaDeFiltrado filtro in filtros) { if (filtro.Clausula.Equals(nameof(MunicipioDto.IdProvincia), StringComparison.CurrentCultureIgnoreCase)) { registros = registros.Where(x => x.Provincia.Id == filtro.Valor.Entero()); } if (filtro.Clausula.ToLower() == nameof(MunicipioDto.IdPais).ToLower()) { registros = registros.Where(x => x.Provincia.Pais.Id == filtro.Valor.Entero()); } if (filtro.Clausula.ToLower() == "iso2Pais".ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, "Provincia.Pais.ISO2"); } if (filtro.Clausula.ToLower() == "codigoProvincia".ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, "Provincia.Codigo"); } if (filtro.Clausula.ToLower() == "codigoMunicipio".ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(MunicipioDtm.Codigo)); } if (filtro.Clausula.ToLower() == "nombreProvincia".ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, "Provincia.Nombre"); } if (filtro.Clausula.ToLower() == "nombreMunicipio".ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(MunicipioDtm.Nombre)); } if (filtro.Clausula.ToLower() == nameof(CpsDeUnMunicipioDtm.CodigoPostal).ToLower()) { registros = filtro.Valor.Length == 5 ? registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo == filtro.Valor)) : registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo.StartsWith(filtro.Valor))); } } return(registros); }
protected override IQueryable <TrabajoDeUsuarioDtm> AplicarFiltros(IQueryable <TrabajoDeUsuarioDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros) { registros = base.AplicarFiltros(registros, filtros, parametros); foreach (ClausulaDeFiltrado filtro in filtros) { if (filtro.Clausula.Equals(nameof(ElementoDtm.Nombre), StringComparison.CurrentCultureIgnoreCase)) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, $"{nameof(TrabajoDeUsuarioDtm.Trabajo)}.{nameof(TrabajoDeUsuarioDtm.Trabajo.Nombre)}"); } } return(registros); }
protected override IQueryable <CpsDeUnaProvinciaDtm> AplicarFiltros(IQueryable <CpsDeUnaProvinciaDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros) { registros = base.AplicarFiltros(registros, filtros, parametros); if (HayFiltroPorId) { return(registros); } foreach (ClausulaDeFiltrado filtro in filtros.Where(filtro => filtro.Clausula.Equals(nameof(CpsDeUnaProvinciaDtm.CodigoPostal), StringComparison.CurrentCultureIgnoreCase))) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, $"{nameof(CpsDeUnaProvinciaDtm.CodigoPostal)}.{nameof(CodigoPostalDtm.Codigo)}"); } return(registros); }
public void Buscar() { if (Filtrar == OOB.LibInventario.Visor.Existencia.Enumerados.enumFiltrarPor.SinDefinir) { return; } var filtro = new OOB.LibInventario.Visor.Existencia.Filtro(); filtro.autoDepartamento = Departamento; filtro.autoDeposito = Deposito; filtro.filtrarPor = Filtrar; _filtros = ""; _filtros += Filtrar.ToString(); if (Departamento.Trim() != "") { var ent = lDepart.FirstOrDefault(f => f.auto == Departamento); if (ent != null) { _filtros += ", Departamento: " + ent.nombre; } } if (Deposito.Trim() != "") { var ent = lDeposito.FirstOrDefault(f => f.auto == Deposito); if (ent != null) { _filtros += ", Deposito: " + ent.nombre; } } var r01 = Sistema.MyData.Visor_Existencia(filtro); if (r01.Result == OOB.Enumerados.EnumResult.isError) { Helpers.Msg.Error(r01.Mensaje); return; } lista.Clear(); foreach (var rg in r01.Lista.OrderBy(o => o.nombrePrd).ToList()) { lista.Add(new data(rg, Filtrar)); } bs.CurrencyManager.Refresh(); }
protected override IQueryable <CpsDeUnMunicipioDtm> AplicarFiltros(IQueryable <CpsDeUnMunicipioDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros) { registros = base.AplicarFiltros(registros, filtros, parametros); if (HayFiltroPorId) { return(registros); } foreach (ClausulaDeFiltrado filtro in filtros) { if (filtro.Clausula.ToLower() == nameof(CpsDeUnMunicipioDtm.CodigoPostal).ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(CpsDeUnMunicipioDtm.CodigoPostal)); } } return(registros); }
protected override IQueryable <CorreoDtm> AplicarFiltros(IQueryable <CorreoDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros) { registros = base.AplicarFiltros(registros, filtros, parametros); foreach (ClausulaDeFiltrado filtro in filtros) { if (filtro.Clausula.ToLower() == nameof(ElementoDtm.Nombre).ToLower()) { registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(CorreoDtm.Asunto)); } if (filtro.Clausula.ToLower() == ltrFltCorreosDto.seHaEnviado.ToLower()) { registros = Filtrar.AplicarFiltroPorFechaNoNula(registros, nameof(CorreoDtm.Enviado)); } if (filtro.Clausula.ToLower() == ltrFltCorreosDto.NoSeHaEnviado.ToLower()) { registros = Filtrar.AplicarFiltroPorFechaNula(registros, nameof(CorreoDtm.Enviado)); } } return(registros); }
/// <summary> /// funcao - carrega os menus /// </summary> /// <param name="filtrar"></param> /// <param name="pesquisar"></param> public static void CarregarMenus(Filtrar filtrar, Pesquisar pesquisar) { if (_connection.State != ConnectionState.Closed) { _connection.Close(); _connection.Dispose(); } try { ArrayList.Clear(); using (_connection = new MySqlConnection(MainWindow.Interface.ConnectionString)) { _connection.Open(); var comandosql = @"SELECT `MOD.TIPO`," + "`MOD.NOME`," + "`MOD.DESCRICAO`," + "`MOD.PRIVILEGIO`" + "FROM `v101_tab_modulo`"; switch (filtrar) { case Filtrar.Todos: if (LikeByText != string.Empty) { switch (pesquisar) { case Pesquisar.Modulo: comandosql = string.Concat(comandosql, " WHERE `MOD.NOME` LIKE '%" + LikeByText + "%'"); break; case Pesquisar.Descricao: comandosql = string.Concat(comandosql, " WHERE `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'"); break; case Pesquisar.Privilegio: comandosql = string.Concat(comandosql, " WHERE `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'"); break; } } break; case Filtrar.Aplicacao: comandosql = string.Concat(comandosql, " WHERE `MOD.TIPO` = 'APLICACAO'"); break; case Filtrar.Modulo: comandosql = string.Concat(comandosql, " WHERE `MOD.TIPO` = 'MENU'"); break; } switch (pesquisar) { case Pesquisar.Modulo: if (LikeByText != string.Empty && filtrar != Filtrar.Todos) { comandosql = string.Concat(comandosql, " AND `MOD.NOME` LIKE '%" + LikeByText + "%'"); } break; case Pesquisar.Descricao: if (LikeByText != string.Empty && filtrar != Filtrar.Todos) { comandosql = string.Concat(comandosql, " AND `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'"); } break; case Pesquisar.Privilegio: if (LikeByText != string.Empty && filtrar != Filtrar.Todos) { comandosql = string.Concat(comandosql, " AND `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'"); } break; } using (MySqlCommand command = new MySqlCommand(comandosql,_connection)) { MySqlDataReader sqlDataReader = command.ExecuteReader(); while (sqlDataReader.Read()) { if (sqlDataReader.GetString(1) != @"MNU000") { var t = new UiMenu() { Tipo = sqlDataReader.GetString(0), Modulo = sqlDataReader.GetString(1), Descricao = sqlDataReader.GetString(2), Privilegio = sqlDataReader.GetString(3) }; ArrayList.Add(t); } } } } } catch (MySqlException e) { Console.WriteLine(e.ToString()); } finally { if (_connection.State != ConnectionState.Closed) { _connection.Close(); _connection.Dispose(); } } }
/// <summary> /// funcao - carrega os menus /// </summary> /// <param name="filtrar"></param> /// <param name="pesquisar"></param> public static void CarregarMenus(Filtrar filtrar, Pesquisar pesquisar) { if (_connection.State != ConnectionState.Closed) { _connection.Close(); _connection.Dispose(); } try { ArrayList.Clear(); using (_connection = new MySqlConnection(MainWindow.Interface.ConnectionString)) { _connection.Open(); var comandosql = @"SELECT `MOD.TIPO`," + "`MOD.NOME`," + "`MOD.DESCRICAO`," + "`MOD.PRIVILEGIO`" + "FROM `v101_tab_modulo`"; switch (filtrar) { case Filtrar.Todos: if (LikeByText != string.Empty) { switch (pesquisar) { case Pesquisar.Modulo: comandosql = string.Concat(comandosql, " WHERE `MOD.NOME` LIKE '%" + LikeByText + "%'"); break; case Pesquisar.Descricao: comandosql = string.Concat(comandosql, " WHERE `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'"); break; case Pesquisar.Privilegio: comandosql = string.Concat(comandosql, " WHERE `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'"); break; } } break; case Filtrar.Aplicacao: comandosql = string.Concat(comandosql, " WHERE `MOD.TIPO` = 'APLICACAO'"); break; case Filtrar.Modulo: comandosql = string.Concat(comandosql, " WHERE `MOD.TIPO` = 'MENU'"); break; } switch (pesquisar) { case Pesquisar.Modulo: if (LikeByText != string.Empty && filtrar != Filtrar.Todos) { comandosql = string.Concat(comandosql, " AND `MOD.NOME` LIKE '%" + LikeByText + "%'"); } break; case Pesquisar.Descricao: if (LikeByText != string.Empty && filtrar != Filtrar.Todos) { comandosql = string.Concat(comandosql, " AND `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'"); } break; case Pesquisar.Privilegio: if (LikeByText != string.Empty && filtrar != Filtrar.Todos) { comandosql = string.Concat(comandosql, " AND `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'"); } break; } using (MySqlCommand command = new MySqlCommand(comandosql, _connection)) { MySqlDataReader sqlDataReader = command.ExecuteReader(); while (sqlDataReader.Read()) { if (sqlDataReader.GetString(1) != @"MNU000") { var t = new UiMenu() { Tipo = sqlDataReader.GetString(0), Modulo = sqlDataReader.GetString(1), Descricao = sqlDataReader.GetString(2), Privilegio = sqlDataReader.GetString(3) }; ArrayList.Add(t); } } } } } catch (MySqlException e) { Console.WriteLine(e.ToString()); } finally { if (_connection.State != ConnectionState.Closed) { _connection.Close(); _connection.Dispose(); } } }