Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
                }
            }
        }