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);
        }
Exemple #2
0
        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);
        }