public override string Generate(Table table, GeneratorOptions options) { try { var json = new JSonTemplates(); json.Session = new Dictionary <string, object>(); var fk = table.ForeignKeys; //.ToForegnTableColumns(); json.Session.Add("foregnkeys", fk); json.Session.Add("columns", table.InsertableColumns); json.Initialize(); return(json.TransformText()); } catch (Exception exc) { throw new Exception("Json generator error occured", exc.InnerException); } }
public PostmanItem CreateItem(CRUDType methodType, Table table) { PostmanItem item = new PostmanItem(); item.ProtocolProfileBehavior = new ProtocolProfileBehavior() { DisableBodyPruning = true }; var request = new Request(); //key token stuff 4 auth & authenticaton request.Header = new Header[] { }; var url = new Url(); var body = new Body(); body.Mode = "raw"; body.Raw = ""; body.Options = new Options() { Raw = new Raw() { Language = "json" } }; url.Host = new string[] { @"{{url}}" }; url.Path = new string[3] { "api", $"{table.TableName}", "" }; //create json body 4 update & var json = new JSonTemplates(); json.Session = new Dictionary <string, object>(); var fk = table.ForeignKeys.ToForegnTableColumns(); json.Session.Add("foregnkeys", fk); json.Session.Add("columns", table.InsertableColumns); json.Initialize(); switch (methodType) { case CRUDType.GetList: item.Name = $"Get{table.TableName}List"; request.Method = "GET"; url.Raw = $"{url.Host[0]}/api/{table.TableName}/Get{table.TableName}List"; url.Path[2] = $"Get{table.TableName}List"; break; case CRUDType.GetById: item.Name = $"Get{table.TableName}ById"; url.Raw = $"{url.Host[0]}/api/{table.TableName}/Get{table.TableName}ById"; url.Path[2] = $"Get{table.TableName}ById"; request.Method = "GET"; break; case CRUDType.Create: item.Name = $"Create{table.TableName}"; url.Raw = $"{url.Host[0]}/api/{table.TableName}/Create{table.TableName}"; url.Path[2] = $"Create{table.TableName}"; body.Raw = json.TransformText(); request.Method = "POST"; break; case CRUDType.Update: item.Name = $"Update{table.TableName}"; url.Raw = $"{url.Host[0]}/api/{table.TableName}/Update{table.TableName}"; url.Path[2] = $"Update{table.TableName}"; body.Raw = json.TransformText(); request.Method = "PUT"; break; case CRUDType.Delete: item.Name = $"Delete{table.TableName}"; url.Raw = $"{url}/api/{table.TableName}/Delete{table.TableName}"; url.Path[2] = $"Delete{table.TableName}"; request.Method = "DELETE"; break; } request.Body = body; request.Url = url; item.Request = request; return(item); }