58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using Church.Net.WebAPI.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Collections.Generic;
|
|
using WebAPI.Models.IceBreak;
|
|
using WebAPI;
|
|
using System.Linq;
|
|
|
|
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
|
|
|
namespace Church.Net.WebAPI.Controllers
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class GameRoomController : ControllerBase
|
|
{
|
|
private readonly GameRoomLogic gameRoomLogic;
|
|
|
|
public GameRoomController(GameRoomLogic gameRoomLogic)
|
|
{
|
|
this.gameRoomLogic = gameRoomLogic;
|
|
}
|
|
// GET: api/<GameRoomMessageController>
|
|
[HttpGet]
|
|
public IEnumerable<GameRoom> Get()
|
|
{
|
|
return gameRoomLogic.GameRooms;
|
|
}
|
|
|
|
// GET api/<GameRoomMessageController>/5
|
|
[HttpGet("{id}")]
|
|
public IEnumerable<IGamePlayer> Get(string roomId)
|
|
{
|
|
return gameRoomLogic.GameRooms.Where(r => r.Id == roomId).FirstOrDefault()?.Players;
|
|
}
|
|
|
|
// POST api/<GameRoomMessageController>
|
|
[HttpPost]
|
|
public void Post([FromBody] GamePlayer gamePlayer)
|
|
{
|
|
gameRoomLogic.CreateGameRoom(gamePlayer);
|
|
}
|
|
|
|
// PUT api/<GameRoomMessageController>/5
|
|
[HttpPut("{roomId}")]
|
|
public bool Put(string roomId, [FromBody] GamePlayer value)
|
|
{
|
|
return gameRoomLogic.UserJoinGameRoom(roomId, value);
|
|
}
|
|
|
|
// DELETE api/<GameRoomMessageController>/5
|
|
[HttpDelete("{id}")]
|
|
public void Delete(string id)
|
|
{
|
|
gameRoomLogic.UserLeave(new GamePlayer() { Id = id });
|
|
}
|
|
}
|
|
}
|