diff --git a/Sources/Model/Game.cs b/Sources/Model/Game.cs index e2f79b3..730c4b4 100644 --- a/Sources/Model/Game.cs +++ b/Sources/Model/Game.cs @@ -27,6 +27,8 @@ namespace Model public GameMode GameMode { get; set; } + public Player Player { get; set; } + //public Game(TimeSpan duration, DateOnly date, Dictionary grilles, Dictionary scores, List turns, GameMode gameMode,int id=0) //{ @@ -50,7 +52,7 @@ namespace Model scores.Add(owner, 0); GameMode = gameMode; Id = id; - + Player = owner; } public bool AddPlayerToGame(Player player) diff --git a/Sources/Trek12_API/Converter/GameConverter.cs b/Sources/Trek12_API/Converter/GameConverter.cs index af8899e..ecc1f8d 100644 --- a/Sources/Trek12_API/Converter/GameConverter.cs +++ b/Sources/Trek12_API/Converter/GameConverter.cs @@ -1,9 +1,32 @@ using Model; +using System.Collections.Generic; using Trek12_API.DTO; namespace Trek12_API.Converter { - public class GameConverter + public static class GameConverter { + public static GameDTO toDTO(this Game game) + { + var gameDTO = new GameDTO(game.Id, game.Date, game.Player.toDTO(), game.GameMode.toDTO()); + gameDTO.Duration = game.Duration; + gameDTO.Date = game.Date; + gameDTO.Turns = new List(); + foreach (var turn in game.Turns) + { + gameDTO.Turns.Add(turn.toDTO()); + } + gameDTO.Grilles = new Dictionary(); + foreach ( var grille in game.Grilles) + { + gameDTO.Grilles.Add(grille.Key.toDTO(), grille.Value.toDTO()); + } + gameDTO.Scores = new Dictionary(); + foreach ( var score in game.Scores) + { + gameDTO.Scores.Add(score.Key.toDTO(), score.Value); + } + return gameDTO; + } } } diff --git a/Sources/Trek12_API/Converter/GameModeConverter.cs b/Sources/Trek12_API/Converter/GameModeConverter.cs new file mode 100644 index 0000000..5974c3e --- /dev/null +++ b/Sources/Trek12_API/Converter/GameModeConverter.cs @@ -0,0 +1,17 @@ +using Model; +using Trek12_API.DTO; + +namespace Trek12_API.Converter +{ + public static class GameModeConverter + { + public static GamemodeDTO toDTO(this GameMode gameMode) + { + return new GamemodeDTO() + { + Id = gameMode.Id, + Name = gameMode.Name, + }; + } + } +} diff --git a/Sources/Trek12_API/Converter/GrilleConverter.cs b/Sources/Trek12_API/Converter/GrilleConverter.cs new file mode 100644 index 0000000..5842c4e --- /dev/null +++ b/Sources/Trek12_API/Converter/GrilleConverter.cs @@ -0,0 +1,20 @@ +using Model; +using Trek12_API.DTO; + +namespace Trek12_API.Converter +{ + public static class GrilleConverter + { + public static GrilleDTO toDTO(this Grille grille) + { + return new GrilleDTO() + { + Id = grille.Id, + NbChaines = grille.NbChaine, + NbZones = grille.NbZone, + MaxChaines = grille.MaxChaine, + MaxZones = grille.MaxZone + }; + } + } +} diff --git a/Sources/Trek12_API/Converter/TurnConverter.cs b/Sources/Trek12_API/Converter/TurnConverter.cs new file mode 100644 index 0000000..8e31a8f --- /dev/null +++ b/Sources/Trek12_API/Converter/TurnConverter.cs @@ -0,0 +1,18 @@ +using Model; +using Trek12_API.DTO; + +namespace Trek12_API.Converter +{ + public static class TurnConverter + { + public static TurnDTO toDTO(this Turn turn) + { + return new TurnDTO() + { + Id = turn.Id, + diceValue1 = turn.DiceValue1, + diceValue2 = turn.DiceValue2, + }; + } + } +} diff --git a/Sources/Trek12_API/DTO/GameDTO.cs b/Sources/Trek12_API/DTO/GameDTO.cs index 82ccfba..10a4997 100644 --- a/Sources/Trek12_API/DTO/GameDTO.cs +++ b/Sources/Trek12_API/DTO/GameDTO.cs @@ -9,12 +9,10 @@ namespace Trek12_API.DTO public TimeSpan Duration { get; set; } public DateOnly Date { get; set; } public List Turns { get; set; } - public Dictionary Grilles { get; set; } - public Dictionary Scores { get; set; } - public GamemodeDTO GameMode { get; set; } + public PlayerDTO Player { get; set; } public GameDTO(int id, DateOnly date, PlayerDTO owner, GamemodeDTO gameMode) { @@ -26,6 +24,7 @@ namespace Trek12_API.DTO Scores.Add(owner, 0); GameMode = gameMode; Id = id; + Player = owner; } } } diff --git a/Sources/Trek12_API/DTO/TurnDTO.cs b/Sources/Trek12_API/DTO/TurnDTO.cs index 3c7c37b..194e10e 100644 --- a/Sources/Trek12_API/DTO/TurnDTO.cs +++ b/Sources/Trek12_API/DTO/TurnDTO.cs @@ -4,7 +4,6 @@ { public int Id { get; set; } public int diceValue1 { get; set; } - public string diceValue2 { get; set; } - + public int diceValue2 { get; set; } } }