private static void CallVirtualDirExample() { var builder = new FileSystemBuilder("root"); builder.AddFile("file1.text", 1002); builder.AddFile("file2.text", 1002); builder.AddDirectory("folder1"); builder.SetCurrentDirectory("folder1"); builder.AddFile("fol1file1.text", 3432); builder.AddFile("fol1file2.text", 3432); builder.AddDirectory("folder2"); System.Console.WriteLine("RootDir: " + builder.RootDirectory.Name + "-- Size: " + builder.RootDirectory.GetSizeInKb()); System.Console.WriteLine(JsonConvert.SerializeObject(builder.RootDirectory, Formatting.Indented)); }
private static void ExampleBuilderComposite() { var builder = new FileSystemBuilder("development"); // More readable builder.AddDirectory("project1"); // Add files to project1 builder.AddFile("p1f1.txt", 2100); builder.AddFile("p1f2.txt", 3100); //Add sub-dir to project1 dir builder.AddDirectory("sub-dir"); // Add files to sub-dir builder.AddFile("p1f3.txt", 4100); builder.AddFile("p1f4.txt", 5100); builder.SetCurrentDirectory("development"); builder.AddDirectory("project2"); // Add files to project1 builder.AddFile("p2f1.txt", 6100); builder.AddFile("p2f2.txt", 7100); Console.WriteLine($"Total size (root) : {builder.RootDirectory.GetSizeInKiloBytes()}"); // Convert composite hierarchy to json representation Console.WriteLine(JsonConvert.SerializeObject(builder.RootDirectory, Formatting.Indented)); }