private void ReadTypeSetting(FileReadStatus status, DBTypeSet data, IReadOnlyList <DBItemType> itemTypes)
        {
            Logger.Debug(FileIOMessage.StartCommonRead(typeof(DBTypeSetFileReader),
                                                       "タイプ設定"));

            var reader = new DBTypeSettingReader(status, 1, false);

            var settings = reader.Read();

            data.TypeName = settings[0].TypeName;
            data.Memo     = settings[0].Memo;
            data.ItemSettingList.AddRange(settings[0].ItemSettingList);

            if (data.ItemSettingList.Count != itemTypes.Count)
            {
                throw new InvalidOperationException(
                          $"項目値種別数と項目設定数が一致しません。");
            }

            for (var i = 0; i < data.ItemSettingList.Count; i++)
            {
                data.ItemSettingList[i].ItemType = itemTypes[i];
            }

            Logger.Debug(FileIOMessage.EndCommonRead(typeof(DBTypeSetFileReader),
                                                     "タイプ設定リスト"));
        }
Esempio n. 2
0
        /// <summary>
        /// タイプ設定
        /// </summary>
        /// <param name="status">読み込み経過状態</param>
        /// <param name="typeSetting">読み込み結果インスタンス</param>
        private void ReadTypeSetting(FileReadStatus status, out DBTypeSetting typeSetting)
        {
            Logger.Debug(FileIOMessage.StartCommonRead(typeof(DBTypeFileReader),
                                                       "タイプ設定"));

            var reader = new DBTypeSettingReader(status, 1, true);

            var settings = reader.Read();

            typeSetting = settings[0];

            Logger.Debug(FileIOMessage.EndCommonRead(typeof(DBTypeFileReader),
                                                     "タイプ設定"));
        }
        // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
        //     ReadMethod
        // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

        /// <summary>
        /// タイプ設定
        /// </summary>
        /// <param name="status">読み込み経過状態</param>
        /// <param name="data">結果格納インスタンス</param>
        /// <exception cref="InvalidOperationException">ファイルヘッダが仕様と異なる場合</exception>
        private void ReadTypeSettingList(FileReadStatus status, DatabaseProject data)
        {
            Logger.Debug(FileIOMessage.StartCommonRead(typeof(DBTypeSettingReader),
                                                       "タイプ設定リスト"));

            var length = status.ReadInt();

            status.IncreaseIntOffset();

            Logger.Debug(FileIOMessage.SuccessRead(typeof(DatabaseProjectFileReader),
                                                   "タイプ設定数", length));

            var reader = new DBTypeSettingReader(status, length, true);

            var settings = reader.Read();

            data.TypeSettingList.AddRange(settings);

            Logger.Debug(FileIOMessage.EndCommonRead(typeof(DBTypeSettingReader),
                                                     "タイプ設定リスト"));
        }