public MooiDocument Create(KmlDocument kmlDocument, List <DiscoveredPlace> discoveredPlaces, string reportTempPath) { var model = new MooiDocument { Title = kmlDocument.Title, Description = kmlDocument.Description }; var foldersWithPlacemarks = kmlDocument.Folders.Where(x => x.Placemarks.Any()).ToList(); AppendExploredPlaces(discoveredPlaces, foldersWithPlacemarks); discoveredPlaces = discoveredPlaces?.Where(x => x.IsForPlacemark).ToList(); foreach (var folder in foldersWithPlacemarks) { var section = new MooiSection { Document = model, Name = folder.Name }; model.Sections.Add(section); ExtractGroupsFromFolderIntoSection(folder, section, discoveredPlaces, reportTempPath); } return(model); }
public async Task When_fetching_images_the_progress_is_being_updated_and_images_downloaded() { // Arrange var placemark = new MooiPlacemark(); var group = new MooiCluster { Placemarks = { placemark } }; var document = new MooiDocument { Sections = { new MooiSection { Clusters = { group} } } }; var tempPath = "temp-path"; var overviewBytes = new byte[] { 0x22 }; var thumbnailBytes = new byte[] { 0x44 }; _resourceNameMock.Setup(x => x.CreateFileNameForOverviewMap(group)).Returns("overview-path"); _resourceNameMock.Setup(x => x.CreateFileNameForPlacemarkThumbnail(placemark)).Returns("thumb-path"); _hereMock.Setup(x => x.FetchOverviewMap(group)) .Returns(Task.FromResult(overviewBytes)); _hereMock.Setup(x => x.FetchThumbnail(placemark)) .Returns(Task.FromResult(thumbnailBytes)); // Act await _fetcher.Object.FetchMapImages(document, tempPath, _progressMock.Object); // Verify _fileMock.Verify(x => x.WriteBytesAsync(tempPath + @"\overview-path", overviewBytes)); _fileMock.Verify(x => x.WriteBytesAsync(tempPath + @"\thumb-path", thumbnailBytes)); _progressMock.Verify(x => x.ReportFetchImagesCount(1 + 1), Times.Once); _progressMock.Verify(x => x.ReportFetchImageProcessed(), Times.Exactly(2)); }
public MooiDocumentDto Create(MooiDocument document, string reportTempPath) { return(new MooiDocumentDto { Title = document.Title, Description = document.Description, Sections = document.Sections.Select(CreateSection).ToArray() }); }
public virtual async Task FetchMapImages(MooiDocument document, string tempPath, IResourceFetchingProgress progress) { var clusters = document.Sections.SelectMany(x => x.Clusters).ToList(); var placemarks = document.Sections.SelectMany(x => x.Clusters).SelectMany(x => x.Placemarks).ToList(); progress.ReportFetchImagesCount(clusters.Count + placemarks.Count); _logger.Info("Downloading overviews"); foreach (var cluster in clusters) { await FetchClusterMapImage(cluster, tempPath); progress.ReportFetchImageProcessed(); } _logger.Info("Downloading sections"); foreach (var placemark in placemarks) { await FetchPlacemarkMapImage(placemark, tempPath); progress.ReportFetchImageProcessed(); } }
public void HandleActivated(string reportTempPath, MooiDocument document) { ViewModel.Document = _tuningDtoFactory.Create(document, reportTempPath); View.HandleActivated(); }