示例#1
0
        /// <summary>
        /// 対象の設定ファイルのバリデーションを行い、その結果を返します。
        /// </summary>
        /// <returns></returns>
        public SettingFileValidatorResult GetValidationResult()
        {
            SettingFileValidatorResult ret = new SettingFileValidatorResult();

            ret = GetKeyContainsValidationResult(ret);
            ret = GetKeyDuplicateValidationResult(ret);

            return(ret);
        }
示例#2
0
        /// <summary>
        /// キー情報がすべて含まれているかどうかのバリデーションを行い、その結果を返します。
        /// </summary>
        /// <returns></returns>
        private SettingFileValidatorResult GetKeyContainsValidationResult(SettingFileValidatorResult result)
        {
            SettingFileValidatorResult ret = new SettingFileValidatorResult(result);

            //対応ディクショナリとの差集合リストを取得し、設定
            List <KeyboardUtilConstants.VirtualKeyCode> exceptKeys =
                KeyboardUtilConstants.keyNameKeyCodeDictionary.Values.Except(_loadedPicSettings.Select((item) => KeyboardUtilConstants.keyNameKeyCodeDictionary[item.KeyName])).ToList();

            ret.NoExistKeyCodeList.AddRange(exceptKeys);

            return(ret);
        }
示例#3
0
        /// <summary>
        /// キー情報が重複しているかどうかのバリデーションを行い、その結果を返します。
        /// </summary>
        /// <returns></returns>
        private SettingFileValidatorResult GetKeyDuplicateValidationResult(SettingFileValidatorResult result)
        {
            SettingFileValidatorResult ret = new SettingFileValidatorResult(result);

            //キー名称の重複を検出
            var duplicates = _loadedPicSettings
                             .GroupBy((item) => item.KeyName)
                             .Where((item) => item.Count() > 1)
                             .Select((item) => new { Key = item.Key, Count = item.Count() })
                             .ToList();

            //キー重複情報の設定
            foreach (var item in duplicates)
            {
                ret.DuplicateKeyList.Add(new SettingFileValidatorResult.SettingFileValidatorDuplicateResult(
                                             KeyboardUtilConstants.keyNameKeyCodeDictionary[item.Key],
                                             item.Count));
            }

            return(ret);
        }
示例#4
0
 public SettingFileValidatorResult(SettingFileValidatorResult result)
 {
     NoExistKeyCodeList = result.NoExistKeyCodeList;
     DuplicateKeyList   = result.DuplicateKeyList;
 }