public async Task <IActionResult> AddTeamToTournamentAsync(string tournamentId, Participant <Team> addTeam) { if (await Session.GetCurrentUser() == null) { return(Unauthorized()); } var tournament = (await TournamentInfo.GetAllTournamentsAsync()).FirstOrDefault(t => t.Id == tournamentId || t.Slug == tournamentId || t.ToornamentId == tournamentId); if (tournament.Teams.Any(i => i.Id == addTeam.Item.Id)) { return(Ok()); } Toornament.Participant team = new Toornament.Participant { Identifier = addTeam.Item.Id, Name = addTeam.Item.Name }; if (!string.IsNullOrEmpty(tournament?.ToornamentId)) { try { team = await Toornament.Organizer.AddParticipantAsync(tournament.ToornamentId, team); } catch { var parts = await Toornament.Organizer.GetParticipantsAsync(tournament.ToornamentId); team = parts.FirstOrDefault(p => p.Identifier == addTeam.Item.Id); } } var participant = new Participant <Team> { Item = addTeam.Item, Information = addTeam.Information, ToornamentId = team?.Id }; return(Ok(await TournamentInfo.AddTeamToTournamentAsync(tournamentId, participant))); }
public async Task <IActionResult> AddPlayerToTournamentAsync(string tournamentId, Participant <Player> addPlayer) { var user = await Session.GetCurrentUser(); if (user == null) { return(Unauthorized()); } var tournament = (await TournamentInfo.GetAllTournamentsAsync()).FirstOrDefault(t => t.Id == tournamentId || t.Slug == tournamentId || t.ToornamentId == tournamentId); Toornament.Participant player = new Toornament.Participant { Identifier = addPlayer.Item.Id, Name = addPlayer.Item.Name }; if (!string.IsNullOrEmpty(tournament?.ToornamentId)) { player = await Toornament.Organizer.AddParticipantAsync(tournament.ToornamentId, player); } var participant = new Participant <Player> { Item = addPlayer.Item, Information = addPlayer.Information, ToornamentId = player.Id }; return(Ok(await TournamentInfo.AddPlayerToTournamentAsync(tournamentId, participant))); }