Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }