Example #1
0
        public static TournamentViewModelItem FromModel(this TournamentViewModelItem viewmodel, Tournament model)
        {
            Int32 UserID = UserHelper.CurrentUserID;

            viewmodel.ID            = model.ID;
            viewmodel.GameID        = model.TournamentGameID;
            viewmodel.TeamSize      = model.TeamSize;
            viewmodel.ChallongeLink = model.ChallongeLink;
            viewmodel.Mode          = model.Mode;
            viewmodel.Start         = model.Start;
            viewmodel.End           = model.End;

            if (model.TournamentGame != null)
            {
                viewmodel.GameTitle = model.TournamentGame.Name;
                viewmodel.Rules     = model.TournamentGame.Rules;
                viewmodel.Image     = Properties.Settings.Default.imageAbsolutePath + model.TournamentGame.Image;
            }

            viewmodel.Event.FromModel(model.Event);

            viewmodel.Player = model.TournamentParticipant.ToList().ConvertAll(x => {
                if (x.UserID == UserID)
                {
                    viewmodel.IsParticipant = true;
                }

                var vm = new TournamentParticipantViewModelItem();
                vm.FromModel(x);
                return(vm);
            });

            viewmodel.Teams = model.TournamentTeam.ToList().Where(x => x.TournamentTeamParticipant.Count > 0).ToList().ConvertAll(x => {
                if (x.TournamentTeamParticipant.FirstOrDefault(p => p.UserID == UserID) != null)
                {
                    viewmodel.IsParticipant = true;
                }

                var vm = new TournamentTeamViewModelItem();
                vm.FromModel(x);
                return(vm);
            });

            if (model.Partner != null)
            {
                viewmodel.Partner.FromModel(model.Partner);
            }

            viewmodel.ParticipantCount = model.TournamentParticipant.Count;
            viewmodel.Teams.ForEach(team => viewmodel.ParticipantCount += team.Player.Count);

            return(viewmodel);
        }
Example #2
0
        public IHttpActionResult Get(Int32 eventID)
        {
            TournamentListViewModel viewmodel = new TournamentListViewModel();
            //TournamentDataController dataCtrl = new TournamentDataController();
            EventDataController eventDataCtrl = new EventDataController();

            data.Entity.Event e;
            try { e = eventDataCtrl.GetItem(eventID); }
            catch (Exception ex) { throw new Exception("Fehler beim Laden der Daten (data.Entity.Event)", ex); }

            List <data.Entity.Tournament> tournaments;

            try { tournaments = e.Tournament.ToList(); }
            catch (Exception ex) { throw new Exception("Fehler beim Laden der Daten (data.Entity.Tournament)", ex); }

            if (e.End > DateTime.Now)
            {
                if (tournaments.Count > 0)
                {
                    foreach (var tournament in tournaments)
                    {
                        TournamentViewModelItem item = new TournamentViewModelItem();
                        item.FromModel(tournament);
                        viewmodel.Data.Add(item);
                    }
                }
                else
                {
                    return(Info(viewmodel, "Es wurden keine Turniere für dieses Event angelegt."));
                }
            }
            else
            {
                return(Warning(viewmodel, "Das Event ist vorbei."));
            }

            return(Ok(viewmodel));
        }