public async Task <IActionResult> Get([FromRoute] Guid id) { var partidaResponse = CacheServico .GetCachedResponse <Response <PartidaResponse> >( ApiRotas.Partida.Get.Replace("{id}", id.ToString())); if (partidaResponse is null) { var partida = await _partidaService .ObterPartidaPorIdAsync(id); if (partida is null) { return(NotFound()); } partidaResponse = new Response <PartidaResponse>( Mapper.Map <PartidaResponse>(partida)); CacheServico.SetCacheResponse( ApiRotas.Partida.Get.Replace("{id}", id.ToString()), partidaResponse, TimeSpan.FromMinutes(2)); } return(Ok(partidaResponse)); }
public async Task <IActionResult> GetAll([FromQuery] PaginacaoQuery pagination, [FromServices] IUriServico uriServico) { var usuariosResponse = CacheServico .GetCachedResponse <IReadOnlyList <UsuarioResponse> >( ApiRotas.Usuario.GetAll); if (usuariosResponse is null) { var usuarios = await _usuarioServico .ObterUsuariosAsync(pagination); usuariosResponse = Mapper .Map <IReadOnlyList <UsuarioResponse> >(usuarios); CacheServico.SetCacheResponse( ApiRotas.Usuario.GetAll, usuariosResponse, TimeSpan.FromMinutes(2)); } if (pagination == null || pagination.NumeroPagina < 1 || pagination.QuantidadePagina < 1) { return(Ok(new PagedResponse <UsuarioResponse>(usuariosResponse))); } var paginationResponse = PaginationHelpers .CriarRespostaPaginada(uriServico, pagination, usuariosResponse.ToList()); return(Ok(paginationResponse)); }
public async Task <IActionResult> GetAll([FromQuery] PaginacaoQuery pagination, [FromQuery] PartidaFilterQuery filter) { var partidasResponse = CacheServico .GetCachedResponse <IReadOnlyList <PartidaResponse> >(ApiRotas.Partida.GetAll); if (partidasResponse is null) { var partidas = await _partidaService .ObterPartidasAsync(pagination, filter); partidasResponse = Mapper .Map <IReadOnlyList <PartidaResponse> >(partidas); CacheServico.SetCacheResponse( ApiRotas.Partida.GetAll, partidasResponse, TimeSpan.FromMinutes(2)); } if (pagination == null || pagination.NumeroPagina < 1 || pagination.QuantidadePagina < 1) { return(Ok(new PagedResponse <PartidaResponse>(partidasResponse))); } var paginationResponse = PaginationHelpers .CriarRespostaPaginada(UriServico, pagination, partidasResponse.ToList()); return(Ok(paginationResponse)); }