//────────────────────────────────────────
        /// <summary>
        /// 
        /// </summary>
        /// <param name="string_Csv"></param>
        /// <param name="request_ReadsTable"></param>
        /// <param name="xenonTableFormat_puts"></param>
        /// <param name="out_SErrorMsg"></param>
        /// <returns></returns>
        public Table_Humaninput Read(
            string string_Csv,
            Request_ReadsTable request_ReadsTable,
            Format_Table_Humaninput xenonTableFormat_puts,
            Log_Reports log_Reports
            )
        {
            Table_Humaninput result;

            if (xenonTableFormat_puts.IsRowcolumnreverse)
            {
                //
                // 縦、横がひっくりかえっているCSVテーブルを読み込みます。
                //

                if (xenonTableFormat_puts.IsAllintfieldsActivated)
                {
                    //
                    // 型定義のレコードがなく、全てのフィールドがint型のCSVテーブルを読み込みます。
                    //

                    CsvTo_Table_Humaninput_ReverseAllIntsImpl csvTo = new CsvTo_Table_Humaninput_ReverseAllIntsImpl();
                    csvTo.CharSeparator = this.CharSeparator;

                    Table_Humaninput xenonTable = csvTo.Read(
                        string_Csv,
                        request_ReadsTable,
                        xenonTableFormat_puts,
                        log_Reports
                        );
                    if (!log_Reports.Successful)
                    {
                        // 既エラー。
                        result = null;
                        goto gt_EndMethod;
                    }

                    result = xenonTable;
                }
                else
                {
                    CsvTo_Table_Humaninput_ReverseImpl csvTo = new CsvTo_Table_Humaninput_ReverseImpl();
                    csvTo.CharSeparator = this.CharSeparator;

                    Table_Humaninput xenonTable = csvTo.Read(
                        string_Csv,
                        request_ReadsTable,
                        xenonTableFormat_puts,
                        log_Reports
                        );
                    if (!log_Reports.Successful)
                    {
                        // 既エラー。
                        result = null;

                        goto gt_EndMethod;
                    }

                    result = xenonTable;
                }
            }
            else
            {
                //
                // 縦、横そのままのCSVテーブルを読み込みます。
                //
                CsvTo_Table_Humaninput_RegularImpl csvTo = new CsvTo_Table_Humaninput_RegularImpl();
                csvTo.CharSeparator = this.CharSeparator;

                Table_Humaninput xenonTable = csvTo.Read(
                    string_Csv,
                    request_ReadsTable,
                    xenonTableFormat_puts,
                    log_Reports
                    );
                if (!log_Reports.Successful)
                {
                    // 既エラー。
                    result = null;

                    goto gt_EndMethod;
                }

                result = xenonTable;
            }

            goto gt_EndMethod;

            //
            //
            //
            //
            gt_EndMethod:
            return result;
        }
Exemple #2
0
        //────────────────────────────────────────

        /// <summary>
        ///
        /// </summary>
        /// <param name="string_Csv"></param>
        /// <param name="request_ReadsTable"></param>
        /// <param name="xenonTableFormat_puts"></param>
        /// <param name="out_SErrorMsg"></param>
        /// <returns></returns>
        public Table_Humaninput Read(
            string string_Csv,
            Request_ReadsTable request_ReadsTable,
            Format_Table_Humaninput xenonTableFormat_puts,
            Log_Reports log_Reports
            )
        {
            Table_Humaninput result;

            if (xenonTableFormat_puts.IsRowcolumnreverse)
            {
                //
                // 縦、横がひっくりかえっているCSVテーブルを読み込みます。
                //

                if (xenonTableFormat_puts.IsAllintfieldsActivated)
                {
                    //
                    // 型定義のレコードがなく、全てのフィールドがint型のCSVテーブルを読み込みます。
                    //

                    CsvTo_Table_Humaninput_ReverseAllIntsImpl csvTo = new CsvTo_Table_Humaninput_ReverseAllIntsImpl();
                    csvTo.CharSeparator = this.CharSeparator;

                    Table_Humaninput xenonTable = csvTo.Read(
                        string_Csv,
                        request_ReadsTable,
                        xenonTableFormat_puts,
                        log_Reports
                        );
                    if (!log_Reports.Successful)
                    {
                        // 既エラー。
                        result = null;
                        goto gt_EndMethod;
                    }

                    result = xenonTable;
                }
                else
                {
                    CsvTo_Table_Humaninput_ReverseImpl csvTo = new CsvTo_Table_Humaninput_ReverseImpl();
                    csvTo.CharSeparator = this.CharSeparator;

                    Table_Humaninput xenonTable = csvTo.Read(
                        string_Csv,
                        request_ReadsTable,
                        xenonTableFormat_puts,
                        log_Reports
                        );
                    if (!log_Reports.Successful)
                    {
                        // 既エラー。
                        result = null;

                        goto gt_EndMethod;
                    }

                    result = xenonTable;
                }
            }
            else
            {
                //
                // 縦、横そのままのCSVテーブルを読み込みます。
                //
                CsvTo_Table_Humaninput_RegularImpl csvTo = new CsvTo_Table_Humaninput_RegularImpl();
                csvTo.CharSeparator = this.CharSeparator;

                Table_Humaninput xenonTable = csvTo.Read(
                    string_Csv,
                    request_ReadsTable,
                    xenonTableFormat_puts,
                    log_Reports
                    );
                if (!log_Reports.Successful)
                {
                    // 既エラー。
                    result = null;

                    goto gt_EndMethod;
                }

                result = xenonTable;
            }

            goto gt_EndMethod;

            //
            //
            //
            //
gt_EndMethod:
            return(result);
        }