Exemplo n.º 1
0
        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."));
        }
Exemplo n.º 2
0
        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 Get()
        {
            CateringListViewModel         viewmodel     = new CateringListViewModel();
            CateringProductDataController dataCtrl      = new CateringProductDataController();
            SeatDataController            seatDataCtrl  = new SeatDataController();
            EventDataController           eventDataCtrl = new EventDataController();

            try
            {
                var e = eventDataCtrl.GetItems().FirstOrDefault(x => x.Start <= DateTime.Now && x.End >= DateTime.Now);
                if (e == null)
                {
                    return(Warning(viewmodel, "Keine passende Veranstaltung gefunden."));
                }
                else if (!e.IsActiveCatering)
                {
                    return(Warning(viewmodel, "Das Catering ist derzeit deaktiviert."));
                }

                foreach (var model in dataCtrl.GetItems().Where(x => x.IsActive))
                {
                    ProductViewModelItem item = new ProductViewModelItem();

                    item.FromModel(model);
                    viewmodel.Data.Add(item);
                }

                int eventID = e.ID;
                foreach (var model in seatDataCtrl.GetCurrentUserSeats(eventID))
                {
                    CateringSeat item = new CateringSeat();

                    item.FromModel(model);
                    viewmodel.Seats.Add(item);
                }
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel));
        }