Ejemplo n.º 1
0
 private void DetailItem(object sender, MouseButtonEventArgs e)
 {
     if (_filmViewModel.SelectedFilm != null)
     {
         _filmViewModel.NavigationViewModel.Page = NavigationCache.GetPage <FilmDetail, FilmDetailViewModel>(true, _filmViewModel.SelectedFilm, _filmViewModel.NavigationViewModel);
     }
 }
 private void BulkAddToCache(NavigationCache cache, int startIndex, int numItemsToAdd)
 {
     for (int i = startIndex; i < startIndex + numItemsToAdd; i++)
     {
         cache.AddToCache(GenerateUri(i), GeneratePage(i));
     }
 }
 public MainWindow()
 {
     InitializeComponent();
     _navigationViewModel      = new NavigationViewModel();
     DataContext               = _navigationViewModel;
     _navigationViewModel.Page = NavigationCache.GetPage <Home, HomeViewModel>();
 }
 private void BulkAddToCache(NavigationCache cache, int startIndex, int numItemsToAdd)
 {
     for (int i = startIndex; i < startIndex + numItemsToAdd; i++)
     {
         cache.AddToCache(GenerateUri(i), GeneratePage(i));
     }
 }
 private void DetailItem(object sender, RoutedEventArgs e)
 {
     if (_amisViewModel.SelectedPersonne != null)
     {
         _amisViewModel.NavigationViewModel.Page = NavigationCache.GetPage <AmiDetail, AmiDetailViewModel>(true, _amisViewModel.SelectedPersonne, _amisViewModel.NavigationViewModel);
     }
 }
        public async Task Add()
        {
            if (IsValid())
            {
                if (_update)
                {
                    if (Film.MediaGenres != null && Film.MediaGenres.Count > 0)
                    {
                        await _genreService.RemoveMediaGenre(Film.MediaGenres);
                    }
                    Film.MediaGenres = new List <MediaGenre>();
                    Film.MediaGenres.Add(new MediaGenre {
                        Genre = Genres.First(x => x.Nom == Film.Genre.Nom), IdGenre = Genres.First(x => x.Nom == Film.Genre.Nom).Id
                    });
                    await _filmService.UpdateFilm(Film);

                    NavigationViewModel.Page = NavigationCache.GetPage <Films, FilmsViewModel>(true, NavigationViewModel);
                }
                else
                {
                    Film.MediaGenres = new List <MediaGenre>();
                    Film.MediaGenres.Add(new MediaGenre {
                        Genre = Genres.First(x => x.Nom == Film.Genre.Nom), IdGenre = Genres.First(x => x.Nom == Film.Genre.Nom).Id
                    });
                    await _filmService.AddFilm(Film);

                    Film = null;
                    NavigationViewModel.Page = NavigationCache.GetPage <Films, FilmsViewModel>(true, NavigationViewModel);
                }
            }
        }
        public void CacheDoesNotExceedSize()
        {
            NavigationCache cache = new NavigationCache(5);

            BulkAddToCache(cache, 0, 20);

            Assert.AreEqual(5, cache.CachePagesSize);
            Assert.AreEqual(5, cache.CacheMRUPagesSize);
        }
Ejemplo n.º 8
0
        public MainWindow()
        {
            InitializeComponent();

            var mvm = new MainViewModel();

            mvm.Source       = NavigationCache.GetPage <HomePage, HomePageViewModel>(mvm);
            this.DataContext = mvm;
        }
        public void CacheDoesNotExceedSize()
        {
            NavigationCache cache = new NavigationCache(5);

            BulkAddToCache(cache, 0, 20);

            Assert.AreEqual(5, cache.CachePagesSize);
            Assert.AreEqual(5, cache.CacheMRUPagesSize);
        }
Ejemplo n.º 10
0
        public async Task Add()
        {
            if (_update)
            {
                await _amiService.UpdateAmi(Ami);

                NavigationViewModel.Page = NavigationCache.GetPage <Amis, AmisViewModel>(true, NavigationViewModel);
            }
            else
            {
                Ami.EstAmi = true;
                await _amiService.AddAmi(Ami);

                Ami = null;
                NavigationViewModel.Page = NavigationCache.GetPage <Amis, AmisViewModel>(true, NavigationViewModel);
            }
        }
Ejemplo n.º 11
0
        public async IAsyncEnumerable <NavigationEntity> GetDirectory(string dirname, int skip, int take)
        {
            if (!NavigationCache.ContainsKey(dirname))
            {
                var url    = this.GetDirectoryEndpoint(dirname);
                var data   = await new WebClient().DownloadStringTaskAsync(url);
                var result = ParseDirectory(data);
                NavigationCache.Add(dirname, result);
            }

            var entities = NavigationCache[dirname];

            foreach (var entity in entities.Skip(skip).Take(take * 2))
            {
                if (entity.Name.EndsWith("ORF"))
                {
                    continue;
                }
                yield return(entity);
            }
        }
        public void CacheSizeDecreasedRemovesOldestContents()
        {
            NavigationCache cache = new NavigationCache(5);

            BulkAddToCache(cache, 0, 5);

            cache.ChangeCacheSize(2);

            Assert.AreEqual(2, cache.CacheMRUPagesSize);
            Assert.AreEqual(2, cache.CachePagesSize);

            // Check that items 3-4 are the only ones still in the cache
            // 0-2 should have been removed because they were the oldest contents
            for (int i = 0; i <= 2; i++)
            {
                Assert.IsNull(cache[GenerateUri(i)]);
            }
            for (int i = 3; i <= 4; i++)
            {
                Assert.AreEqual(GenerateTitle(i), cache[GenerateUri(i)].Title);
            }
        }
        public void CacheSizeDecreasedRemovesOldestContents()
        {
            NavigationCache cache = new NavigationCache(5);

            BulkAddToCache(cache, 0, 5);

            cache.ChangeCacheSize(2);

            Assert.AreEqual(2, cache.CacheMRUPagesSize);
            Assert.AreEqual(2, cache.CachePagesSize);

            // Check that items 3-4 are the only ones still in the cache
            // 0-2 should have been removed because they were the oldest contents
            for (int i = 0; i <= 2; i++)
            {
                Assert.IsNull(cache[GenerateUri(i)]);
            }
            for (int i = 3; i <= 4; i++)
            {
                Assert.AreEqual(GenerateTitle(i), cache[GenerateUri(i)].Title);
            }
        }
        public void AddingToCacheWhenAlreadyPresentMovesToTop()
        {
            NavigationCache cache = new NavigationCache(5);

            // Fill up the cache completely
            BulkAddToCache(cache, 0, 5);

            // Re-add an item under Uri 3
            cache.AddToCache(GenerateUri(3), GeneratePage(100));

            // Verify items 0-4 are still present with the correct values
            Assert.AreEqual(GenerateTitle(0), cache[GenerateUri(0)].Title);
            Assert.AreEqual(GenerateTitle(1), cache[GenerateUri(1)].Title);
            Assert.AreEqual(GenerateTitle(2), cache[GenerateUri(2)].Title);
            Assert.AreEqual(GenerateTitle(100), cache[GenerateUri(3)].Title);
            Assert.AreEqual(GenerateTitle(4), cache[GenerateUri(4)].Title);

            // Reduce the cache to only one value, to prove that item 3 was at the top
            cache.ChangeCacheSize(1);

            Assert.AreEqual(GenerateTitle(100), cache[GenerateUri(3)].Title);
        }
        public void CacheSizeIncreasedDoesNotAffectContents()
        {
            NavigationCache cache = new NavigationCache(5);

            // Add items 0-2 to the cache
            BulkAddToCache(cache, 0, 3);

            cache.ChangeCacheSize(10);

            // Check that items 0-2 are still in the cache
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(GenerateTitle(i), cache[GenerateUri(i)].Title);
            }

            BulkAddToCache(cache, 3, 5);

            // Check that items 0-7 are still in the cache - should be possible because cache size was increased
            for (int i = 0; i < 8; i++)
            {
                Assert.AreEqual(GenerateTitle(i), cache[GenerateUri(i)].Title);
            }
        }
        public void CacheSizeIncreasedDoesNotAffectContents()
        {
            NavigationCache cache = new NavigationCache(5);

            // Add items 0-2 to the cache
            BulkAddToCache(cache, 0, 3);

            cache.ChangeCacheSize(10);

            // Check that items 0-2 are still in the cache
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(GenerateTitle(i), cache[GenerateUri(i)].Title);
            }

            BulkAddToCache(cache, 3, 5);

            // Check that items 0-7 are still in the cache - should be possible because cache size was increased
            for (int i = 0; i < 8; i++)
            {
                Assert.AreEqual(GenerateTitle(i), cache[GenerateUri(i)].Title);
            }
        }
Ejemplo n.º 17
0
 private void RemoveButton(object sender, RoutedEventArgs e)
 {
     _filmDetailViewModel.RemoveFilm();
     _filmDetailViewModel.NavigationViewModel.Page = NavigationCache.GetPage <Home, HomeViewModel>();
 }
 public void setNavigationCache(NavigationCache navigationCache)
 {
     this.navigationCache = navigationCache;
 }
 private void HomeNav(object sender, RoutedEventArgs e)
 {
     _navigationViewModel.Page = NavigationCache.GetPage <Home, HomeViewModel>(true);
 }
 private void AmisNav(object sender, RoutedEventArgs e)
 {
     _navigationViewModel.Page = NavigationCache.GetPage <Amis, AmisViewModel>(true, _navigationViewModel);
 }
        public void AddingToCacheWhenAlreadyPresentMovesToTop()
        {
            NavigationCache cache = new NavigationCache(5);

            // Fill up the cache completely
            BulkAddToCache(cache, 0, 5);

            // Re-add an item under Uri 3
            cache.AddToCache(GenerateUri(3), GeneratePage(100));

            // Verify items 0-4 are still present with the correct values
            Assert.AreEqual(GenerateTitle(0), cache[GenerateUri(0)].Title);
            Assert.AreEqual(GenerateTitle(1), cache[GenerateUri(1)].Title);
            Assert.AreEqual(GenerateTitle(2), cache[GenerateUri(2)].Title);
            Assert.AreEqual(GenerateTitle(100), cache[GenerateUri(3)].Title);
            Assert.AreEqual(GenerateTitle(4), cache[GenerateUri(4)].Title);

            // Reduce the cache to only one value, to prove that item 3 was at the top
            cache.ChangeCacheSize(1);

            Assert.AreEqual(GenerateTitle(100), cache[GenerateUri(3)].Title);
        }
 private void AddAmiNav(object sender, RoutedEventArgs e)
 {
     _navigationViewModel.Page = NavigationCache.GetPage <AddAmi, AddAmiViewModel>(true, _navigationViewModel, null);
 }
 private void Modifier(object sender, RoutedEventArgs e)
 {
     _amiDetailViewModel.NavigationViewModel.Page = NavigationCache.GetPage <AddAmi, AddAmiViewModel>(true, _amiDetailViewModel.NavigationViewModel, _amiDetailViewModel.Ami);
 }
 private void PretNav(object sender, RoutedEventArgs e)
 {
     _navigationViewModel.Page = NavigationCache.GetPage <Prets, PretsViewModel>(true, _navigationViewModel);
 }
 private void Supprimer(object sender, RoutedEventArgs e)
 {
     _amiDetailViewModel.Remove();
     _amiDetailViewModel.NavigationViewModel.Page = NavigationCache.GetPage <Home, HomeViewModel>();
 }
Ejemplo n.º 26
0
 private void UpdateButton(object sender, RoutedEventArgs e)
 {
     _filmDetailViewModel.NavigationViewModel.Page = NavigationCache.GetPage <AddFilm, AddFilmViewModel>(true, _filmDetailViewModel.NavigationViewModel, _filmDetailViewModel.Film);
 }