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; }
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); }
public ElementItem(IEventAggregator eventAggregatorInstance, DIDLItem didl) : base(eventAggregatorInstance, didl) { //ImageArt = new BitmapImage(new Uri(AlbumArtUri, UriKind.Absolute)); //ImageArt.ImageFailed += OnImageFailed; //ImageArt.ImageOpened += OnImageOpened; }