public void TestMethod1() { var gallery = new Gallery() { Metadata = new GalleryMetadata() { Description = "test description", Title = "test title", Id = Guid.NewGuid().ToString() }, ImageUrls = new String[] {"", ""} }; var stringified = JsonConvert.SerializeObject(gallery); System.Diagnostics.Debug.WriteLine(stringified); }
public static IEnumerable<Gallery> GalleriesFromFolders(IEnumerable<string> folders) { var results = new List<Gallery>(); foreach (var galleryFolder in folders) { var gallery = new Gallery(); // read metadata. Note we already checked that the metadata file exists using (StreamReader reader = new StreamReader( Path.Combine(galleryFolder, MetadataFileName))) { var json = reader.ReadToEnd(); gallery.Metadata = JsonConvert.DeserializeObject<GalleryMetadata>(json); } // read all the files in the directory var files = Directory.EnumerateFiles(galleryFolder); var pathElements = galleryFolder.Split(new char[] { '\\' }); var galleryRoot = pathElements[pathElements.Length - 2]; var galleryDir = pathElements[pathElements.Length - 1]; var galleryUrlTemplate = "/{0}/{1}/{2}"; var fileUrls = new List<string>(); foreach (var file in files) { if (!Path.GetFileName(file).Equals(MetadataFileName)) { fileUrls.Add(string.Format(galleryUrlTemplate, galleryRoot, galleryDir, Path.GetFileName(file))); } } gallery.ImageUrls = fileUrls; results.Add(gallery); } return OrderGalleries(results); }