public void Get_AllLocations_FromRepo() { string baseDirectory = @"c:\TripLine\Locations\"; Directory.CreateDirectory(baseDirectory); var locations = _locationService.GetAllLocations(); foreach (var loc in locations) { string fpath = baseDirectory + loc.DisplayName + $"({loc.Id})" + ".txt"; using (var writer = new StreamWriter(File.Open(fpath, FileMode.Create, FileAccess.Write))) { loc.Serialize(writer); var photos = _photoStore.GetPhotosAtLocation(loc.Id); writer.WriteLine($"Total of {photos.Count} photos at this location."); foreach (var photoGroup in photos.GroupBy(p => Path.GetDirectoryName(p.PhotoUrl))) { writer.WriteLine($"{photoGroup.Key} has {photoGroup.Count()} photos."); if (photoGroup.Count() >= 1) { writer.WriteLine(photoGroup.First().Serialize(true)); } if (photoGroup.Count() >= 2) { writer.WriteLine("..."); writer.WriteLine(photoGroup.Last().Serialize(true)); } } } } }