Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 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();
            }
        }
Esempio n. 5
0
        public void HandleActivated(string reportTempPath, MooiDocument document)
        {
            ViewModel.Document = _tuningDtoFactory.Create(document, reportTempPath);

            View.HandleActivated();
        }