public async Task <RespuestaPaginada <Persona> > Get(Paginacion paginacion) { var queryable = context.Personas.AsQueryable(); var respuestaPaginada = new RespuestaPaginada <Persona>(); respuestaPaginada.TotalPaginas = await queryable.CalcularTotalPaginas(paginacion.CantidadRegistros); respuestaPaginada.Registros = await queryable.AsNoTracking().Paginar(paginacion).ToListAsync(); return(respuestaPaginada); }
public async Task <RespuestaPaginada <UsuarioDTO> > Get(Paginacion paginacion) { var queryable = context.Users.AsQueryable(); var respuesta = new RespuestaPaginada <UsuarioDTO>(); respuesta.TotalPaginas = await queryable.CalcularTotalPaginas(paginacion.CantidadRegistros); respuesta.Registros = await queryable.Paginar(paginacion) .Select(x => new UsuarioDTO { Email = x.Email, UserId = x.Id }).ToListAsync(); return(respuesta); }
public async Task <RespuestaPaginada <Pelicula> > Get(ParametrosBusquedaPeliculas parametrosBusqueda) { var peliculasQueryable = context.Peliculas.AsQueryable(); if (!string.IsNullOrWhiteSpace(parametrosBusqueda.Titulo)) { peliculasQueryable = peliculasQueryable .Where(x => x.Titulo.ToLower().Contains(parametrosBusqueda.Titulo.ToLower())); } if (parametrosBusqueda.EnCartelera) { peliculasQueryable = peliculasQueryable.Where(x => x.EnCartelera); } if (parametrosBusqueda.Estrenos) { var hoy = DateTime.Today; peliculasQueryable = peliculasQueryable.Where(x => x.Lanzamiento >= hoy); } if (parametrosBusqueda.GeneroId != 0) { peliculasQueryable = peliculasQueryable .Where(x => x.GenerosPelicula.Select(y => y.GeneroId) .Contains(parametrosBusqueda.GeneroId)); } // TODO: Implementar votacion var respuesta = new RespuestaPaginada <Pelicula>(); respuesta.TotalPaginas = await peliculasQueryable.CalcularTotalPaginas(parametrosBusqueda.CantidadRegistros); respuesta.Registros = await peliculasQueryable.AsNoTracking().Paginar(parametrosBusqueda.Paginacion).ToListAsync(); return(respuesta); }