Exemplo n.º 1
0
    public static string Serialize <T>(T obj)
    {
        var serializer = new YamlDotNet.Serialization.SerializerBuilder()
                         // .WithNamingConvention(CamelCaseNamingConvention.Instance)
                         .Build();
        var yaml = serializer.Serialize(obj);

        return(yaml);
    }
Exemplo n.º 2
0
        public static string ToYaml <T>(this T obj)
        {
            if (obj == null)
            {
                return(null);
            }
            var serializer = new YamlDotNet.Serialization.SerializerBuilder()
                             .WithTypeConverter(new SystemTypeTypeConverter())
                             .Build();

            return(serializer.Serialize(obj));
        }
Exemplo n.º 3
0
        public static void WriteConfig(string outputFile, Dictionary <string, object> settingsOverride)
        {
            var deserializer = new YamlDotNet.Serialization.DeserializerBuilder()
                               .Build();
            var configYaml = File.ReadAllText(DefaultConfigFile);
            var config     = deserializer.Deserialize <Dictionary <string, object> >(configYaml);

            foreach (var s in settingsOverride)
            {
                config[s.Key] = s.Value;
            }

            var serializer = new YamlDotNet.Serialization.SerializerBuilder()
                             .WithEventEmitter(next => new FlowStyleIntegerSequences(next))
                             .Build();
            string newConfigYaml = null;

            newConfigYaml = serializer.Serialize(config);
            Directory.CreateDirectory(Path.GetDirectoryName(outputFile));
            File.WriteAllText(outputFile, newConfigYaml);
        }
Exemplo n.º 4
0
        public static void WriteHardResume(string dateFolder, Resume resume)
        {
            ResumeFiles files   = new ResumeFiles(dateFolder);
            string      ymlPath = files.HardResume;

            // write to json
            string jsonDCircle = JsonConvert.SerializeObject(
                resume,
                new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                Formatting            = Formatting.Indented,
                ContractResolver      = new DefaultContractResolver
                {
                    NamingStrategy = new CamelCaseNamingStrategy()
                }
            }
                );

            string jsonPath = ymlPath.Replace("yml", "json");

            Resume resumeDCircle = JsonConvert.DeserializeObject <Resume>(jsonDCircle);

            ResumeDTO parsed = parseResume(resumeDCircle);

            string json = JsonConvert.SerializeObject(
                parsed,
                new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                Formatting            = Formatting.Indented,
                ContractResolver      = new DefaultContractResolver
                {
                    NamingStrategy = new CamelCaseNamingStrategy()
                }
            }
                );

            using (StreamWriter w = new StreamWriter(jsonPath))
            {
                w.Write(json);
                Console.WriteLine("##############################");
                Console.WriteLine($"JSON wrote at {jsonPath}");
            }

            //write to yml
            var serializer = new YamlDotNet.Serialization.SerializerBuilder()
                             .DisableAliases()
                             .Build();

            string yaml;

            using (StringWriter w = new StringWriter())
            {
                serializer.Serialize(w, parsed);
                yaml = w.ToString();
            }

            using (StreamWriter w2 = new StreamWriter(ymlPath))
            {
                w2.Write(yaml);
                Console.WriteLine("##############################");
                Console.WriteLine($"YML wrote at {ymlPath}");
            }

            // write to javascript
            string javascript = "exports.hardResume = " + json;
            string jsPath     = files.JavaScriptPath;

            Console.WriteLine(jsPath);
            using (StreamWriter w3 = new StreamWriter(jsPath))
            {
                w3.Write(javascript);
                Console.WriteLine("##############################");
                Console.WriteLine($"JS wrote at {jsPath}");
            }
        }