public MasterGameYearViewModel(MasterGameYear masterGame, LocalDate currentDate) { MasterGameID = masterGame.MasterGame.MasterGameID; Year = masterGame.Year; GameName = masterGame.MasterGame.GameName; EstimatedReleaseDate = masterGame.MasterGame.EstimatedReleaseDate; MinimumReleaseDate = masterGame.MasterGame.MinimumReleaseDate; MaximumReleaseDate = masterGame.MasterGame.GetDefiniteMaximumReleaseDate(); EarlyAccessReleaseDate = masterGame.MasterGame.EarlyAccessReleaseDate; InternationalReleaseDate = masterGame.MasterGame.InternationalReleaseDate; AnnouncementDate = masterGame.MasterGame.AnnouncementDate; ReleaseDate = masterGame.MasterGame.ReleaseDate; IsReleased = masterGame.MasterGame.IsReleased(currentDate); WillRelease = masterGame.WillRelease(); DelayContention = masterGame.MasterGame.DelayContention; CriticScore = masterGame.MasterGame.CriticScore; FantasyPoints = masterGame.GetFantasyPoints(ScoringSystem.GetDefaultScoringSystem(Year), false, currentDate); AveragedScore = masterGame.MasterGame.AveragedScore; OpenCriticID = masterGame.MasterGame.OpenCriticID; GGToken = masterGame.MasterGame.GGToken; SubGames = masterGame.MasterGame.SubGames.Select(x => new MasterGameYearViewModel(x, masterGame, currentDate)).ToList(); Tags = masterGame.MasterGame.Tags.Select(x => x.Name).ToList(); ReadableTags = masterGame.MasterGame.Tags.Select(x => x.ReadableName).ToList(); BoxartFileName = masterGame.MasterGame.BoxartFileName; GGCoverArtFileName = masterGame.MasterGame.GGCoverArtFileName; PercentStandardGame = masterGame.PercentStandardGame; PercentCounterPick = masterGame.PercentCounterPick; AdjustedPercentCounterPick = masterGame.AdjustedPercentCounterPick; if (masterGame.MasterGame.EligibilityChanged) { EligiblePercentStandardGame = masterGame.PercentStandardGame; } else { EligiblePercentStandardGame = masterGame.EligiblePercentStandardGame; } AverageDraftPosition = masterGame.AverageDraftPosition; HypeFactor = masterGame.HypeFactor; DateAdjustedHypeFactor = masterGame.DateAdjustedHypeFactor; PeakHypeFactor = masterGame.PeakHypeFactor; ProjectedFantasyPoints = masterGame.GetProjectedFantasyPoints(ScoringSystem.GetDefaultScoringSystem(Year), false); ProjectedOrRealFantasyPoints = FantasyPoints ?? ProjectedFantasyPoints; AddedTimestamp = masterGame.MasterGame.AddedTimestamp; }
public MasterGameYearViewModel(MasterSubGame masterSubGame, MasterGameYear masterGame, LocalDate currentDate) { MasterGameID = masterSubGame.MasterGameID; Year = masterGame.Year; GameName = masterSubGame.GameName; EstimatedReleaseDate = masterSubGame.EstimatedReleaseDate; MinimumReleaseDate = masterSubGame.MinimumReleaseDate; MaximumReleaseDate = masterSubGame.GetDefiniteMaximumReleaseDate(); ReleaseDate = masterGame.MasterGame.ReleaseDate; IsReleased = masterGame.MasterGame.IsReleased(currentDate); WillRelease = masterGame.WillRelease(); CriticScore = masterSubGame.CriticScore; FantasyPoints = masterGame.GetFantasyPoints(ScoringSystem.GetDefaultScoringSystem(Year), false, currentDate); AveragedScore = false; OpenCriticID = masterSubGame.OpenCriticID; SubGames = null; Tags = new List <string>(); ReadableTags = new List <string>(); PercentStandardGame = masterGame.PercentStandardGame; PercentCounterPick = masterGame.PercentCounterPick; AdjustedPercentCounterPick = masterGame.AdjustedPercentCounterPick; if (masterGame.MasterGame.EligibilityChanged) { EligiblePercentStandardGame = masterGame.PercentStandardGame; } else { EligiblePercentStandardGame = masterGame.EligiblePercentStandardGame; } AverageDraftPosition = masterGame.AverageDraftPosition; HypeFactor = masterGame.HypeFactor; DateAdjustedHypeFactor = masterGame.DateAdjustedHypeFactor; PeakHypeFactor = masterGame.PeakHypeFactor; ProjectedFantasyPoints = masterGame.GetProjectedFantasyPoints(ScoringSystem.GetDefaultScoringSystem(Year), false); ProjectedOrRealFantasyPoints = FantasyPoints ?? ProjectedFantasyPoints; AddedTimestamp = masterGame.MasterGame.AddedTimestamp; }