コード例 #1
0
        public static void Set(ref SqlCommand command, BaseEntityObject objData, CRUDType crudType)
        {
            var properties = GetObjectProperties.GetProperties(objData);

            foreach (var propertyInfo in properties)
            {
                var insertAttribute = (ByPassInsertParamAttribute)System.Attribute.GetCustomAttribute(propertyInfo, typeof(ByPassInsertParamAttribute));
                var updateAttribute = (ByPassUpdateParamAttribute)System.Attribute.GetCustomAttribute(propertyInfo, typeof(ByPassUpdateParamAttribute));
                var activeAttribute = (ActiveFieldAttribute)System.Attribute.GetCustomAttribute(propertyInfo, typeof(ActiveFieldAttribute));
                var nullAttribute   = (NullFieldAttribute)System.Attribute.GetCustomAttribute(propertyInfo, typeof(NullFieldAttribute));
                switch (crudType)
                {
                case CRUDType.Insert:
                    if (insertAttribute != null)
                    {
                        continue;
                    }
                    break;

                case CRUDType.Update:
                    if (updateAttribute != null)
                    {
                        continue;
                    }
                    break;

                case CRUDType.Delete:
                    break;
                }
                if (activeAttribute != null || nullAttribute != null)
                {
                    command.Parameters.AddWithValue("@" + propertyInfo.Name, propertyInfo.GetValue(objData, null));
                }
                else
                {
                    command.Parameters.AddWithValue("@" + propertyInfo.Name, TextCaseSetter.Set(objData, propertyInfo));
                }
            }
        }
コード例 #2
0
        private bool executeNonQuery(string _query, OleDbParameter[] sqlParameters, CRUDType crud)
        {
            OleDbCommand commande = new OleDbCommand();

            try
            {
                commande.Connection  = ouvrirConnexion();
                commande.CommandText = _query;
                commande.Parameters.AddRange(sqlParameters);

                switch (crud)
                {
                case CRUDType.Create:
                    adapteur.InsertCommand = commande;
                    break;

                case CRUDType.Delete:
                    adapteur.DeleteCommand = commande;
                    break;

                case CRUDType.Update:
                    adapteur.UpdateCommand = commande;
                    break;

                case CRUDType.Read:
                    throw new Exception("La requête SELECT est n'est pas utilisable dans ce contexte.");
                }


                commande.ExecuteNonQuery();
            }
            catch (OleDbException e)
            {
                writeError("Requête : " + _query + "\nSqlException : " + e.StackTrace.ToString());
                return(false);
            }
            return(true);
        }
コード例 #3
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);
        }
コード例 #4
0
 public ModelBase()
 {
     this.CrudType = CRUDType.NONE;
 }