public IActionResult GetUsuarios([FromQuery] UsuarioQueryFilter filtros) { var usuarios = _usuarioService.GetUsuarios(filtros); var usuariosDtos = _mapper.Map <IEnumerable <UsuarioDto> >(usuarios); var metaData = new MetaData { TotalCount = usuarios.TotalCount, PageSize = usuarios.PageSize, CurrentPage = usuarios.CurrentPage, TotalPages = usuarios.TotalPages, HasNextPage = usuarios.HasNextPage, HasPreviousPage = usuarios.HasPreviousPage, NextPageUrl = _uriService.GetUsuarioPaginationUri(filtros, Url.RouteUrl(nameof(GetUsuarios))).ToString(), PreviousPageUrl = _uriService.GetUsuarioPaginationUri(filtros, Url.RouteUrl(nameof(GetUsuarios))).ToString(), }; var response = new ApiResponse <IEnumerable <UsuarioDto> >(usuariosDtos) { Meta = metaData }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metaData)); return(Ok(response)); }
public PagedList <Usuario> GetUsuarios(UsuarioQueryFilter filtros) { filtros.PageNumber = filtros.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filtros.PageNumber; filtros.PageSize = filtros.PageSize == 0 ? _paginationOptions.DefaultPageSize : filtros.PageSize; var usuarios = _unitOfWork.UsuarioRepository.GetAll(); if (filtros.Rut != null) { usuarios = usuarios.Where(x => x.Rut == filtros.Rut); } if (filtros.Nombre != null) { usuarios = usuarios.Where(x => x.Nombre.ToLower().Contains(filtros.Nombre.ToLower())); } if (filtros.ApellidoPaterno != null) { usuarios = usuarios.Where(x => x.ApellidoPaterno.ToLower().Contains(filtros.ApellidoPaterno.ToLower())); } if (filtros.EsActivo != null) { usuarios = usuarios.Where(x => x.EsActivo == filtros.EsActivo); } var pagedList = PagedList <Usuario> .Create(usuarios, filtros.PageNumber, filtros.PageSize); return(pagedList); }
public async Task <PagedList <Usuario> > GetUsuarios(UsuarioQueryFilter filters, ResourceLocation resourceLocation) { var usuarios = await _unitOfWork.UsuarioRepository.GetAll(); usuarios = filters.Nombre != null?usuarios.Where(x => x.Nombre.ToLower() == filters.Nombre.ToLower()) : usuarios; usuarios = filters.Apellidos != null?usuarios.Where(x => x.Apellidos.ToLower() == filters.Apellidos.ToLower()) : usuarios; usuarios = filters.Email != null?usuarios.Where(x => x.Email.Contains(filters.Email.ToLower())) : usuarios; usuarios = filters.Creacion != null?usuarios.Where(x => x.Creacion == filters.Creacion) : usuarios; return(_pagedGenerator.GeneratePagedList(GetItemsOrdered(usuarios, resourceLocation), filters)); }
public async Task <PageList <Usuario> > GetAll(UsuarioQueryFilter filters) { var usuarios = await _unitOfWork.UsuarioRepository.GetAll(); if (filters.UserName != null) { usuarios = usuarios.Where(x => x.UserName.ToLower().Contains(filters.UserName.ToLower())); } if (filters.Rol != null) { usuarios = usuarios.Where(x => x.Rol == filters.Rol); } var pageTerceros = PageList <Usuario> .Create(usuarios, filters.PageNumber, filters.PageSize); return(pageTerceros); }
public async Task <ActionResult <IEnumerable <UsuarioDTO> > > Get([FromQuery] UsuarioQueryFilter filters) { var location = new ResourceLocation() { Scheme = Request.Scheme, Host = Request.Host.Value, PathBase = Request.PathBase }; var usuarios = await _usuarioService.GetUsuarios(filters, location); var usuariosDTO = _mapper.Map <IEnumerable <UsuarioDTO> >(usuarios); var metadata = new MetaData().BuildMeta <Usuario>(usuarios, filters, Request.Path.Value, _uriService); var response = new ApiResponse <IEnumerable <UsuarioDTO> >(usuariosDTO) { Meta = metadata }; Request.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }
public async Task <IActionResult> GetAll([FromQuery] UsuarioQueryFilter filters) { var usuarios = await _service.GetAll(filters); var usuariosDto = _mapper.Map <IEnumerable <UsuarioDto> >(usuarios); var respose = new ApiResponse <IEnumerable <UsuarioDto> >(usuariosDto); var matadata = new { usuarios.TotalCount, usuarios.PageSize, usuarios.CurrentPage, usuarios.TotlaPages, usuarios.HasNextPage, usuarios.HasPreviousPage }; Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(matadata)); return(Ok(respose)); }
public Uri GetUsuarioPaginationUri(UsuarioQueryFilter filter, string actionUrl) { string url = $"{_baseUri}{actionUrl}"; return(new Uri(url)); }