private async void appBarButtonRefresh_Click(object sender, RoutedEventArgs e) { var tvShowLibraryList = await ConnectionHelper.ExecuteRequest(_remote.Host, _remote.Port, _remote.User, _remote.Pass, JsonHelper.JsonCommandVideoLibraryGetTVshows()); if (tvShowLibraryList != "statusError" && tvShowLibraryList != "connectionError") { var tvShowList = GetInformationHelper.getTvShowLibrary(tvShowLibraryList); if (tvShowList != null) { // clear the database deleteTvShow(); using (var db = new TvShowContext()) { try { db.TvShows.AddRange(tvShowList); db.SaveChanges(); loadTvShow(); } catch (Exception ex) { Debug.WriteLine(ex.Message); } } } } }
public void TestPopulatesTvShowsInDatastore() { var tvShows = new List <TvMazeTvShow>() { new TvMazeTvShow() { Id = 1, Name = "Name 1" }, new TvMazeTvShow() { Id = 2, Name = "Name 2" } }; var mockRepo = new Mock <ITvMazeApiRepository>(); mockRepo.Setup(repo => repo.GetTvShows()).Returns(tvShows); var options = BuildContextOptions("TestPopulatesTvShowsInDatastore"); using (var context = new TvShowContext(options)) { var populator = new DataPopulator(mockRepo.Object, context); var result = populator.PopulateTvShows(); Assert.True(result.Successful); Assert.Equal(2, result.Added); Assert.NotEmpty(context.TvShows); Assert.Equal(1, context.TvShows.ToList()[0].Id); Assert.Equal("Name 1", context.TvShows.ToList()[0].Name); Assert.Equal(2, context.TvShows.ToList()[1].Id); Assert.Equal("Name 2", context.TvShows.ToList()[1].Name); } }
public void TestUpdatesWhenTvShowAlreadyExistsInTheDatabaseOrAddsOtherwise() { var tvShows = new List <TvMazeTvShow>() { new TvMazeTvShow() { Id = 1, Name = "Name 1" }, new TvMazeTvShow() { Id = 2, Name = "Name 2" }, new TvMazeTvShow() { Id = 3, Name = "Name 3" } }; var mockRepo = new Mock <ITvMazeApiRepository>(); mockRepo.Setup(repo => repo.GetTvShows()).Returns(tvShows); var options = BuildContextOptions("TestUpdatesWhenTvShowAlreadyExistsInTheDatabaseOrAddsOtherwise"); using (var context = new TvShowContext(options)) { context.TvShows.AddRange(new List <TvShow>() { new TvShow() { Id = 1, Name = "Old Name 1" }, new TvShow() { Id = 2, Name = "Old Name 2" } }); context.SaveChanges(); } using (var context = new TvShowContext(options)) { var populator = new DataPopulator(mockRepo.Object, context); var result = populator.PopulateTvShows(); Assert.True(result.Successful); Assert.Equal(1, result.Added); Assert.Equal(2, result.Changed); Assert.NotEmpty(context.TvShows); Assert.Equal(1, context.TvShows.ToList()[0].Id); Assert.Equal("Name 1", context.TvShows.ToList()[0].Name); Assert.Equal(2, context.TvShows.ToList()[1].Id); Assert.Equal("Name 2", context.TvShows.ToList()[1].Name); Assert.Equal(3, context.TvShows.ToList()[2].Id); Assert.Equal("Name 3", context.TvShows.ToList()[2].Name); } }
private void PopulateTestDatabase(DbContextOptions <TvShowContext> options, int numberOfTvShowsToPopulate, int numberOfCastMembersPerTvShow = 0) { using (var context = new TvShowContext(options)) { for (int iTvShow = 1; iTvShow <= numberOfTvShowsToPopulate; iTvShow++) { var tvShow = new TvShow() { Id = iTvShow, Name = "Tv Show" + iTvShow }; var cast = new List <CastMember>(); for (int iCast = 1; iCast <= numberOfCastMembersPerTvShow; iCast++) { var id = Int32.Parse(iTvShow.ToString() + iCast.ToString()); var member = new CastMember() { Id = id, Name = "Cast " + iCast, Birthday = DateTime.Now.AddYears(-((numberOfCastMembersPerTvShow - iCast) * 10)), TvShow = tvShow }; context.CastMembers.Add(member); cast.Add(member); } tvShow.Cast = cast; context.TvShows.Add(tvShow); } context.SaveChanges(); } }
public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args) { using (var db = new MovieContext()) { db.Database.Migrate(); } using (var db = new TvShowContext()) { db.Database.Migrate(); } using (var db = new ArtistContext()) { db.Database.Migrate(); } using (var db = new RemoteContext()) { db.Database.Migrate(); // if database is empty go to remotelistpage if (await db.Remotes.CountAsync() == 0) { NavigationService.Navigate(typeof(Views.RemotesListPage)); } // else go to mainpage else { NavigationService.Navigate(typeof(Views.MainPage)); } } var settings = SettingsService.Instance; var settingVersion = settings.SettingVersion; var packageVersion = Package.Current.Id.Version; if (settingVersion != $"{packageVersion.Major}.{packageVersion.Minor}.{packageVersion.Build}.{packageVersion.Revision}") { var updateDialog = new ContentDialog() { Title = $"{packageVersion.Major}.{packageVersion.Minor}.{packageVersion.Build}.{packageVersion.Revision}", Content = "Thanks for all the donations, requests and bugs reported" + Environment.NewLine + Environment.NewLine + "I've been really busy at this time so unfortunately, I had little time for developing mrRemote. However, a few bugs have been fixed and some requested feature has been added." + Environment.NewLine + Environment.NewLine + "Go to Settings->Changelog for a complete list of the changes.", PrimaryButtonText = "Continue" }; await updateDialog.ShowAsync(); settings.SettingVersion = $"{packageVersion.Major}.{packageVersion.Minor}.{packageVersion.Build}.{packageVersion.Revision}"; } await Task.CompletedTask; }
public void TestInMemoryDatabaseSetupWorks() { var options = BuildContextOptions("TestInMemoryDatabaseSetupWorks"); PopulateTestDatabase(options, 15); using (var context = new TvShowContext(options)) { var tvShowsCount = context.TvShows.Count(); Assert.Equal(15, tvShowsCount); } }
public void TestGetReturnsCastWithTvShows() { var options = BuildContextOptions("TestGetReturnsCastWithTvShows"); PopulateTestDatabase(options, 1, 1); var context = new TvShowContext(options); var repository = new TvShowRepository(context); var tvShows = repository.Get(); Assert.NotEmpty(tvShows.ToArray()[0].Cast); }
public void TestGetReturnsAllTvShowsInDatabase() { var options = BuildContextOptions("TestRepositoryGetReturnsAllTvShowsInDatabase"); PopulateTestDatabase(options, 15); var context = new TvShowContext(options); var repository = new TvShowRepository(context); var tvShows = repository.Get(); var tvShowsCount = tvShows.Count(); Assert.Equal(15, tvShowsCount); }
// delete all tvshows in database private void deleteTvShow() { using (var db = new TvShowContext()) { try { db.TvShows.RemoveRange(db.TvShows.ToList()); db.SaveChanges(); } catch (Exception ex) { Debug.WriteLine(ex.Message); } } }
public void TestGetReturnCastInDescendingBirthdayOrder() { var options = BuildContextOptions("TestGetReturnCastInDescendingBirthdayOrder"); PopulateTestDatabase(options, 1, 3); var context = new TvShowContext(options); var repository = new TvShowRepository(context); var tvShows = repository.Get(); var cast = tvShows.ToArray()[0].Cast; Assert.True(cast[0].Birthday > cast[1].Birthday); Assert.True(cast[1].Birthday > cast[2].Birthday); }
private void textBoxSearch_TextChanged(object sender, TextChangedEventArgs e) { using (var db = new TvShowContext()) { if (db.TvShows.Count() > 0) { var query = (from p in db.TvShows where (p.Title.Contains(textBoxSearch.Text) || p.Genre.Contains(textBoxSearch.Text)) orderby p.Title select p).ToList(); GridViewTvShows.ItemsSource = query; relativePanelNoList.Visibility = Visibility.Collapsed; } else { GridViewTvShows.ItemsSource = null; relativePanelNoList.Visibility = Visibility.Visible; } } }
private void orderByDateAdded() { using (var db = new TvShowContext()) { if (db.TvShows.Count() > 0) { var query = (from p in db.TvShows orderby p.DateAdded descending select p).ToList(); GridViewTvShows.ItemsSource = query; relativePanelNoList.Visibility = Visibility.Collapsed; } else { GridViewTvShows.ItemsSource = null; relativePanelNoList.Visibility = Visibility.Visible; } } }
public void TestReturnsErrorMessageWhenMazeApiDoesntWork() { var mockRepo = new Mock <ITvMazeApiRepository>(); mockRepo.Setup(repo => repo.GetTvShows()).Throws(new TvMazeApiException()); var options = BuildContextOptions("TestReturnsErrorMessageWhenMazeApiDoesntWork"); using (var context = new TvShowContext(options)) { var populator = new DataPopulator(mockRepo.Object, context); var result = populator.PopulateTvShows(); Assert.False(result.Successful); Assert.False(result.Error == ""); } }
public TvShowRepository(TvShowContext context) { _context = context; }
public DataPopulator(ITvMazeApiRepository mazeApiRepository, TvShowContext db) { _mazeApiRepository = mazeApiRepository; _db = db; }