🔨 maj gameController, DTOs et Converter

malanone/dbdatamanager
Aurelien PINTRAND 2 years ago
parent d65c6cf623
commit 20e578f7bc

@ -42,7 +42,7 @@ namespace Model
// Id = id;
//}
public Game(DateOnly date, Player owner, GameMode gameMode, int id = 0)
public Game(DateOnly date, Player ?owner, GameMode gameMode, int id = 0)
{
Date = date;
Players = new ReadOnlyCollection<Player>(players);

@ -104,7 +104,7 @@ namespace Stub
public Task<bool> DeleteItem(Game? item)
=> parent.games.DeleteItem(item);
public Task<IEnumerable<Game?>> GetItems(int index, int count, string? orderingPropertyName, bool descending)
public Task<IEnumerable<Game?>> GetItems(int index, int count, string? orderingPropertyName, bool descending = false)
=> parent.games.GetItemsWithFilterAndOrdering(
g => true,
index, count,
@ -116,23 +116,10 @@ namespace Stub
public Task<Game?> UpdateItem(Game? oldItem, Game? newItem)
=> parent.games.UpdateItem(oldItem, newItem);
/*public Task<IEnumerable<Game?>> GetItemsById(int idPlayer)
public Task<IEnumerable<Game?>> GetItemsById(int id)
{
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>(game => filterById(game, id), 0, 1);
return parent.games.GetItemsWithFilterAndOrdering<Game>(game => filterById(game, id), 0, 1);
}
}

@ -1,5 +1,8 @@
using Microsoft.AspNetCore.Mvc;
using Model;
using Stub;
using Trek12_API.DTO;
using static Stub.StubData;
namespace Trek12_API.Controllers
{
@ -31,8 +34,8 @@ namespace Trek12_API.Controllers
}
}
/* [HttpGet("/GameById")]
public async Task<IActionResult> GetGameById(int id)
[HttpGet("/GameById/{id}")]
public async Task<IActionResult> GetGameById([FromRoute] int id)
{
try
{
@ -44,16 +47,29 @@ namespace Trek12_API.Controllers
{
return BadRequest(ex.Message);
}
}*/
/*
[HttpGet("/GameByPlayer")]
public async Task<IActionResult> GetGamesByPlayer()
}
[HttpDelete (Name = "DeleteGameById")]
public async Task<IActionResult> DeleteGame(int idGame)
{
try
var gameToDelete = await gamesManager.GetItemsById(idGame);
if (gameToDelete == null)
{
var games = await gamesManager.GetItems(0, gamesManager)
return NotFound("Partie non trouvée");
}
if (!await gamesManager.DeleteItem(gameToDelete.SingleOrDefault(game => game.Id == idGame)))
{
return BadRequest("Erreur lors de la suppression de la partie");
}
return Ok("Partie bien supprimée");
}
/* [HttpPut(Name = "UpdateGameById")]
public async Task<IActionResult> Update(int id, GameDTO newGame)
{
await gamesManager.UpdateItem(gamesManager.GetItemsById(id).Result.FirstOrDefault(), newGame.toModel());
return Ok(newPlayer);
}*/
}
}

@ -8,7 +8,7 @@ namespace Trek12_API.Converter
{
public static GameDTO toDTO(this Game game)
{
var gameDTO = new GameDTO(game.Id, game.Date, game.Players.toDTOs().First(), game.GameMode.toDTO());
var gameDTO = new GameDTO();
gameDTO.Duration = game.Duration;
gameDTO.Date = game.Date;
gameDTO.Turns = new List<TurnDTO>();
@ -26,7 +26,50 @@ namespace Trek12_API.Converter
{
gameDTO.Scores.Add(score.Key.toDTO(), score.Value);
}
gameDTO.Players = new List<PlayerDTO>();
foreach ( var player in game.Players)
{
gameDTO.Players.Add(player.toDTO());
}
gameDTO.GameMode = new GamemodeDTO() {
Id = game.GameMode.Id,
Name = game.GameMode.Name
};
return gameDTO;
}
/*public static Game toModel(this GameDTO gameDTO)
{
{
var game = new Game();
game.Duration = gameDTO.Duration;
game.Date = gameDTO.Date;
game.Turns = new List<Turn>();
foreach (var turn in game.Turns)
{
gameDTO.Turns.Add(turn.toDTO());
}
gameDTO.Grilles = new Dictionary<PlayerDTO, GrilleDTO>();
foreach (var grille in game.Grilles)
{
gameDTO.Grilles.Add(grille.Key.toDTO(), grille.Value.toDTO());
}
gameDTO.Scores = new Dictionary<PlayerDTO, int>();
foreach (var score in game.Scores)
{
gameDTO.Scores.Add(score.Key.toDTO(), score.Value);
}
gameDTO.Players = new List<PlayerDTO>();
foreach (var player in game.Players)
{
gameDTO.Players.Add(player.toDTO());
}
gameDTO.GameMode = new GamemodeDTO()
{
Id = game.GameMode.Id,
Name = game.GameMode.Name
};
return gameDTO;
}*/
}
}

@ -11,12 +11,13 @@ namespace Trek12_API.DTO
public List<TurnDTO> Turns { get; set; }
public Dictionary<PlayerDTO, GrilleDTO> Grilles { get; set; }
public Dictionary<PlayerDTO, int> Scores { get; set; }
public List<PlayerDTO> Players { get; set; }
public GamemodeDTO GameMode { get; set; }
public PlayerDTO Player { get; set; }
public GameDTO(int id, DateOnly date, PlayerDTO owner, GamemodeDTO gameMode)
/* public GameDTO(int id, DateOnly date, PlayerDTO owner, GamemodeDTO gameMode)
{
Date = date;
Players = new List<PlayerDTO>();
Grilles = new Dictionary<PlayerDTO, GrilleDTO>();
Scores = new Dictionary<PlayerDTO, int>();
Turns = new List<TurnDTO>();
@ -24,7 +25,7 @@ namespace Trek12_API.DTO
Scores.Add(owner, 0);
GameMode = gameMode;
Id = id;
Player = owner;
}
Players.Add(owner);
}*/
}
}

Loading…
Cancel
Save