public static async Task CreateClassfromJsonSchema(string url)
        {
            JsonSchema4 jsonSchema = await JsonSchema4.FromUrlAsync(url);

            CSharpGenerator generator = new CSharpGenerator(jsonSchema);
            string          file      = generator.GenerateFile();
        }
Esempio n. 2
0
        public static async Task CreateClassfromJsonSchema(string url, string name)
        {
            JsonSchema4 jsonSchema = await JsonSchema4.FromUrlAsync(url);

            CSharpGenerator generator = new CSharpGenerator(jsonSchema);

            generator.Settings.ArrayBaseType           = "System.Collections.Generic.List";
            generator.Settings.ArrayType               = "System.Collections.Generic.List";
            generator.Settings.EnumNameGenerator       = new EnumNameGenerator();
            generator.Settings.GenerateDataAnnotations = false;
            generator.Settings.GenerateJsonMethods     = false;
            generator.Settings.Namespace               = "LETin.Billingo.Api";
            generator.Settings.ClassStyle              = CSharpClassStyle.Poco;
            var text = generator.GenerateFile(name);

            while (text.Contains("  "))
            {
                text = text.Replace("  ", " ");
            }
            text = text.Replace("\n \n", "\n");
            while (text.Contains("\n\n"))
            {
                text = text.Replace("\n\n", "\n");
            }
            text = text.Replace("#pragma warning disable // Disable all warnings", "");
            await File.WriteAllTextAsync($"{baseDirectory}/{name}.Generated.cs", text);
        }
Esempio n. 3
0
        public async Task When_json_schem_is_loaded_via_url_then_it_works()
        {
            //// Arrange

            //// Act
            var schema = await JsonSchema4.FromUrlAsync("http://json-schema.org/card");

            var json = schema.ToJson();

            //// Assert
            Assert.IsNotNull(json);
        }
Esempio n. 4
0
        public async Task When_json_schema_is_loaded_then_no_collection_modified_exception_is_thrown()
        {
            // https://github.com/NJsonSchema/NJsonSchema/issues/288

            //// Arrange


            //// Act
            var schema = await JsonSchema4.FromUrlAsync("http://schemas.sportradar.com/bsa/json/v1/endpoints/soccer/team_profile.json");

            var json = schema.ToJson();

            //// Assert
            Assert.IsNotNull(json);
        }
Esempio n. 5
0
        /// <exception cref="ArgumentException">The argument 'Input' was empty.</exception>
        protected async Task <JsonSchema4> GetJsonSchemaAsync()
        {
            var input = Input.ToString();

            if (string.IsNullOrEmpty(input))
            {
                throw new ArgumentException("The argument 'Input' was empty.");
            }

            if (IsJson(input))
            {
                return(await JsonSchema4.FromJsonAsync(input).ConfigureAwait(false));
            }

            if (await DynamicApis.FileExistsAsync(input).ConfigureAwait(false))
            {
                return(await JsonSchema4.FromFileAsync(input).ConfigureAwait(false));
            }

            return(await JsonSchema4.FromUrlAsync(input).ConfigureAwait(false));
        }
Esempio n. 6
0
 private ProjectConfigValidator(Uri schemaUrl)
 {
     JsonSchema = JsonSchema4.FromUrlAsync(schemaUrl.AbsoluteUri).Result;
 }