From d65c6cf6236d92da9f20093c184a958431ba8c26 Mon Sep 17 00:00:00 2001 From: Aurelien PINTRAND Date: Mon, 20 Mar 2023 17:11:04 +0100 Subject: [PATCH] :hammer: un truc qui build --- Sources/Model/IDataManager.cs | 6 +++ Sources/Stub/Stub/StubData.Games.cs | 26 +++++++++++++ Sources/Stub/Stub/StubData.Players.cs | 2 + .../Trek12_API/Controllers/GameController.cs | 38 ++++++++++++++++++- .../Controllers/PlayerController.cs | 1 + 5 files changed, 71 insertions(+), 2 deletions(-) diff --git a/Sources/Model/IDataManager.cs b/Sources/Model/IDataManager.cs index e21281a..79aca84 100644 --- a/Sources/Model/IDataManager.cs +++ b/Sources/Model/IDataManager.cs @@ -33,7 +33,13 @@ namespace Model Task AddScoreToPlayer(int idGame, int idPlayer, int score); Task AddCaseValueToPlayer(int idGame, int idPlayer, int value, int index); Task AddTurn(Turn turn); + Task AddTime(TimeSpan time); + + // Task> GetItemsById(int id); + + + } public interface IGamesModeManager : IGenericDataManager diff --git a/Sources/Stub/Stub/StubData.Games.cs b/Sources/Stub/Stub/StubData.Games.cs index cfc33ea..30700fc 100644 --- a/Sources/Stub/Stub/StubData.Games.cs +++ b/Sources/Stub/Stub/StubData.Games.cs @@ -3,6 +3,7 @@ using Shared; using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; @@ -27,6 +28,11 @@ namespace Stub public GamesManager(StubData parent) => this.parent = parent; + private Func filterById = (game, id) => game.Id.Equals(id); + + + + public Task AddCaseValueToPlayer(int idGame, int idPlayer, int value, int index) { var game = parent.games.FirstOrDefault(g => g.Id == idGame); @@ -109,6 +115,26 @@ namespace Stub public Task UpdateItem(Game? oldItem, Game? newItem) => parent.games.UpdateItem(oldItem, newItem); + + /*public Task> GetItemsById(int idPlayer) + { + var Task<> + + foreach (var game in parent.games) + { + foreach (var player in game.Players) + { + if (player.Id == idPlayer) + { + + } + } + return false; + }*/ + + // return parent.games.GetItemsWithFilterAndOrdering(game => filterById(game, id), 0, 1); + } + } } diff --git a/Sources/Stub/Stub/StubData.Players.cs b/Sources/Stub/Stub/StubData.Players.cs index 3c95fa1..1f64bb4 100644 --- a/Sources/Stub/Stub/StubData.Players.cs +++ b/Sources/Stub/Stub/StubData.Players.cs @@ -47,6 +47,8 @@ namespace Stub private Func filterById = (player, id) => player.Id.Equals(id); + + public Task> GetItemsByPseudo(string charPseudo) => parent.players.GetItemsWithFilterAndOrdering(player => filterByPseudo(player, charPseudo), 0, parent.players.Count()); diff --git a/Sources/Trek12_API/Controllers/GameController.cs b/Sources/Trek12_API/Controllers/GameController.cs index b014b88..438e1ce 100644 --- a/Sources/Trek12_API/Controllers/GameController.cs +++ b/Sources/Trek12_API/Controllers/GameController.cs @@ -17,9 +17,43 @@ namespace Trek12_API.Controllers } [HttpGet("/AllGames")] - public async Task Get() + public async Task GetAllGames() { - var list = await gamesManager + try + { + var list = await gamesManager.GetItems(0, gamesManager.GetNbItems().Result, null, false); + if (list == null) return NotFound("Pas de parties trouvées"); + return Ok(list); + } + catch(Exception ex) + { + return BadRequest(ex.Message); + } } + +/* [HttpGet("/GameById")] + public async Task GetGameById(int id) + { + try + { + var game = await gamesManager.GetItemsById(id); + if (game == null) return NotFound("Pas de parties trouvées"); + return Ok(game.FirstOrDefault()); + } + catch(Exception ex) + { + return BadRequest(ex.Message); + } + }*/ + + /* + [HttpGet("/GameByPlayer")] + public async Task GetGamesByPlayer() + { + try + { + var games = await gamesManager.GetItems(0, gamesManager) + } + }*/ } } diff --git a/Sources/Trek12_API/Controllers/PlayerController.cs b/Sources/Trek12_API/Controllers/PlayerController.cs index 6f98d27..4b429ac 100644 --- a/Sources/Trek12_API/Controllers/PlayerController.cs +++ b/Sources/Trek12_API/Controllers/PlayerController.cs @@ -50,6 +50,7 @@ namespace Trek12_API.Controllers public async Task GetById([FromRoute] int id) { var player = await playersManager.GetItemsById(id); + if (player == null) return NotFound("Joueur non trouvé"); return Ok(player?.toDTOs()); }