Esempio n. 1
0
        public override bool Equals(MediaItem other)
        {
            YoutubeItem otherItem = (YoutubeItem)other;

            return(ResourceId.Equals(otherItem.ResourceId));
        }
        async Task showItem(YoutubeItem item)
        {         
            YoutubeItemMetadata metaData = item.Metadata as YoutubeItemMetadata;

            if (metaData == null)
            {               
                return;
            }

            Title = metaData.Title;           
            Rating = metaData.Rating == null ? null : metaData.Rating / 5;
            Author = metaData.Author;
            CreationDate = metaData.CreationDate;
            IsReadOnly = item.IsReadOnly;

            Tags.Clear();
            foreach (Tag tag in metaData.Tags)
            {
                Tags.Add(tag);
            }
           
            if (!metaData.Description.EndsWith("..."))
            {
                Description = metaData.Description;
            } 
            else if (item is YoutubeVideoItem)
            {                
                Video info = await requestVideoInfo((item as YoutubeVideoItem).VideoId);
               
                if (info != null)
                {
                    Description = metaData.Description = info.Snippet.Description;
                }
                else
                {
                    Description = metaData.Description;
                }
                               
            }
            else
            {
                Description = metaData.Description;
            }

            if (metaData.ViewCount != null)
            {
                DynamicProperties.Add(new Tuple<string, string>("Views", metaData.ViewCount.Value.ToString("#,##0", new CultureInfo("en-US"))));
            }

            if (metaData.MimeType != null)
            {
                DynamicProperties.Add(new Tuple<string, string>("Mime Type", metaData.MimeType));
            }

            if (metaData.Width != null && metaData.Height != null)
            {
                DynamicProperties.Add(new Tuple<string, string>("Resolution", metaData.Width + " x " + metaData.Height));
            }

            if (metaData.FramesPerSecond != null)
            {
                DynamicProperties.Add(new Tuple<string, string>("Frames Per Second", metaData.FramesPerSecond.Value.ToString()));
            }

            if (metaData.DurationSeconds != null)
            {
                DynamicProperties.Add(new Tuple<string, string>("Duration", MiscUtils.formatTimeSeconds(metaData.DurationSeconds.Value)));
            }
        }