예제 #1
0
        private bool _containsKeyword(string Json, int language)
        {
            ICodeWriter writer;

            if (language == 1)
            {
                writer = new CSharpCodeWriter();
            }
            else if (language == 2)
            {
                writer = new VisualBasicCodeWriter();
            }
            else if (language == 7)
            {
                writer = new TypeScriptCodeWriter();
            }
            else if (language == 4)
            {
                writer = new SqlCodeWriter();
            }
            else if (language == 5)
            {
                writer = new JavaCodeWriter();
            }
            else
            {
                writer = new PhpCodeWriter();
            }

            var jtoken  = JToken.Parse(Json);
            var hashSet = jtoken.ToHashSet();

            if (writer.Keywords.Any(x => hashSet.Contains(x)))
            {
                return(true);
            }

            return(false);
        }
예제 #2
0
        public static string Prepare(string JSON, string classname, Core.Language language, string aNamespace, bool pascal, string propertyAttribute, bool hasGetSet = false)
        {
            if (string.IsNullOrEmpty(JSON))
            {
                return(null);
            }

            ICodeWriter writer;

            switch (language)
            {
            case Language.CSharp:
                writer = new CSharpCodeWriter();
                break;

            case Language.VisualBasic:
                writer = new VisualBasicCodeWriter();
                break;

            case Language.TypeScript:
                writer = new TypeScriptCodeWriter();
                break;

            case Language.Sql:
                writer = new SqlCodeWriter();
                break;

            case Language.Java:
                writer = new JavaCodeWriter();
                break;

            case Language.PHP:
                writer = new PhpCodeWriter();
                break;

            default:
                throw new NotImplementedException("This language does not yet exists");
            }
            ;


            var gen = new JsonClassGenerator();

            gen.Example                 = JSON;
            gen.InternalVisibility      = false;
            gen.CodeWriter              = writer;
            gen.ExplicitDeserialization = false;
            if (!string.IsNullOrEmpty(aNamespace))
            {
                gen.Namespace = aNamespace;
            }
            else
            {
                gen.Namespace = null;
            }

            gen.NoHelperClass      = false;
            gen.SecondaryNamespace = null;
            gen.UseProperties      = ((int)language != 5 && (int)language != 6) || hasGetSet;
            gen.MainClass          = classname;
            gen.UsePascalCase      = pascal;
            gen.PropertyAttribute  = propertyAttribute;

            gen.UseNestedClasses           = !string.IsNullOrEmpty(aNamespace);
            gen.ApplyObfuscationAttributes = false;
            gen.SingleFile = true;
            gen.ExamplesInDocumentation = false;

            gen.TargetFolder = null;
            gen.SingleFile   = true;

            using (var sw = new StringWriter())
            {
                gen.OutputStream = sw;
                gen.GenerateClasses();
                sw.Flush();

                return(sw.ToString());
            }
        }
예제 #3
0
        private string Prepare(string JSON, string classname, int language, bool nest, bool pascal, string propertyAttribute, bool hasGetSet = false)
        {
            if (string.IsNullOrEmpty(JSON))
            {
                return(null);
            }

            ICodeWriter writer;

            if (language == 1)
            {
                writer = new CSharpCodeWriter();
            }
            else if (language == 2)
            {
                writer = new VisualBasicCodeWriter();
            }
            else if (language == 7)
            {
                writer = new TypeScriptCodeWriter();
            }
            else if (language == 4)
            {
                writer = new SqlCodeWriter();
            }
            else if (language == 5)
            {
                writer = new JavaCodeWriter();
            }
            else
            {
                writer = new PhpCodeWriter();
            }

            var gen = new JsonClassGenerator();

            gen.Example                 = JSON;
            gen.InternalVisibility      = false;
            gen.CodeWriter              = writer;
            gen.ExplicitDeserialization = false;
            if (nest)
            {
                gen.Namespace = "JSONUtils";
            }
            else
            {
                gen.Namespace = null;
            }

            gen.NoHelperClass      = false;
            gen.SecondaryNamespace = null;
            gen.UseProperties      = (language != 5 && language != 6) || hasGetSet;
            gen.MainClass          = classname;
            gen.UsePascalCase      = pascal;
            gen.PropertyAttribute  = propertyAttribute;

            gen.UseNestedClasses           = nest;
            gen.ApplyObfuscationAttributes = false;
            gen.SingleFile = true;
            gen.ExamplesInDocumentation = false;

            gen.TargetFolder = null;
            gen.SingleFile   = true;

            using (var sw = new StringWriter())
            {
                gen.OutputStream = sw;
                gen.GenerateClasses();
                sw.Flush();

                return(sw.ToString());
            }
        }