public void GenerateType(string fullTypeName, StringBuilder builder, List <string> emittedType) { if (emittedType.Contains(fullTypeName)) { return; } List <string> list = new List <string>(); GetTypeDescriptionRequest request = new GetTypeDescriptionRequest(); request.FullTypeName = fullTypeName; GetTypeDescriptionResponse response = SDKFactory.Client.Execute(request); if (response.Item != null) { TypeDescription type = response.Item; builder.Append("namespace ").Append(type.TypeInfo.NameSpace).Append("\r\n{\r\n"); builder.Append("\tpublic class ").Append(type.TypeInfo.TypeName).Append("\r\n\t{\r\n"); foreach (var p in response.Item.Properties) { if (p.PropertyTypeInfo.IsClass) { list.Add(p.PropertyTypeInfo.FullTypeName); } builder.Append("\t\tpublic ").Append(p.PropertyTypeInfo.TypeName).Append(" ").Append(p.PropertyName).Append(" { get; set; }\r\n"); } builder.Append("\t}\r\n}\r\n"); emittedType.Add(fullTypeName); foreach (var t in list) { GenerateType(t, builder, emittedType); } } }
public JsonResult GetTypeDescription(string id) { string typeName = id.Replace("-", "."); GetTypeDescriptionRequest request = new GetTypeDescriptionRequest(); request.FullTypeName = typeName; GetTypeDescriptionResponse response = SDKFactory.Client.Execute(request); if (response.Item == null) { response.Item = new TypeDescription(); } return(Json(response.Item, JsonRequestBehavior.AllowGet)); }
public ActionResult TypeDescription(string id) { string typeName = id.Replace("-", "."); GetTypeDescriptionRequest request = new GetTypeDescriptionRequest(); request.FullTypeName = typeName; GetTypeDescriptionResponse response = SDKFactory.Client.Execute(request); if (response.IsError || response.Item == null) { response.Item = new TypeDescription(); } this.ViewBag.Data = response.Item; return(View()); }