public ICollection <EstadoTo> ObtenerEstadosPorFiltro(FiltroGeograficoTo filtro) { List <EstadoTo> estados = new List <EstadoTo>(); using (var Contexto = ViveVolarDbContext.GetDbContext()) { var estadoRepositorio = new EstadoRepository(Contexto); var expressionFilter = ConstruirExpresionConsultaEstadoPorFiltroGeografico(filtro); if (expressionFilter != null) { var result = estadoRepositorio.Filtrar(expressionFilter).ToList(); estados = Mapper.Map <List <EstadoTo> >(result); } else { Expression <Func <Ciudad, bool> > filtroInfo = null; var ciudadRepositorio = new CiudadRepository(Contexto); if (filtro.JerarquiaGeografica == FiltroGeografico.IdCiudad) { filtroInfo = c => c.Id == filtro.Id; } var result = ciudadRepositorio.Filtrar(filtroInfo).Select(c => c.Estado).ToList(); estados = Mapper.Map <List <EstadoTo> >(result); } } return(estados); }
public ICollection <CiudadTo> ObtenerCiudadesPorFiltro(FiltroGeograficoTo filtro) { List <CiudadTo> ciudades = new List <CiudadTo>(); using (var Contexto = ViveVolarDbContext.GetDbContext()) { var ciudadRepositorio = new CiudadRepository(Contexto); var result = ciudadRepositorio.Filtrar(ConstruirExpresionConsultaCiudadPorFiltroGeografico(filtro)).ToList(); ciudades = Mapper.Map <List <CiudadTo> >(result); } return(ciudades); }