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); } } } } }
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 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); } }
// 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 PopulateResult PopulateTvShows() { var result = new PopulateResult() { Successful = true }; try { var tvShowsMazeApi = _mazeApiRepository.GetTvShows(); foreach (var tvShow in tvShowsMazeApi.Select(t => new TvShow() { Id = t.Id, Name = t.Name })) { var existingTvShow = _db.TvShows.Find(tvShow.Id); if (existingTvShow == null) { result.Added++; _db.TvShows.Add(tvShow); } else { result.Changed++; existingTvShow.Name = tvShow.Name; } } _db.SaveChanges(); } catch (TvMazeApiException e) { result.Added = 0; result.Changed = 0; result.Successful = false; result.Error = e.Message; } return(result); }