diff --git a/code/server/ApiLeapHit/Controllers/ChatController.cs b/code/server/ApiLeapHit/Controllers/ChatController.cs index bf424fd..0856c37 100644 --- a/code/server/ApiLeapHit/Controllers/ChatController.cs +++ b/code/server/ApiLeapHit/Controllers/ChatController.cs @@ -1,83 +1,50 @@ -using Microsoft.AspNetCore.Http; +using DataBase.DataManager; +using DataBase.Entity; +using DTO; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace ApiLeapHit.Controllers { + [Route("api/[controller]")] + [ApiController] public class ChatController : Controller { - // GET: ChatController - public ActionResult Index() - { - return View(); - } - // GET: ChatController/Details/5 - public ActionResult Details(int id) - { - return View(); - } + private readonly DbDataManager _dataManager; - // GET: ChatController/Create - public ActionResult Create() - { - return View(); - } - // POST: ChatController/Create - [HttpPost] - [ValidateAntiForgeryToken] - public ActionResult Create(IFormCollection collection) + public ChatController(DbDataManager dataManager) { - try - { - return RedirectToAction(nameof(Index)); - } - catch - { - return View(); - } + _dataManager = dataManager; } - // GET: ChatController/Edit/5 - public ActionResult Edit(int id) - { - return View(); - } - - // POST: ChatController/Edit/5 [HttpPost] - [ValidateAntiForgeryToken] - public ActionResult Edit(int id, IFormCollection collection) + public async Task AddChat([FromBody] DTOChat dtoChat) { - try - { - return RedirectToAction(nameof(Index)); - } - catch + var player1 = await _dataManager.GetPlayer(dtoChat.PlayerId2.playerId); + var player2 = await _dataManager.GetPlayer(dtoChat.PlayerId2.playerId); + + var chat = new Chat { - return View(); - } - } + chatId = dtoChat.chatId, + player1 = player1.playerId, + player2 = player2.playerId + }; - // GET: ChatController/Delete/5 - public ActionResult Delete(int id) - { - return View(); + await _dataManager.AddChat(chat); + return Ok(); } - // POST: ChatController/Delete/5 - [HttpPost] - [ValidateAntiForgeryToken] - public ActionResult Delete(int id, IFormCollection collection) + [HttpDelete("{id}")] + public async Task RemoveChat(int id) { - try - { - return RedirectToAction(nameof(Index)); - } - catch + var result = await _dataManager.RemoveChat(id); + if (result) { - return View(); + return Ok(result); } + return NotFound(result); } } } diff --git a/code/server/ApiLeapHit/Controllers/GameController.cs b/code/server/ApiLeapHit/Controllers/GameController.cs index bb2b291..1796034 100644 --- a/code/server/ApiLeapHit/Controllers/GameController.cs +++ b/code/server/ApiLeapHit/Controllers/GameController.cs @@ -71,19 +71,12 @@ namespace ApiLeapHit.Controllers [HttpDelete("{id}")] public async Task RemoveGame(int id) { - try + var result = await _dataManager.RemoveGame(id); + if (result) { - var result = await _dataManager.RemoveGame(id); - if (result) - { - return Ok(); - } - return NotFound(); - } - catch (Exception ex) - { - return StatusCode((int)HttpStatusCode.InternalServerError, FactoryMessage.MessageCreate("Une erreur est survenue lors de la récupération des champions")); + return Ok(result); } + return NotFound(result); } } } diff --git a/code/server/DataBase/DataManager/DbDataManager.Chat.cs b/code/server/DataBase/DataManager/DbDataManager.Chat.cs index 955e082..683019d 100644 --- a/code/server/DataBase/DataManager/DbDataManager.Chat.cs +++ b/code/server/DataBase/DataManager/DbDataManager.Chat.cs @@ -15,10 +15,11 @@ namespace DataBase.DataManager using (var context = new PongDbContext()) { await context.Chats.AddAsync(chat); + await context.SaveChangesAsync(); } } - public Task RemoveChat(int id) + public async Task RemoveChat(int id) { using (var context = new PongDbContext()) { @@ -26,9 +27,10 @@ namespace DataBase.DataManager if (chat != null) { var result = context.Chats.Remove(chat); - return Task.FromResult(result != null); + await context.SaveChangesAsync(); + return result != null; } - return Task.FromResult(false); + return false; } } } diff --git a/code/server/DataBase/PongDB.db-shm b/code/server/DataBase/PongDB.db-shm index 91d571d..d561b7d 100644 Binary files a/code/server/DataBase/PongDB.db-shm and b/code/server/DataBase/PongDB.db-shm differ diff --git a/code/server/DataBase/PongDB.db-wal b/code/server/DataBase/PongDB.db-wal index af473cc..5fe8801 100644 Binary files a/code/server/DataBase/PongDB.db-wal and b/code/server/DataBase/PongDB.db-wal differ