Esempio n. 1
0
        public async Task <PagedList <Marca> > GetMarcas(MarcaQueryFilter filters, ResourceLocation resourceLocation)
        {
            var marcas = await _unitOfWork.MarcaRepository.GetAll();

            marcas = filters.Nombre != null?marcas.Where(x => x.Nombre.ToLower() == filters.Nombre.ToLower()) : marcas;

            marcas = filters.Descripcion != null?marcas.Where(x => x.Descripcion.ToLower().Contains(filters.Descripcion.ToLower())) : marcas;

            marcas = filters.Lanzamiento != null?marcas.Where(x => x.Lanzamiento == filters.Lanzamiento.ToString()) : marcas;

            marcas = filters.Estatus != null?marcas.Where(x => x.Estatus == filters.Estatus) : marcas;

            return(_pagedGenerator.GeneratePagedList(GetItemsOrdered(marcas, resourceLocation), filters));
        }
Esempio n. 2
0
        public async Task <ActionResult <IEnumerable <MarcaDTO> > > Get([FromQuery] MarcaQueryFilter filters)
        {
            var location = new ResourceLocation()
            {
                Scheme = Request.Scheme, Host = Request.Host.Value, PathBase = Request.PathBase
            };
            var marcas = await _marcaService.GetMarcas(filters, location);

            var marcasDTO = _mapper.Map <IEnumerable <MarcaDTO> >(marcas);
            var metadata  = new MetaData().BuildMeta <Marca>(marcas, filters, Request.Path.Value, _uriService);
            var response  = new ApiResponse <IEnumerable <MarcaDTO> >(marcasDTO)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(response));
        }