//jsonをパースしてリストにする private void StoreItem(dynamic json, List<MylistListEntryViewModel> ret) { foreach(var entry in json) { NicoNicoMylistData data = new NicoNicoMylistData(); data.CreateTime = UnixTime.FromUnixTime((long)entry.create_time).ToString(); data.Description = entry.description; data.ItemId = entry.item_id; var item = entry.item_data; data.Title = HttpUtility.HtmlDecode(item.title); if(entry.item_type is string) { data.Type = int.Parse(entry.item_type); } else if(entry.item_type is double) { data.Type = (int)entry.item_type; } //動画 if(data.Type == 0) { data.UpdateTime = UnixTime.FromUnixTime((long)item.update_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.first_retrieve).ToString(); data.Length = NicoNicoUtil.ConvertTime(long.Parse(item.length_seconds)); data.Id = item.video_id; data.ViewCounter = int.Parse(item.view_counter); data.CommentCounter = int.Parse(item.num_res); data.MylistCounter = int.Parse(item.mylist_counter); data.ThumbNailUrl = item.thumbnail_url; } else if(data.Type == 5) { //静画 data.UpdateTime = UnixTime.FromUnixTime((long)item.update_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.create_time).ToString(); data.Id = item.id.ToString(); data.ViewCounter = (int)item.view_count; data.CommentCounter = (int)item.comment_count; data.MylistCounter = (int)item.mylist_count; data.ThumbNailUrl = item.thumbnail_url; } else if(data.Type == 6) { //書籍 data.UpdateTime = UnixTime.FromUnixTime((long)entry.update_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.released_at).ToString(); data.Id = "bk" + item.id; data.ViewCounter = (int)item.view_count; data.CommentCounter = (int)item.comment_count; data.MylistCounter = (int)item.mylist_count; data.ThumbNailUrl = item.thumbnail; } else if(data.Type == 13) { //ブロマガ data.UpdateTime = UnixTime.FromUnixTime((long)item.commented_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.create_time).ToString(); data.Id = "ar" + item.id; data.CommentCounter = (int)item.comment_count; data.MylistCounter = int.Parse(item.mylist_count); data.ThumbNailUrl = item.thumbnail_url; } ret.Add(new MylistListEntryViewModel(data)); } }
public MylistListEntryViewModel(MylistListViewModel vm, NicoNicoMylistData data) { Owner = vm; Entry = data; }
public MylistListEntryViewModel(NicoNicoMylistData data) { Entry = data; }
//jsonをパースしてリストにする private void StoreItem(dynamic json, List <NicoNicoMylistData> ret) { foreach (var entry in json.mylistitem) { NicoNicoMylistData data = new NicoNicoMylistData(); data.CreateTime = UnixTime.FromUnixTime((long)entry.create_time).ToString(); data.Description = entry.description; data.ItemId = entry.item_id; var item = entry.item_data; data.Title = HttpUtility.HtmlDecode(item.title); if (entry.item_type is string) { data.Type = int.Parse(entry.item_type); } else if (entry.item_type is double) { data.Type = (int)entry.item_type; } //動画 if (data.Type == 0) { data.UpdateTime = UnixTime.FromUnixTime((long)item.update_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.first_retrieve).ToString(); data.Length = NicoNicoUtil.ConvertTime(long.Parse(item.length_seconds)); data.Id = item.video_id; data.ViewCounter = int.Parse(item.view_counter); data.CommentCounter = int.Parse(item.num_res); data.MylistCounter = int.Parse(item.mylist_counter); data.ThumbNailUrl = item.thumbnail_url; } else if (data.Type == 5) //静画 { data.UpdateTime = UnixTime.FromUnixTime((long)item.update_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.create_time).ToString(); data.Id = item.id.ToString(); data.ViewCounter = (int)item.view_count; data.CommentCounter = (int)item.comment_count; data.MylistCounter = (int)item.mylist_count; data.ThumbNailUrl = item.thumbnail_url; } else if (data.Type == 6) //書籍 { data.UpdateTime = UnixTime.FromUnixTime((long)entry.update_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.released_at).ToString(); data.Id = "bk" + item.id; data.ViewCounter = (int)item.view_count; data.CommentCounter = (int)item.comment_count; data.MylistCounter = (int)item.mylist_count; data.ThumbNailUrl = item.thumbnail; } else if (data.Type == 13) //ブロマガ { data.UpdateTime = UnixTime.FromUnixTime((long)item.commented_time).ToString(); data.FirstRetrieve = UnixTime.FromUnixTime((long)item.create_time).ToString(); data.Id = "ar" + item.id; data.CommentCounter = (int)item.comment_count; data.MylistCounter = int.Parse(item.mylist_count); data.ThumbNailUrl = item.thumbnail_url; } ret.Add(data); } }