using System.Linq; using Gallery.Illust; namespace Gallery.Utils { public class IllustRankingData { public Content[] contents; public string mode; public string content; public int page; public string prev; public string next; public string date; public string prev_date; public string next_date; public int rank_total; public class Content { public string title; public string date; public string[] tags; public string url; public string illust_type; public string illust_book_style; public string illust_page_count; public string user_name; public string profile_img; public ContentType illust_content_type; public object illust_series; // bool, Series public long illust_id; public int width; public int height; public long user_id; public int rank; public int yes_rank; public int rating_count; public int view_count; public long illust_upload_timestamp; public string attr; public bool is_bookmarked; public bool bookmarkable; public string bookmark_id; public string bookmark_illust_restrict; public class ContentType { public int sexual; public bool lo; public bool grotesque; public bool violent; public bool homosexual; public bool drug; public bool thoughts; public bool antisocial; public bool religion; public bool original; public bool furry; public bool bl; public bool yuri; } public class Series { public string illust_series_caption; public string illust_series_content_count; public string illust_series_content_illust_id; public string illust_series_content_order; public string illust_series_create_datetime; public string illust_series_id; public string illust_series_title; public string illust_series_user_id; public string page_url; } public IllustItem ConvertToItem() { if (!int.TryParse(illust_page_count, out int count)) { count = 1; } if (!int.TryParse(illust_type, out int type)) { type = 0; } bool restrict; if (tags != null && tags.Contains("R-18")) { restrict = true; } else { restrict = false; } return new IllustItem { Id = illust_id.ToString(), BookmarkId = bookmark_id, Title = title, Rank = rank, IllustType = (IllustType)type, ImageUrl = url, IsRestrict = restrict, Tags = tags ?? new string[0], ProfileUrl = profile_img, UserId = user_id.ToString(), UserName = user_name, Width = width, Height = height, PageCount = count, YesRank = yes_rank, RatingCount = rating_count, ViewCount = view_count, UploadTimestamp = illust_upload_timestamp }; } } } public class IllustGlobalData { public string token; public string oneSignalAppId; public UserData userData; public class UserData { public string id; public string pixivId; public string name; public string profileImg; public string profileImgBig; public bool premium; public int xRestrict; public bool adult; public bool safeMode; } } }