예제 #1
0
        /// <summary>
        /// パラメータを生成します。
        /// </summary>
        /// <param name="tableClassInstance">テーブルクラスのインスタンスを設定します。</param>
        /// <param name="bindingAttr">BindingFlagsを設定します。</param>
        public void MakeParamater(
            [param: Required] object tableClassInstance,
            BindingFlags bindingAttr
            )
        {
            // nullチェック
            if (tableClassInstance == null)
            {
                throw new ArgumentNullException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(tableClassInstance));
            }

            // テーブル名が設定されていない場合
            if (this.TableName.Length <= 0)
            {
                // テーブル名を取得・設定します。
                this.TableName = Utility.AttributeTable.GetTableName(
                    tableClassType: tableClassInstance.GetType()
                    );
            }

            // パラメータが設定されていない場合
            if (this._param == null)
            {
                // パラメータを取得・設定します。
                this._param = Utility.AttributeTable
                              .GetColumnParam(
                    classType: tableClassInstance.GetType(),
                    tableClassInstance: tableClassInstance,
                    bindingAttr: bindingAttr
                    );
            }
        }
예제 #2
0
        /// <summary>
        /// QueryDataのValueをUpdateします。
        /// </summary>
        /// <param name="tableClassInstance">テーブル構造定義クラスのインスタンスを設定します。</param>
        /// <param name="bindingAttr">BindingFlagsを設定します。</param>
        public void UpdateQueryDataValue(
            [param: Required] object tableClassInstance,
            BindingFlags bindingAttr
            )
        {
            // nullチェック
            if (tableClassInstance == null)
            {
                throw new ArgumentNullException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(tableClassInstance));
            }

            // パラメータが設定されていない場合は再設定します。
            if (this._param == null)
            {
                // パラメータを取得・設定します。
                this._param = Utility.AttributeTable
                              .GetColumnParam(
                    classType: tableClassInstance.GetType(),
                    tableClassInstance: tableClassInstance,
                    bindingAttr: bindingAttr
                    );
            }

            // 値を再設定します。
            foreach (var p in this._param)
            {
                this._param[p.PropertyName].Value =
                    Utility.ObjectUtil.GetPropertyValue(
                        target: tableClassInstance,
                        name: p.PropertyName,
                        bindingAttr: bindingAttr
                        );
            }
        }
예제 #3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="tableName">テーブル名を設定します。</param>
 /// <param name="param">パラメータ(ColumnParams)を設定します。</param>
 public QueryData(
     [param: Required] string query,
     [param: Required] ColumnParam param
     )
 {
     this._query = query ?? throw new ArgumentNullException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(query));
     this._param = param ?? throw new ArgumentNullException(MethodBase.GetCurrentMethod().Name + Utility.ConstUtili.ERR_SEPA + nameof(param));
 }