Files
LaDOSE/LaDOSE.Src/LaDOSE.Api/Controllers/WordPressController.cs

93 lines
2.7 KiB
C#
Raw Normal View History

using System.Collections.Generic;
2019-03-12 22:23:38 +01:00
using AutoMapper;
using LaDOSE.Business.Interface;
2019-03-12 22:23:38 +01:00
using LaDOSE.DTO;
using LaDOSE.Entity.Wordpress;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace LaDOSE.Api.Controllers
{
[Authorize]
[Produces("application/json")]
[Route("api/[controller]")]
public class WordPressController : Controller
{
2019-03-09 14:03:25 +01:00
public IGameService GameService { get; }
2019-03-09 14:03:25 +01:00
private IWordPressService _service;
// GET
public WordPressController(IWordPressService service, IGameService gameService)
{
2019-03-09 14:03:25 +01:00
GameService = gameService;
_service = service;
}
[HttpGet("WPEvent")]
2019-03-12 22:23:38 +01:00
public List<WPEventDTO> Event()
{
2019-03-09 14:03:25 +01:00
var wpEvents = _service.GetWpEvent();
foreach (var wpEvent in wpEvents)
{
foreach (var wpEventWpBooking in wpEvent.WPBookings)
{
wpEventWpBooking.WPEvent = null;
wpEventWpBooking.WPUser.WPBookings = null;
}
}
2019-03-12 22:23:38 +01:00
return Mapper.Map<List<WPEventDTO>>(wpEvents);
2019-03-09 14:03:25 +01:00
}
[HttpGet("NextEvent")]
public WPEventDTO NextEvent()
{
var wpEvents = _service.GetNextWpEvent();
foreach (var wpEventWpBooking in wpEvents.WPBookings)
{
wpEventWpBooking.WPEvent = null;
wpEventWpBooking.WPUser.WPBookings = null;
}
return Mapper.Map<WPEventDTO>(wpEvents);
}
2019-03-09 14:03:25 +01:00
[HttpGet("GetUsers/{wpEventId}/{gameId}")]
2019-03-12 22:23:38 +01:00
public List<WPUserDTO> GetUsers(int wpEventId, int gameId)
2019-03-09 14:03:25 +01:00
{
var game = GameService.GetById(gameId);
2019-03-12 22:23:38 +01:00
return Mapper.Map<List<WPUserDTO>>(_service.GetBooking(wpEventId, game));
2019-03-09 14:03:25 +01:00
}
2019-03-09 14:03:25 +01:00
[HttpGet("GetUsersOptions/{wpEventId}/{gameId}")]
2019-03-12 22:23:38 +01:00
public List<WPUserDTO> GetUsersOptions(int wpEventId, int gameId)
2019-03-09 14:03:25 +01:00
{
var game = GameService.GetById(gameId);
2019-03-12 22:23:38 +01:00
return Mapper.Map<List<WPUserDTO>>(_service.GetBookingOptions(wpEventId, game));
2019-03-09 14:03:25 +01:00
}
[HttpGet("UpdateDb")]
public bool UpdateDb()
{
return _service.UpdateBooking();
}
[HttpGet("CreateChallonge/{gameId:int}/{wpEventId:int}")]
2019-03-12 21:41:30 +01:00
public string CreateChallonge(int gameId, int wpEventId)
2019-03-09 14:03:25 +01:00
{
return _service.CreateChallonge(gameId, wpEventId, null);
2019-03-12 21:41:30 +01:00
}
[HttpPost("CreateChallonge/{gameId:int}/{wpEventId:int}")]
public string CreateChallonge(int gameId, int wpEventId, [FromBody] List<WPUser> additionalPlayer)
2019-03-12 21:41:30 +01:00
{
return _service.CreateChallonge(gameId, wpEventId, additionalPlayer);
}
}
}