public IActionResult GetGames([FromQuery] string author) { try { // get games by author if (author != null) { return(GetGameByAuthorId(author)); } else { // get all games var games = new List <GameDto>(); foreach (var game in repo.GetAllGames()) { var user = userManager.Users.FirstOrDefault(u => u.Id == game.AuthorId); games.Add(new GameDto { Id = game.Id, Author = new UserDto { Username = user.UserName }, Genre = repo.GetGenreById(game.GenreId).Descr, Name = game.Name, Descr = game.Descr }); } return(StatusCode(200, responses.GamesFoundResponse(games))); } } catch (Exception e) { return(StatusCode(500, ErrorResponse.ServerError)); } }