public object PutCodeToCompile([FromBody]JToken input) { CompiledFormDto result = new CompiledFormDto(); CompileResultContainer compileResult = null; if(input["csharpCode"] == null) { result.ErrorMessages.Add("No Code!"); return result; } try { compileResult = CompileService.TryCompileAndSearchType(input["csharpCode"].ToString()); result.CompilationSuccessfull = compileResult.CompilationSuccessfull; result.TypeName = compileResult.TypeName; result.ErrorMessages = compileResult.ErrorMessages; if(compileResult.CompilationSuccessfull) { DefaultSchemaFormBuilder builder = new DefaultSchemaFormBuilder(); SchemaFormInfo schemaFormInfo = builder.CreateSchemaForm(compileResult.Type); result.Form = schemaFormInfo.Form; result.Schema = schemaFormInfo.Schema; } } catch(Exception e) { result.ErrorMessages.Add(e.ToString()); } finally { if (compileResult != null) { compileResult.ReleaseResources(); } } return result; }
public SchemaFormInfo GetSampleForm() { ISchemaFormBuilder schemaFormBuilder = new DefaultSchemaFormBuilder(); return schemaFormBuilder.CreateSchemaForm(typeof(SampleDto)); }