public async Task <IActionResult> Index([FromQuery] JogoFilterViewModel filter) { ViewData["CurrentFilter"] = filter; var model = await _jogoService.ListJogoAsync(filter); return(View(model)); }
public async Task <IList <JogoIndexViewModel> > ListJogoAsync([FromQuery] JogoFilterViewModel filter) { var listAmigo = new List <JogoIndexViewModel>(); RestClient client = new RestClient(_myGamesAPIConfig.URL); RestRequest request = new RestRequest("api/jogo", Method.GET); System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; //System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3; IRestResponse <List <JogoResult> > response = await client.ExecuteAsync <List <JogoResult> >(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var result = response.Data; if (!string.IsNullOrEmpty(filter.Nome)) { result = result.Where(x => x.Nome.ToUpper().Contains(filter.Nome.ToUpper())).ToList(); } if (filter.TipoJogoId.HasValue) { result = result.Where(x => x.TipoJogoId == filter.TipoJogoId).ToList(); } if (filter.Emprestado.HasValue) { result = result.Where(x => x.Emprestado == filter.Emprestado).ToList(); } listAmigo = result.Select(x => new JogoIndexViewModel { Id = x.Id, Nome = x.Nome, TipoJogo = x.Tipo.Descricao, Emprestado = GamesConstants.GetStatusDevolucao(x.Emprestado), Amigo = x.Historico.SingleOrDefault(y => y.Devolvido == false)?.Amigo.Nome, DtEmprestimo = x.Historico.SingleOrDefault(y => y.Devolvido == false)?.DtEmprestimo.ToShortDateString(), }).ToList(); } return(listAmigo); }