本文整理汇总了C#中Category.SetState方法的典型用法代码示例。如果您正苦于以下问题:C# Category.SetState方法的具体用法?C# Category.SetState怎么用?C# Category.SetState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Category
的用法示例。
在下文中一共展示了Category.SetState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DiscoverSubCategories
public override int DiscoverSubCategories(Category parentCategory)
{
parentCategory.SubCategories = new List<Category>();
#region Help
if (parentCategory.IsHelpState())
throw new OnlineVideosException("Forum: http://tinyurl.com/ov-netflix");
#endregion
#region Profiles
if (parentCategory.IsProfilesState())
{
foreach (JToken profile in profiles)
{
Category profileCat = new Category() { Name = profile["profileName"].Value<string>(), HasSubCategories = true, Thumb = profile["avatar"]["images"]["100"].Value<string>(), ParentCategory = parentCategory };
profileCat.SetState(NetflixUtils.ProfileState);
profileCat.SetProfile(profile);
parentCategory.SubCategories.Add(profileCat);
}
}
else if (parentCategory.IsProfileState())
{
Settings.Categories.Clear();
Settings.DynamicCategoriesDiscovered = false;
currentProfile = parentCategory.GetProfile();
parentCategory.ParentCategory.Name = ProfileCategoryName;
MyGetWebData(string.Format(switchProfileUrl, apiRoot, ProfileToken));
if (rememberStartupUserProfile)
{
List<OnlineVideos.Reflection.FieldPropertyDescriptorByRef> props = GetUserConfigurationProperties();
OnlineVideos.Reflection.FieldPropertyDescriptorByRef prop = props.First(p => p.DisplayName == "Startup user profile");
this.SetConfigValueFromString(prop, ProfileName);
startupUserProfile = ProfileName;
}
throw new OnlineVideosException(CangedToProfile);
}
#endregion
#region Home Categories
else if (parentCategory.IsHomeCategoriesState())
{
string data = MyGetWebData((parentCategory as RssLink).Url);
List<Category> cats = GetHomeCategories(data, parentCategory);
parentCategory.SubCategories = cats;
}
#endregion
#region Kids
else if (parentCategory.IsKidsState())
{
string data = MyGetWebData((parentCategory as RssLink).Url);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(data);
RssLink characters = new RssLink() { Name = "Characters", HasSubCategories = true, SubCategories = new List<Category>(), ParentCategory = parentCategory };
//Well use regex in this case...
Regex rgx = new Regex(@"title=\\\""(?<name>[^\\]*)\\\"".href=\\\""(?<url>[^\\]*)(?:[^<]*)<img.src=\\""(?<thumb>[^\\]*)");
foreach (Match m in rgx.Matches(data))
{
RssLink character = new RssLink()
{
Name = m.Groups["name"].Value,
Url = m.Groups["url"].Value,
Thumb = m.Groups["thumb"].Value,
ParentCategory = characters,
HasSubCategories = true
};
character.SetState(NetflixUtils.SinglePageCategoriesState);
characters.SubCategories.Add(character);
}
characters.SubCategoriesDiscovered = characters.SubCategories.Count > 0;
parentCategory.SubCategories.Add(characters);
foreach (HtmlNode a in doc.DocumentNode.SelectNodes("//a[contains(@href, 'netflix.com/KidsAltGenre')]"))
{
string url = a.GetAttributeValue("href", "");
if (!parentCategory.SubCategories.Any(c => (c as RssLink).Url == url))
{
RssLink category = new RssLink()
{
Name = a.InnerText.Trim(),
Url = a.GetAttributeValue("href", ""),
HasSubCategories = true,
ParentCategory = parentCategory
};
category.SetState(NetflixUtils.SinglePageCategoriesState);
parentCategory.SubCategories.Add(category);
}
}
}
#endregion
#region SinglePageCategories
//.........这里部分代码省略.........