public SubLink(Uri address) { if (address is null) { throw new ArgumentNullException(nameof(address)); } Address = address; SubId = SteamLinkHelper.ExtractSubId(address); }
// TODO: Implement other stuff (which apps it contains, etc.) public SubPage(Uri address, HtmlDocument pageHtml) : base(address, pageHtml, HtmlElements.HeaderLevel2, HtmlElements.Div) { if (!(address.AbsoluteUri ?? string.Empty).StartsWith(PageUrlPrefixes.Sub, StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException( $"The provided address is invalid. Valid addresses must start with '{PageUrlPrefixes.Sub}'.", nameof(address)); } SubId = SteamLinkHelper.ExtractSubId(address); IncludedAppIds = ExtractIncludedAppIds(); // Currently, we assume it's always € Price = ExtractPriceInEuros(); }