Exemplo n.º 1
0
        public ElementItem(DIDLItem didl)
        {
            IsFolder             = false;
            ParentID             = didl?.ParentID ?? string.Empty;
            Id                   = didl?.Id ?? string.Empty;
            RefId                = didl?.RefId ?? string.Empty;
            Restricted           = didl.Restricted;
            ChildCount           = 0;
            NumberOfAlbums       = 0;
            Name                 = didl?.Name ?? string.Empty;
            Class                = didl?.Class ?? string.Empty;
            Section              = didl?.Section ?? string.Empty;
            TotalPlayTime        = string.Empty;
            Title                = didl?.Title ?? string.Empty;
            Date                 = string.Empty;
            Album                = didl?.Album ?? string.Empty;
            OriginalTrackNumber  = didl.OriginalTrackNumber;
            Artist               = didl?.Artist ?? string.Empty;
            Genre                = didl?.Genre ?? string.Empty;
            Creator              = didl?.Creator ?? string.Empty;
            Description          = string.Empty;
            AlbumArtProfileId    = didl?.AlbumArtUri?.ProfileId ?? string.Empty;
            AlbumArtUri          = didl?.AlbumArtUri?.AlbumArtUri ?? "ms-appx:///Assets/disc.png";
            Resource             = didl?.Res?.Value ?? string.Empty;
            ResourceProtocolInfo = didl?.Res?.ProtocolInfo ?? string.Empty;
            ResourceResolution   = didl?.Res?.Resolution ?? string.Empty;
            ResourceSize         = didl?.Res?.Size ?? string.Empty;
            if (TimeSpan.TryParse(didl?.Res?.Duration ?? string.Empty, out TimeSpan timeSpan))
            {
                Duration = timeSpan.ToString(@"mm\:ss");
            }
            else
            {
                Duration = didl?.Res?.Duration ?? string.Empty;
            }

            IsPlayable           = true;
            IsSelected           = false;
            IsSelectedVisibility = Visibility.Collapsed;
            Index = 0;

            VisibleCount           = didl.OriginalTrackNumber > 0 ? didl.OriginalTrackNumber.ToString() : string.Empty;
            VisibleCountVisibility = didl.OriginalTrackNumber > 0 ? Visibility.Visible : Visibility.Collapsed;

            Line1 = didl?.Album ?? string.Empty;
            if (string.IsNullOrEmpty(didl.Artist) || string.IsNullOrEmpty(didl.Genre))
            {
                Line2 = string.Format("{0}{1}", didl?.Artist ?? string.Empty, didl?.Genre ?? string.Empty);
            }
            else
            {
                Line2 = string.Format("{0} - {1}", didl?.Artist ?? string.Empty, didl?.Genre ?? string.Empty);
            }

            Element         = this;
            BrowsedMetaData = string.Empty;
        }
Exemplo n.º 2
0
        public ElementBase(IEventAggregator eventAggregatorInstance, ICachingService cachingServiceInstance, DIDLItem item)
        {
            eventAggregator = eventAggregatorInstance;
            cachingService  = cachingServiceInstance;

            IsFolder             = false;
            ParentID             = item?.ParentID ?? string.Empty;
            Id                   = item?.Id ?? string.Empty;
            RefId                = item?.RefId ?? string.Empty;
            Restricted           = item.Restricted;
            ChildCount           = 0;
            NumberOfAlbums       = 0;
            Name                 = item?.Name ?? string.Empty;
            Class                = item?.Class ?? string.Empty;
            Section              = item?.Section ?? string.Empty;
            TotalPlayTime        = string.Empty;
            Title                = item?.Title ?? string.Empty;
            Date                 = string.Empty;
            Album                = item?.Album ?? string.Empty;
            OriginalTrackNumber  = item.OriginalTrackNumber;
            Artist               = item?.Artist ?? string.Empty;
            Genre                = item?.Genre ?? string.Empty;
            Creator              = item?.Creator ?? string.Empty;
            Description          = string.Empty;
            AlbumArtProfileId    = item?.AlbumArtUri?.ProfileId ?? string.Empty;
            AlbumArtUri          = item?.AlbumArtUri?.AlbumArtUri ?? "ms-appx:///Assets/disc_gray.png";
            Resource             = item?.Res?.Value ?? string.Empty;
            ResourceProtocolInfo = item?.Res?.ProtocolInfo ?? string.Empty;
            ResourceResolution   = item?.Res?.Resolution ?? string.Empty;
            ResourceSize         = item?.Res?.Size ?? string.Empty;
            if (TimeSpan.TryParse(item?.Res?.Duration ?? string.Empty, out TimeSpan timeSpan))
            {
                Duration = timeSpan.ToString(@"mm\:ss");
            }
            else
            {
                Duration = item?.Res?.Duration ?? string.Empty;
            }

            IsPlayable           = true;
            IsSelected           = false;
            IsSelectedVisibility = Visibility.Collapsed;
            Index = 0;

            VisibleCount           = item.OriginalTrackNumber > 0 ? item.OriginalTrackNumber.ToString() : string.Empty;
            VisibleCountVisibility = item.OriginalTrackNumber > 0 ? Visibility.Visible : Visibility.Collapsed;

            Line1 = item?.Album ?? string.Empty;
            if (string.IsNullOrEmpty(item.Artist) || string.IsNullOrEmpty(item.Genre))
            {
                Line2 = string.Format("{0}{1}", item?.Artist ?? string.Empty, item?.Genre ?? string.Empty);
            }
            else
            {
                Line2 = string.Format("{0} - {1}", item?.Artist ?? string.Empty, item?.Genre ?? string.Empty);
            }

            Element         = this;
            BrowsedMetaData = string.Empty;

            fileName = $"{AlbumArtUri.ComputeMD5()}.png";

            eventAggregator.GetEvent <DataCachedEvent>().Subscribe(onDataCached, ThreadOption.UIThread, false,
                                                                   name => (name?.FileName ?? string.Empty) == fileName);

            IntializeCommand.Execute(null);
        }
Exemplo n.º 3
0
 public ElementItem(IEventAggregator eventAggregatorInstance, DIDLItem didl) : base(eventAggregatorInstance, didl)
 {
     //ImageArt = new BitmapImage(new Uri(AlbumArtUri, UriKind.Absolute));
     //ImageArt.ImageFailed += OnImageFailed;
     //ImageArt.ImageOpened += OnImageOpened;
 }