public LeagueYear(League league, SupportedYear year, LeagueOptions options, PlayStatus playStatus, IEnumerable <EligibilityOverride> eligibilityOverrides, IEnumerable <TagOverride> tagOverrides, Instant?draftStartedTimestamp, FantasyCriticUser?winningUser, IEnumerable <Publisher> publishers) { League = league; SupportedYear = year; Options = options; PlayStatus = playStatus; EligibilityOverrides = eligibilityOverrides.ToList(); _eligibilityOverridesDictionary = EligibilityOverrides.ToDictionary(x => x.MasterGame); TagOverrides = tagOverrides.ToList(); _tagOverridesDictionary = TagOverrides.ToDictionary(x => x.MasterGame); DraftStartedTimestamp = draftStartedTimestamp; WinningUser = winningUser; _publisherDictionary = publishers.ToDictionary(x => x.PublisherID); _managerPublisher = Publishers.SingleOrDefault(x => x.User.Id == league.LeagueManager.Id); StandardGamesTaken = _publisherDictionary.Values.SelectMany(x => x.PublisherGames).Count(x => !x.CounterPick); }
public IReadOnlyList <ClaimError> CheckGameAgainstTags(IEnumerable <LeagueTagStatus> leagueTags, IEnumerable <LeagueTagStatus> slotTags) { var tagsToUse = TagOverrides.Any() ? TagOverrides : MasterGame.Tags; return(LeagueTagExtensions.GameHasValidTags(leagueTags, slotTags, MasterGame, tagsToUse, DateAcquired)); }