public async Task <PagedList <Cliente> > GetClientes(ClienteQueryFilter filters, ResourceLocation resourceLocation)
        {
            var clientes = await _unitOfWork.ClienteRepository.GetAll();

            clientes = filters.Dni != null ? clientes = clientes.Where(x => x.Dni == filters.Dni) : clientes;
            clientes = filters.Nombre != null ? clientes = clientes.Where(x => x.Nombre.ToLower() == filters.Nombre.ToLower()) : clientes;
            clientes = filters.Apellidos != null ? clientes = clientes.Where(x => x.Apellidos.ToLower() == filters.Apellidos.ToLower()) : clientes;
            clientes = filters.Email != null ? clientes = clientes.Where(x => x.Email.ToLower().Contains(filters.Email.ToLower())) : clientes;
            clientes = filters.Telefono != null ? clientes = clientes.Where(x => x.Telefono == filters.Telefono) : clientes;
            clientes = filters.Direccion != null ? clientes = clientes.Where(x => x.Direccion.ToLower().Contains(filters.Direccion.ToLower())) : clientes;
            clientes = filters.Nacimiento != null ? clientes = clientes.Where(x => DateTime.Parse(x.Nacimiento).Year == filters.Nacimiento) : clientes;
            clientes = GetItemsOrdered(clientes, resourceLocation);
            return(_pagedGenerator.GeneratePagedList(clientes, filters));
        }
        public async Task <ActionResult <IEnumerable <ClienteDTO> > > Get([FromQuery] ClienteQueryFilter filters)
        {
            var location = new ResourceLocation()
            {
                Scheme = Request.Scheme, Host = Request.Host.Value, PathBase = Request.PathBase
            };
            var clientes = await _clienteService.GetClientes(filters, location);

            var clientesDTO = _mapper.Map <IEnumerable <ClienteDTO> >(clientes);
            var metadata    = new MetaData().BuildMeta <Cliente>(clientes, filters, Request.Path.Value, _uriService);
            var response    = new ApiResponse <IEnumerable <ClienteDTO> >(clientesDTO)
            {
                Meta = metadata
            };

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