Creation des Challonges a partir des Event WordPress

This commit is contained in:
2018-10-08 23:33:18 +02:00
parent 70b5ea54f7
commit 39075051b2
10 changed files with 264 additions and 114 deletions

View File

@@ -33,9 +33,13 @@ namespace LaDOSE.Business.Service
return eventAdded.Entity;
}
public bool CreateChallonge(int dto)
public bool CreateChallonge(int eventId,int wpEventId)
{
var currentEvent = _context.Event.Include(e=>e.Games).ThenInclude(e=>e.Game).FirstOrDefault(e=>e.Id == dto);
var currentEvent = _context.Event.Include(e=>e.Games).ThenInclude(e=>e.Game).FirstOrDefault(e=>e.Id == eventId);
var currentWpEvent = _context.WPEvent.Include(e => e.WPBookings).ThenInclude(e => e.WPUser).Where(e=>e.Id == wpEventId);
var users = currentWpEvent.SelectMany(e => e.WPBookings.Select(u => u.WPUser));
var userNames = users.Select(e => e.Name).Distinct().ToList();
if (currentEvent != null)
{
var games = currentEvent.Games.Select(e => e.Game);
@@ -48,6 +52,19 @@ namespace LaDOSE.Business.Service
var eventGame = currentEvent.Games.FirstOrDefault(e => e.GameId == game.Id);
eventGame.ChallongeId = tournament.id;
eventGame.ChallongeUrl = tournament.url;
foreach (var userName in userNames)
{
try
{
_challongeProvider.AddPlayer(tournament.id, userName);
}
catch
{
Console.WriteLine($"Erreur d ajout sur {userName}" );
continue;
}
}
_context.Entry(eventGame).State = EntityState.Modified;
}