private static void WriteHierarchy(HierarchyNode root, CsvHierarchyOutputWriter fileWriter) { if (_writeLine) { fileWriter.Write(root); } else { _writeLine = true; } foreach (var child in root.Children) { WriteHierarchy(child, fileWriter); } }
private static void OutputHierarchies(WriterConfiguration config, Dictionary <string, HierarchyNode> plDictionary, HPEHierarchyNode hierarchyRoot) { var pureHierarchyPath = Path.Combine(config.OutputPath, config.CsvDirectory, config.PureHierarchyFileName); Console.WriteLine($"Write hierarchies: {pureHierarchyPath}"); var productLineHierarchyRoot = new HierarchyNode { Level = 1, CategoryName = "HPE PL Root", CategoryID = "Pl" }; productLineHierarchyRoot.Children.AddRange(plDictionary.Values); FileHelpers.DeleteFile(FileTypes.Pure_Hierarchy, FileTypes.Pure_Hierarchy, pureHierarchyPath); using (var stream = new StreamWriter(File.OpenWrite(pureHierarchyPath))) { using (var fileWriter = new CsvHierarchyOutputWriter(stream)) { WriteHierarchy(productLineHierarchyRoot, fileWriter); } using (var fileWriter = new CsvHierarchyOutputWriter2(stream)) { WriteHierarchy2(hierarchyRoot, fileWriter); } } }