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); }
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)); }