Merge branch 'Api' of https://codefirst.iut.uca.fr/git/leap-hit-team/leap-hit-server into Api
continuous-integration/drone/push Build is passing Details

pull/1/head
Bruno DA COSTA CUNHA 2 years ago
commit a324666128

@ -1,83 +1,77 @@
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 MessageController : Controller
{
// GET: MessageController
public ActionResult Index()
{
return View();
}
private readonly DbDataManager _dataManager;
// GET: MessageController/Details/5
public ActionResult Details(int id)
{
return View();
}
// GET: MessageController/Create
public ActionResult Create()
public MessageController(DbDataManager dataManager)
{
return View();
_dataManager = dataManager;
}
// POST: MessageController/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(IFormCollection collection)
[HttpGet("{id}")]
public async Task<ActionResult<DTOMessage>> ReceiveMessage(int id)
{
try
var message = await _dataManager.ReceiveMessage(id);
if (message == null)
{
return RedirectToAction(nameof(Index));
}
catch
{
return View();
}
return NotFound();
}
// GET: MessageController/Edit/5
public ActionResult Edit(int id)
{
return View();
}
var player = await _dataManager.GetPlayer(message.player);
// POST: MessageController/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int id, IFormCollection collection)
{
try
var dtoMessage = new DTOMessage
{
return RedirectToAction(nameof(Index));
}
catch
messageId = message.messageId,
message = message.message,
timestamp = message.timestamp,
PlayerId = new DTOPlayer
{
return View();
playerId = player.playerId,
name = player.name,
nbBallTouchTotal = player.nbBallTouchTotal,
timePlayed = player.timePlayed
}
};
return Ok(dtoMessage);
}
// GET: MessageController/Delete/5
public ActionResult Delete(int id)
{
return View();
}
// POST: MessageController/Delete/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int id, IFormCollection collection)
public async Task<ActionResult> SendMessage([FromBody] DTOMessage dtoMessage)
{
try
var player = await _dataManager.GetPlayer(dtoMessage.PlayerId.playerId);
var message = new Message
{
return RedirectToAction(nameof(Index));
messageId = dtoMessage.messageId,
message = dtoMessage.message,
timestamp = dtoMessage.timestamp,
player = player.playerId
};
await _dataManager.SendMessage(message);
return Ok();
}
catch
[HttpDelete("{id}")]
public async Task<ActionResult> RemoveMessage(int id)
{
var result = await _dataManager.RemoveMessage(id);
if (result)
{
return View();
return Ok(result);
}
return NotFound(result);
}
}
}

@ -16,6 +16,7 @@ namespace DataBase.DataManager
using (var context = new PongDbContext())
{
await context.Messages.AddAsync(message);
await context.SaveChangesAsync();
}
}
@ -28,7 +29,7 @@ namespace DataBase.DataManager
}
}
public Task<bool> RemoveMessage(int id)
public async Task<bool> RemoveMessage(int id)
{
using (var context = new PongDbContext())
{
@ -36,9 +37,10 @@ namespace DataBase.DataManager
if (message != null)
{
var result = context.Messages.Remove(message);
return Task.FromResult(result != null);
await context.SaveChangesAsync();
return result != null;
}
return Task.FromResult(false);
return false;
}
}
}

Loading…
Cancel
Save