Beispiel #1
0
        //────────────────────────────────────────
        #endregion



        #region アクション
        //────────────────────────────────────────

        /// <summary>
        /// テーブルを、SRS形式のCSVファイルで書き出します。
        ///
        ///
        /// SRS仕様の実装状況
        /// ここでは、先頭行を0行目と数えるものとします。
        /// (1)CSVの1行目は列名です。
        /// (2)2行目は型名です。
        /// (3)3行目はコメントです。
        ///
        /// (4)データ・テーブル部で、0列目に「EOF」と入っていれば終了。大文字・小文字は区別せず。
        ///    それ以降に、コメントのようなデータが入力されていることがあるが、フィールドの型に一致しないことがあるので無視。
        ///    TODO EOF以降の行も、コメントとして残したい。
        ///
        /// (5)列名にENDがある場合、その手前までの列が有効データです。
        ///    END以降の列は無視します。
        ///    TODO END以降の行も、コメントとして残したい。
        ///
        /// (6)int型として指定されているフィールドのデータ・テーブル部に空欄があった場合、DBNull(データベース用のヌル)とします。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns>列名情報も含むテーブル。列の型は文字列型とします。</returns>
        public string ToCsvText(
            Table_Humaninput tableH,
            Log_Reports log_Reports
            )
        {
            string sResult;

            if (tableH.Format_Table_Humaninput.IsRowcolumnreverse)
            {
                //
                // 行と列が逆になっているテーブル
                //

                ToCsv_Table_Humaninput_RowColReversedImpl toCsv_RowColReversed = new ToCsv_Table_Humaninput_RowColReversedImpl();
                toCsv_RowColReversed.O_ExceptedFields = this.ExceptedFields;

                sResult = toCsv_RowColReversed.ToCsvText(tableH, log_Reports);
                if (!log_Reports.Successful)
                {
                    // 既エラー
                    goto gt_EndMethod;
                }
            }
            else
            {
                ToCsv_Table_Humaninput_RowColRegularImpl toCsv_Normal = new ToCsv_Table_Humaninput_RowColRegularImpl();
                toCsv_Normal.ExceptedFields = this.ExceptedFields;

                sResult = toCsv_Normal.ToCsvText(tableH, log_Reports);
                if (!log_Reports.Successful)
                {
                    // 既エラー
                    goto gt_EndMethod;
                }
            }

            goto gt_EndMethod;

            //
            //
            //
            //
gt_EndMethod:
            return(sResult);
        }
        //────────────────────────────────────────
        /// <summary>
        /// テーブルを、SRS形式のCSVファイルで書き出します。
        /// 
        /// 
        /// SRS仕様の実装状況
        /// ここでは、先頭行を0行目と数えるものとします。
        /// (1)CSVの1行目は列名です。
        /// (2)2行目は型名です。
        /// (3)3行目はコメントです。
        /// 
        /// (4)データ・テーブル部で、0列目に「EOF」と入っていれば終了。大文字・小文字は区別せず。
        ///    それ以降に、コメントのようなデータが入力されていることがあるが、フィールドの型に一致しないことがあるので無視。
        ///    TODO EOF以降の行も、コメントとして残したい。
        /// 
        /// (5)列名にENDがある場合、その手前までの列が有効データです。
        ///    END以降の列は無視します。
        ///    TODO END以降の行も、コメントとして残したい。
        /// 
        /// (6)int型として指定されているフィールドのデータ・テーブル部に空欄があった場合、DBNull(データベース用のヌル)とします。
        /// </summary>
        /// <param name="csvText"></param>
        /// <returns>列名情報も含むテーブル。列の型は文字列型とします。</returns>
        public string ToCsvText(
            Table_Humaninput tableH,
            Log_Reports log_Reports
            )
        {
            string sResult;

            if (tableH.Format_Table_Humaninput.IsRowcolumnreverse)
            {
                //
                // 行と列が逆になっているテーブル
                //

                ToCsv_Table_Humaninput_RowColReversedImpl toCsv_RowColReversed = new ToCsv_Table_Humaninput_RowColReversedImpl();
                toCsv_RowColReversed.O_ExceptedFields = this.ExceptedFields;

                sResult = toCsv_RowColReversed.ToCsvText(tableH, log_Reports);
                if (!log_Reports.Successful)
                {
                    // 既エラー
                    goto gt_EndMethod;
                }
            }
            else
            {
                ToCsv_Table_Humaninput_RowColRegularImpl toCsv_Normal = new ToCsv_Table_Humaninput_RowColRegularImpl();
                toCsv_Normal.ExceptedFields = this.ExceptedFields;

                sResult = toCsv_Normal.ToCsvText(tableH, log_Reports);
                if (!log_Reports.Successful)
                {
                    // 既エラー
                    goto gt_EndMethod;
                }
            }

            goto gt_EndMethod;

            //
            //
            //
            //
            gt_EndMethod:
            return sResult;
        }