public async Task UpdatePersonAsync(PersonContainer container, CancellationToken cancellationToken) { PersonMethods methods = PersonMethods.MovieCredits | PersonMethods.TvCredits | PersonMethods.Images | PersonMethods.ExternalIds | PersonMethods.Translations; Person tmdbResult = await TMDbClient.GetPersonAsync(container.Id, methods, cancellationToken); container.Item = tmdbResult; People.Update(container); }
public void ContainsTest() { PersonContainer container = new PersonContainer(); container.People = GetTestPeople(); var contains = container.Contains(p => p.Age > 20); Assert.True(contains); }
public void GetAllTest() { PersonContainer container = new PersonContainer(); container.People = GetTestPeople(); var twenties = container.GetAll(p => p.Age > 20); Assert.Equal(2, twenties.Count()); }
public void GetBobTest() { PersonContainer container = new PersonContainer(); container.People = GetTestPeople(); var bob = container.GetOne(p => p.Name == "Bob"); Assert.NotNull(bob); Assert.Equal("Bob", bob.Name); }
private PersonContainer GetContainer(SearchPerson item) { PersonContainer container = People.FindById(item.Id); if (container == null) { container = new PersonContainer(item); } return(container); }
public static Person DeserializePerson(String strJsonResult) { //Deserialize multiple people //PeopleResult p = (PeopleResult)JsonConvert.DeserializeObject<PeopleResult>(strJsonResult); //return (Person)p.results[0]; //Deserialize single person PersonContainer personContainer = (PersonContainer)JsonConvert.DeserializeObject <PersonContainer>(strJsonResult); return(personContainer.Person); }
/// <summary> /// /// </summary> /// <returns></returns> public String SerializePerson() { PersonContainer pc = new PersonContainer(this); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); Newtonsoft.Json.JsonSerializer serializer1 = new Newtonsoft.Json.JsonSerializer(); Newtonsoft.Json.JsonTextWriter jwriter = new Newtonsoft.Json.JsonTextWriter(sw); serializer1.Serialize(jwriter, pc); return(sb.ToString()); }
public async Task <PersonContainer> GetPersonAsync(int personId, CancellationToken cancellationToken) { PersonContainer container = People.FindById(personId); if (container != null) { return(container); } PersonMethods methods = PersonMethods.MovieCredits | PersonMethods.TvCredits | PersonMethods.Images | PersonMethods.ExternalIds | PersonMethods.Translations; Person tmdbResult = await TMDbClient.GetPersonAsync(personId, methods, cancellationToken); container = new PersonContainer(tmdbResult); return(container); }
public void CreatePersonContainerView(PersonContainer container) { if (container == null) { return; } string documentType = "PersonSingleView"; string documentId = String.Format("{0}:{1}", documentType, container.Id); if (ShowDocument(String.Empty, documentId)) { return; } CreateDocument(() => container.Person.Name, documentType, container, documentId); }
public async Task CreatePersonView(int personId) { string documentType = "PersonSingleView"; string documentId = String.Format("{0}:{1}", documentType, personId); if (ShowDocument(String.Empty, documentId)) { return; } CancellationTokenSource tokenSource = this.GetAsyncCommand(x => x.CreatePersonView(personId)).CancellationTokenSource; PersonContainer container = await RunAsync(() => App.Repository.GetPersonAsync(personId, tokenSource.Token)); if (container != null) { CreateDocument(() => container.Person.Name, documentType, container, documentId); } }
public async Task CreateImportView(MediaType mediaType) { ImportViewModel viewModel = ViewModelSource.Create <ImportViewModel>(); viewModel.ParentViewModel = this; viewModel.MediaType = mediaType; DialogService.ShowDialog(null, Properties.Resources.Import, "ImportView", viewModel); if (viewModel.SelectedMediaFileInfoList != null) { try { BeginProgress(); IAsyncCommand command = this.GetAsyncCommand(x => x.CreateImportView(mediaType)); CancellationToken cancellationToken = command.CancellationTokenSource.Token; BackgroundOperation.Register(Properties.Resources.ImportWizard, command.CancelCommand); List <ContainerBase> newItems = new List <ContainerBase>(); List <ContainerBase> existingItems = new List <ContainerBase>(); if (viewModel.MediaType == MediaType.Movie) { foreach (MediaFileInfo info in viewModel.SelectedMediaFileInfoList) { if (cancellationToken.IsCancellationRequested) { break; } SearchBase selectedItem = info.SelectedMediaItem as SearchBase; if (selectedItem != null) { MovieContainer container = await App.Repository.GetMovieAsync(selectedItem.Id, cancellationToken); if (container != null) { container.Seen = info.PersonalInfo.Seen; container.Favorite = info.PersonalInfo.Favorite; container.Watchlist = info.PersonalInfo.Watchlist; container.LocalPath = info.PersonalInfo.LocalPath; container.PersonalRating = info.PersonalInfo.PersonalRating; if (container.IsAdded == false) { newItems.Add(container); } else { existingItems.Add(container); } } } } foreach (MovieContainer movieContainer in newItems) { App.Repository.Movies.Add(movieContainer); } foreach (MovieContainer movieContainer in existingItems) { App.Repository.Movies.Update(movieContainer); } } else if (viewModel.MediaType == MediaType.Tv) { foreach (MediaFileInfo info in viewModel.SelectedMediaFileInfoList) { if (cancellationToken.IsCancellationRequested) { break; } SearchBase selectedItem = info.SelectedMediaItem as SearchBase; if (selectedItem != null) { TvShowContainer container = await App.Repository.GetTvShowAsync(selectedItem.Id, cancellationToken); if (container != null) { container.Seen = info.PersonalInfo.Seen; container.Favorite = info.PersonalInfo.Favorite; container.Watchlist = info.PersonalInfo.Watchlist; container.LocalPath = info.PersonalInfo.LocalPath; container.PersonalRating = info.PersonalInfo.PersonalRating; if (container.IsAdded == false) { newItems.Add(container); } else { existingItems.Add(container); } } } } foreach (TvShowContainer tvShowContainer in newItems) { App.Repository.TvShows.Add(tvShowContainer); } foreach (TvShowContainer tvShowContainer in existingItems) { App.Repository.TvShows.Update(tvShowContainer); } } else if (viewModel.MediaType == MediaType.Person) { foreach (MediaFileInfo info in viewModel.SelectedMediaFileInfoList) { if (cancellationToken.IsCancellationRequested) { break; } SearchBase selectedItem = info.SelectedMediaItem as SearchBase; if (selectedItem != null) { PersonContainer container = await App.Repository.GetPersonAsync(selectedItem.Id, cancellationToken); if (container != null) { container.Favorite = info.PersonalInfo.Favorite; container.LocalPath = info.PersonalInfo.LocalPath; if (container.IsAdded == false) { newItems.Add(container); } else { existingItems.Add(container); } } } } foreach (PersonContainer personContainer in newItems) { App.Repository.People.Add(personContainer); } foreach (PersonContainer personContainer in existingItems) { App.Repository.People.Update(personContainer); } } } finally { EndProgress(); BackgroundOperation.UnRegister(Properties.Resources.ImportWizard); } } }