public UpcomingGameViewModel(MasterGameYear masterGame, IEnumerable <Publisher> publishers, IEnumerable <Publisher> standardGamePublishers, bool userMode, IClock clock) { MasterGame = new MasterGameYearViewModel(masterGame, clock); MasterGameID = masterGame.MasterGame.MasterGameID; GameName = masterGame.MasterGame.GameName; EstimatedReleaseDate = masterGame.MasterGame.EstimatedReleaseDate; SortableEstimatedReleaseDate = masterGame.MasterGame.GetDefiniteSortableEstimatedReleaseDate(); ReleaseDate = masterGame.MasterGame.ReleaseDate; if (userMode) { if (publishers.Count() == 1) { var publisher = publishers.Single(); LeagueID = publisher.LeagueYear.League.LeagueID; Year = publisher.LeagueYear.Year; LeagueName = publisher.LeagueYear.League.LeagueName; PublisherID = publisher.PublisherID; PublisherName = publisher.PublisherName; } else { LeagueName = $"{publishers.Count()} Leagues"; PublisherName = "Multiple"; } } else { if (publishers.Count() == 1) { var publisher = publishers.Single(); LeagueID = publisher.LeagueYear.League.LeagueID; Year = publisher.LeagueYear.Year; LeagueName = publisher.LeagueYear.League.LeagueName; PublisherID = publisher.PublisherID; PublisherName = publisher.PublisherName; } else if (standardGamePublishers.Count() == 1) { var publisher = standardGamePublishers.Single(); var counterPickPublisher = publishers.Single(x => x.PublisherID != publisher.PublisherID); LeagueID = publisher.LeagueYear.League.LeagueID; Year = publisher.LeagueYear.Year; LeagueName = publisher.LeagueYear.League.LeagueName; PublisherID = publisher.PublisherID; PublisherName = publisher.PublisherName; CounterPickPublisherID = counterPickPublisher.PublisherID; CounterPickPublisherName = counterPickPublisher.PublisherName; } else { throw new Exception($"Problem with upcoming games. Happened for Game: {masterGame.MasterGame.GameName} and publisherIDs: {string.Join('|', publishers.Select(x => x.PublisherID))}"); } } }
public PossibleMasterGameYearViewModel(PossibleMasterGameYear masterGame, IClock clock) { MasterGame = new MasterGameYearViewModel(masterGame.MasterGame, clock); Taken = masterGame.Taken; AlreadyOwned = masterGame.AlreadyOwned; IsEligible = masterGame.IsEligible; IsReleased = masterGame.IsReleased; WillRelease = masterGame.WillRelease; HasScore = masterGame.HasScore; IsAvailable = masterGame.IsAvailable; }
public PublisherGameViewModel(PublisherGame publisherGame, IClock clock, ScoringSystem scoringSystem, SystemWideValues systemWideValues) { PublisherGameID = publisherGame.PublisherGameID; GameName = publisherGame.GameName; Timestamp = publisherGame.Timestamp.ToDateTimeUtc(); CounterPick = publisherGame.CounterPick; FantasyPoints = publisherGame.FantasyPoints; SimpleProjectedFantasyPoints = publisherGame.GetProjectedOrRealFantasyPoints(scoringSystem, systemWideValues, true, clock); AdvancedProjectedFantasyPoints = publisherGame.GetProjectedOrRealFantasyPoints(scoringSystem, systemWideValues, false, clock); Linked = publisherGame.MasterGame.HasValue; if (Linked) { GameName = publisherGame.MasterGame.Value.MasterGame.GameName; EstimatedReleaseDate = publisherGame.MasterGame.Value.MasterGame.EstimatedReleaseDate; if (publisherGame.MasterGame.Value.MasterGame.ReleaseDate.HasValue) { ReleaseDate = publisherGame.MasterGame.Value.MasterGame.ReleaseDate.Value.ToDateTimeUnspecified(); } CriticScore = publisherGame.MasterGame.Value.MasterGame.CriticScore; Released = publisherGame.MasterGame.Value.MasterGame.IsReleased(clock.GetCurrentInstant()); if (publisherGame.MasterGame.HasValue) { MasterGame = new MasterGameYearViewModel(publisherGame.MasterGame.Value, clock); } } if (publisherGame.ManualCriticScore.HasValue) { CriticScore = publisherGame.ManualCriticScore; ManualCriticScore = true; } WillRelease = publisherGame.WillRelease(); ManualWillNotRelease = publisherGame.ManualWillNotRelease; }