private async Task FetchPlacemarkMapImage(MooiPlacemark placemark, string tempPath) { if (placemark.Type == PlacemarkType.Point) { var imageBytes = await _hereAdapter.FetchThumbnail(placemark); if (imageBytes == null) { _logger.Warn($"Was unable to download thumbnail map image for '{placemark.Id}'"); return; } var filePath = Path.Combine(tempPath, _resourceName.CreateFileNameForPlacemarkThumbnail(placemark)); await _file.WriteBytesAsync(filePath, imageBytes); _logger.Info($"A thumbnail map image for '{placemark.Id}' has been successfully downloaded"); } }
public MooiPlacemark Create(KmlPlacemark kmlPlacemark, IEnumerable <VenueBase> venues, string reportTempPath) { var descriptionAndImages = ExtractImagesFromContent(kmlPlacemark.Description); var description = FilterContent(descriptionAndImages.filteredContent); var placemark = new MooiPlacemark { Name = kmlPlacemark.Name, Description = description, AttachedVenues = venues?.ToArray(), Coordinates = kmlPlacemark.Coordinates, IconPath = kmlPlacemark.IconPath }; if (descriptionAndImages.images != null) { placemark.Images.AddRange(descriptionAndImages.images); } if (placemark.IconPath != null && !placemark.IconPathIsOnWeb) { placemark.IconPath = Path.Combine(reportTempPath, placemark.IconPath); } placemark.ThumbnailMapFilePath = Path.Combine(reportTempPath, _resourceName.CreateFileNameForPlacemarkThumbnail(placemark)); placemark.IsShape = _kmlCalculator.PlacemarkIsShape(placemark); if (placemark.IsShape) { var distanceInMeters = _kmlCalculator.CalculateRouteDistanceInMeters(placemark); placemark.Distance = _formatter.FormatDistance(distanceInMeters); } ExtendPlacemarkWithVenueData(placemark); return(placemark); }