public IHttpActionResult Leave(Int32 eventID, Int32 tournamentID) { BaseViewModel viewmodel = new BaseViewModel(); TournamentParticipantDataController participantDataCtrl = new TournamentParticipantDataController(); TournamentTeamParticipantDataController teamParticipantDataCtrl = new TournamentTeamParticipantDataController(); try { var participant = participantDataCtrl.GetItems().SingleOrDefault(x => x.TournamentID == tournamentID && x.UserID == UserHelper.CurrentUserID); if (participant != null) { participantDataCtrl.Delete(participant.ID); } else { var teamParticipant = teamParticipantDataCtrl.GetItemByTournament(tournamentID); if (teamParticipant != null) { teamParticipantDataCtrl.Delete(teamParticipant.ID); } else { return(Warning(viewmodel, "Du bist nicht angemeldet.")); } } } catch (Exception ex) { return(Error(viewmodel, ex)); } return(Ok(viewmodel, "Abmeldung erfolgreich.")); }
public IHttpActionResult CreateTeam(Int32 eventID, Int32 tournamentID, CreateTeamRequest request) { BaseViewModel viewmodel = new BaseViewModel(); TournamentDataController dataCtrl = new TournamentDataController(); SeatDataController seatDataCtrl = new SeatDataController(); TournamentTeamDataController teamDataCtrl = new TournamentTeamDataController(); TournamentTeamParticipantDataController teamParticipantDataCtrl = new TournamentTeamParticipantDataController(); try { if (seatDataCtrl.GetCurrentUserSeats(eventID).FindAll(x => x.State >= 2).Count == 0) { return(Error(viewmodel, "Du bist kein Teilnehmer dieser Veranstaltung. Bitte reserviere einen Platz.")); } var team = teamDataCtrl.Insert(request.ToModel(tournamentID)); JoinTournamentRequest _tmp = new JoinTournamentRequest() { TeamID = team.ID }; teamParticipantDataCtrl.Insert(_tmp.ToTeamModel()); } catch (Exception ex) { return(Error(viewmodel, ex)); } return(Ok(viewmodel, "Team wurde erstellt.")); }
public IHttpActionResult Join(Int32 eventID, Int32 tournamentID, JoinTournamentRequest request) { BaseViewModel viewmodel = new BaseViewModel(); SeatDataController seatDataCtrl = new SeatDataController(); TournamentParticipantDataController participantDataCtrl = new TournamentParticipantDataController(); TournamentTeamParticipantDataController teamParticipantDataCtrl = new TournamentTeamParticipantDataController(); try { if (seatDataCtrl.GetCurrentUserSeats(eventID).FindAll(x => x.State >= 2).Count == 0) { return(Error(viewmodel, "Du bist kein Teilnehmer dieser Veranstaltung. Bitte reserviere einen Platz.")); } if (request.TeamID == null) { participantDataCtrl.Insert(request.ToModel(tournamentID)); } else { teamParticipantDataCtrl.Insert(request.ToTeamModel()); } } catch (Exception ex) { return(Error(viewmodel, ex)); } return(Ok(viewmodel, "Anmeldung erfolgreich.")); }