public async Task <PagedList <Usuario> > BuscarPorFiltroComPaginacao(UsuarioParams parametros) { try { var prodPaged = _context.Usuarios.AsQueryable(); if (parametros.Filter != null) { prodPaged = prodPaged.Where(x => x.Nome.ToLower().Contains(parametros.Filter.ToLower()) || x.Email.ToLower().Contains(parametros.Filter.ToLower()) || x.Role.ToLower().Contains(parametros.Filter.ToLower())); } if (parametros.SortOrder.ToLower().Equals("asc")) { prodPaged = prodPaged.OrderBy(prod => prod.Nome); } if (parametros.SortOrder.ToLower().Equals("desc")) { prodPaged = prodPaged.OrderByDescending(prod => prod.Nome); } var result = await prodPaged.ToListAsync(); return(PagedList <Usuario> .ToPagedList(result, parametros.NumeroDaPaginaAtual, parametros.TamanhoDaPagina)); } catch (MySqlException ex) { _context.Dispose(); throw new Exception(ex.Message); } }
public async Task <PagedList <Usuario> > BuscarPorFiltroComPaginacao(UsuarioParams userParams) { try { return(await _repository.BuscarPorFiltroComPaginacao(userParams)); } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <IActionResult> GetUsuarios([FromQuery] UsuarioParams usuarioParams) { var usuarios = await _repo.GetUsuarios(usuarioParams); var usuariosLista = _mapper.Map <IEnumerable <UsuarioListaDto> >(usuarios); Response.AddPagination(usuarios.CurrentPage, usuarios.PageSize, usuarios.TotalCount, usuarios.TotalPages); return(Ok(usuariosLista)); }
public async Task <IActionResult> BuscarPorFiltroComPaginacao([FromQuery] UsuarioParams parametros) { PagedList <Usuario> data = await _usuarioService.BuscarPorFiltroComPaginacao(parametros); var pageData = new { data.TotalCount, data.PageSize, data.CurrentPage, data.TotalPages, data.HasNext, data.HasPrevious }; return(Ok(new { data, pageData })); }
public async Task <ListaPaginada <Usuario> > ObtenerUsuarios(UsuarioParams usuarioParams) { var usuarios = _contexto.Usuarios.Include(img => img.Imagenes).AsQueryable(); if (usuarioParams.MeGustadores) { var usuarioMeGustadores = await ObtenerMeGustasDelUsuario(usuarioParams.UsuarioId, usuarioParams.MeGustadores); usuarios = usuarios.Where(x => usuarioMeGustadores.Contains(x.Id)); } if (usuarioParams.MeGustas) { var usuarioMeGustas = await ObtenerMeGustasDelUsuario(usuarioParams.UsuarioId, usuarioParams.MeGustadores); usuarios = usuarios.Where(x => usuarioMeGustas.Contains(x.Id)); } return(await ListaPaginada <Usuario> .Crear(usuarios, usuarioParams.NoPagina, usuarioParams.TamanoPagina)); }
public async Task <IActionResult> ObtenerUsuarios([FromQuery] UsuarioParams usuarioParams) { var usuarioActualId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var usuarioDelRepo = await _coderos.ObtenerUsuario(usuarioActualId); usuarioParams.UsuarioId = usuarioActualId; if (string.IsNullOrEmpty(usuarioParams.Genero)) { usuarioParams.Genero = usuarioDelRepo.Genero == "masculino" ? "Femenino" : "masculino"; } var usuarios = await _coderos.ObtenerUsuarios(usuarioParams); var usuariosARetornar = _mapper.Map <IEnumerable <UsuarioListaDto> > (usuarios); Response.AgregarPaginacion(usuarios.PaginaActual, usuarios.TamanoPagina, usuarios.ConteoTotal, usuarios.PaginasTotales); return(Ok(usuariosARetornar)); }
public async Task <PagedList <Usuario> > GetUsuarios(UsuarioParams usuarioParams) { var usuarios = _context.Usuarios.Include(x => x.Departamento); return(await PagedList <Usuario> .CreateAsync(usuarios, usuarioParams.PageNumber, usuarioParams.PageSize)); }