private void ProcessUpdatedExhibits(IProgressListener listener, FetchedMediaData fetchedMedia, ITransactionDataAccess dataAccess) { var exhibits = dataAccess.Exhibits().GetExhibits().ToDictionary(x => x.IdForRestApi); foreach (var exhibitDto in updatedExhibits) { var dbExhibit = exhibits[exhibitDto.Id]; ExhibitConverter.Convert(exhibitDto, dbExhibit); AddImageToExhibit(dbExhibit, exhibitDto.Image, fetchedMedia); //TODO: Check if exhibit was already downloaded //if(dbExhibit.DetailsDataLoaded) //{ // IoCManager.Resolve<INewDataCenter>().AddExhibitToBeUpdated(dbExhibit); //} var removedPages = dbExhibit.Pages.Where(x => !exhibitDto.Pages.Contains(x.IdForRestApi)); foreach (var page in removedPages) { dbExhibit.Pages.Remove(page); } listener.ProgressOneStep(); } }
private void ProcessNewExhibits(IProgressListener listener, FetchedMediaData fetchedMedia, ITransactionDataAccess dataAccess) { foreach (var exhibitDto in newExhibits) { var dbExhibit = ExhibitConverter.Convert(exhibitDto); AddImageToExhibit(dbExhibit, exhibitDto.Image, fetchedMedia); dataAccess.Exhibits().AddExhibit(dbExhibit); listener.ProgressOneStep(); } }