示例#1
0
        private FrameworkElement NavigateToViewModel(object viewModel)
        {
            ViewLocator.Resolve(viewModel, PageLayoutProvider.DetermineVisualState());

            var contentSwitchingPage = new ContentSwitchingPage
            {
                DataContext       = viewModel,
                ViewLocator       = ViewLocator,
                PageCommandsPanel = PageCommandsPanel
            };

            return(contentSwitchingPage);
        }
示例#2
0
        public void ReadActualDatabase()
        {
            Core.ZuneDatabase.SortOrder so;
            switch (Settings.Default.SortOrder)
            {
            case SortOrder.DateAdded:
                so = Core.ZuneDatabase.SortOrder.DateAdded;
                break;

            case SortOrder.Album:
                so = Core.ZuneDatabase.SortOrder.Album;
                break;

            case SortOrder.Artist:
                so = Core.ZuneDatabase.SortOrder.Artist;
                break;

            default:
                so = Core.ZuneDatabase.SortOrder.DateAdded;
                break;
            }

            _webAlbumListViewModel.Sort();

            foreach (DbAlbum newAlbum in _dbReader.ReadAlbums(so))
            {
                var newalbumDetails = _viewLocator.Resolve <AlbumDetailsViewModel>();

                newalbumDetails.LinkStatus = newAlbum.AlbumMediaId.GetLinkStatusFromGuid();
                newalbumDetails.DateAdded  = newAlbum.DateAdded;

                newalbumDetails.Left = new AlbumThumbDetails
                {
                    Artist     = newAlbum.Artist,
                    ArtworkUrl = newAlbum.ArtworkUrl,
                    Title      = newAlbum.Title,
                };

                if (newalbumDetails.LinkStatus == LinkStatus.Unknown || newalbumDetails.LinkStatus == LinkStatus.Linked)
                {
                    if (_cache != null)
                    {
                        DbAlbum album         = newAlbum;
                        var     cachedObjects = _cache.Where(x => x.AlbumMediaId == album.AlbumMediaId);

                        if (cachedObjects.Count() > 0)
                        {
                            var co = cachedObjects.First();
                            if (co.Right != null)
                            {
                                newalbumDetails.Right      = co.Right;
                                newalbumDetails.LinkStatus = LinkStatus.Linked;
                            }
                            else
                            {
                                newalbumDetails.LinkStatus = co.LinkStatus;
                            }
                        }
                    }
                }

                newalbumDetails.Init(newAlbum.MediaId, newAlbum.AlbumMediaId);
                _albums.Add(newalbumDetails);
            }
        }