public OtherOwneredMylist(MylistGroupData data, int sortIndex = 0) : this() { Id = data.Id; Label = data.Name; Count = (int)data.Count; Description = data.Description; SortIndex = sortIndex; OwnerUserId = data.UserId; _ThumnailUrl = data.ThumbnailUrls.FirstOrDefault()?.OriginalString; }
public MylistGroupListItem(MylistGroupData mylistGroup) { Label = mylistGroup.Name; Description = mylistGroup.Description; GroupId = mylistGroup.Id; OptionText = (mylistGroup.GetIsPublic() ? "公開" : "非公開") + $" - {mylistGroup.Count}件"; ThemeColor = mylistGroup.GetIconType().ToColor(); ItemCount = (uint)mylistGroup.Count; if (mylistGroup.ThumbnailUrls != null) { foreach (var thumbnailUri in mylistGroup.ThumbnailUrls) { AddImageUrl(thumbnailUri.OriginalString); } } }
public MylistGroupListItem(MylistGroupData mylistGroup, PageManager pageManager) { _PageManager = pageManager; Title = mylistGroup.Name; Description = mylistGroup.Description; GroupId = mylistGroup.Id; OptionText = (mylistGroup.GetIsPublic() ? "公開" : "非公開") + $" - {mylistGroup.Count}件"; ThemeColor = mylistGroup.GetIconType().ToColor(); if (mylistGroup.ThumbnailUrls != null) { foreach (var thumbnailUri in mylistGroup.ThumbnailUrls) { ImageUrlsSource.Add(thumbnailUri.OriginalString); } } }
private static List <MylistGroupData> ParseMylistPageHtml(string rawHtml) { List <MylistGroupData> list = new List <MylistGroupData>(); var html = new HtmlDocument(); html.LoadHtml(rawHtml); var body = html.DocumentNode .GetElementByTagName("html") .GetElementByTagName("body"); var articleBody = body .GetElementByClassName("BaseLayout") .GetElementByClassName("wrapper") .GetElementById("mylist") .GetElementByClassName("articleBody"); return(articleBody.GetElementsByClassName("outer") .Select(x => { var data = new MylistGroupData(); var section = x .GetElementByClassName("section"); var h4 = section .GetElementByTagName("h4"); var anchor = h4 .GetElementByTagName("a"); data.Id = new String(anchor.GetAttributeValue("href", "").Skip("mylist/".Count()).ToArray()); data.Name = anchor.InnerText; data.Count = int.Parse(new String( h4 .GetElementByTagName("span") .InnerText.Skip(2).TakeWhile(c => c >= '0' && c <= '9') .ToArray() ) ); data.IconId = anchor .GetElementByClassName("folderIcon") .GetAttributeValue("class", "") .Last() .ToString(); var fullDescription = section.GetElementsByClassName("mylistDescription")? .SingleOrDefault(y => y.GetAttributeValue("data-nico-mylist-desc-full", "") == "true"); data.Description = fullDescription != null ? fullDescription.InnerText : ""; data.ThumbnailUrls = x.GetElementByClassName("thumbContainer") .GetElementByTagName("ul") .GetElementsByTagName("li") .Select(thumb => { return new Uri( thumb.GetElementByTagName("img") .GetAttributeValue("src", "") ); }) .ToList(); return data; }) .ToList()); }
public OtherOwneredMylist MakeAndRegistrationCache(MylistGroupData data, int sortIndex) { return(new OtherOwneredMylist(data.Id, data.Name, data.Count, sortIndex)); }