Beispiel #1
0
        public void Unpack(string encodedJsonString, PackagerSettings settings)
        {
            var diagramLayout = JsonConvert.DeserializeObject <object>(encodedJsonString);

            // 1. Create root file for DataModelSchema.json
            File.WriteAllText($"{settings.OutputFolder}\\Metadata.json", diagramLayout.ToString());
        }
        public void Unpack(string encodedJsonString, PackagerSettings settings)
        {
            var layout = JsonConvert.DeserializeObject <Layout>(encodedJsonString);

            // 1. Create root file for DataModelSchema.json
            File.WriteAllText($"{settings.OutputFolder}\\Layout.json", layout.ToString());

            var folderPath = $"{settings.OutputFolder}\\Sections";

            Directory.CreateDirectory(folderPath);

            foreach (var section in layout.Sections)
            {
                File.WriteAllText($"{folderPath}\\{section.DisplayName.ToValidFileName()}.json", section.ToString());
            }
        }
        public void Pack(string filePath, string outputPath, bool debug = true)
        {
            using (var fileStream = new FileSystem().File.Open(filePath, FileMode.Open))
            {
                using (var zip = new ZipArchive(fileStream, ZipArchiveMode.Update))
                {
                    var reportName = Path.GetFileNameWithoutExtension(filePath);

                    var settings = new PackagerSettings()
                    {
                        OutputFolder = $"{outputPath}\\{reportName}"
                    };

                    if (Directory.Exists(settings.OutputFolder))
                    {
                        Directory.Delete(settings.OutputFolder, true);
                    }
                    Directory.CreateDirectory(settings.OutputFolder);

                    foreach (var archiveEntry in zip.Entries)
                    {
                        var strategies = new FilePackagerStrategies();
                        var packager   = strategies.GetFilePackagerType(archiveEntry.Name);

                        if (packager == null)
                        {
                            continue;
                        }
                        Console.WriteLine($"Processing file: {archiveEntry.Name}");

                        using (var ms = new MemoryStream())
                        {
                            archiveEntry.Open().CopyTo(ms);
                            var unzippedArray     = ms.ToArray();
                            var encodedJsonString = Encoding.Unicode.GetString(unzippedArray);

                            packager.Unpack(encodedJsonString, settings);
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public void Unpack(string encodedJsonString, PackagerSettings settings)
        {
            var schema = JsonConvert.DeserializeObject <DataModelSchema>(encodedJsonString);

            // 1. Create root file for DataModelSchema.json
            File.WriteAllText($"{settings.OutputFolder}\\DataModelSchema.json", schema.ToString());

            // 2. Create model.json
            File.WriteAllText($"{settings.OutputFolder}\\Model.json", schema.Model.ToString());

            // 3. Create file for each table
            var folderPath = $"{settings.OutputFolder}\\Tables";

            Directory.CreateDirectory(folderPath);

            foreach (var table in schema.Model.Tables)
            {
                File.WriteAllText($"{folderPath}\\{table.Name.ToValidFileName()}.json", table.ToString());
            }
        }