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); }
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()); } }
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()); } }