Ejemplo n.º 1
0
        protected override void ProcessRecord()
        {
            //  ClearもしくはEnumRunSettingがnullの場合、デフォルト設定で再作成
            if (_setting == null || Clear)
            {
                _setting = new EnumRunSetting();
                _setting.SetDefaultParameter();
            }

            if (Range == null && !string.IsNullOrEmpty(Name))
            {
                Range[] ranges = _setting.GetRange(Name);
                if (ranges != null && ranges.Length > 0)
                {
                    foreach (Range range in ranges)
                    {
                        range.StartNumber = StartNumber;
                        range.EndNumber   = EndNumber;
                    }
                }
                else
                {
                    //  存在しない場合は何もしない
                    return;
                }
            }
            else if (Range != null)
            {
                //  パイプラインで渡されたRangeと名前が一致している場合に上書き
                foreach (Range range in Range)
                {
                    int index = _setting.Ranges.FindIndex(x => x.Name.Equals(range.Name, StringComparison.OrdinalIgnoreCase));
                    if (index >= 0)
                    {
                        _setting.Ranges[index] = range;
                    }
                    else
                    {
                        //  存在しない場合は何もしない
                        return;
                    }
                }
            }
            DataSerializer.Serialize <EnumRunSetting>(_setting, SettingPath);

            WriteObject(_setting.Ranges, true);
        }
Ejemplo n.º 2
0
 protected override void ProcessRecord()
 {
     if (Version)
     {
         WriteObject("EnumRun - v" + Function.GetVersion());
     }
     else
     {
         if (Name == null)
         {
             WriteObject(_setting.Ranges, true);
         }
         else
         {
             WriteObject(_setting.GetRange(Name), true);
         }
     }
 }
Ejemplo n.º 3
0
 protected override void ProcessRecord()
 {
     if (Range == null && !string.IsNullOrEmpty(Name))
     {
         foreach (Range range in _setting.GetRange(Name))
         {
             _setting.Ranges.Remove(range);
         }
     }
     else if (Range != null)
     {
         //  名前判定せず、インスタンスの中身が一致したら削除
         foreach (Range range in Range)
         {
             _setting.Ranges.Remove(range);
         }
     }
     DataSerializer.Serialize <EnumRunSetting>(_setting, SettingPath);
 }
Ejemplo n.º 4
0
        protected override void ProcessRecord()
        {
            if (Range == null && !string.IsNullOrEmpty(Name))
            {
                Range[] ranges = _setting.GetRange(Name);
                if (ranges != null && ranges.Length > 0)
                {
                    //  すでに同じ名前のRangeがある為、追加不可
                    return;
                }
                else
                {
                    //  名前を指定留守場合は1つずつ追加
                    _setting.Ranges.Add(new Range()
                    {
                        Name        = this.Name,
                        StartNumber = this.StartNumber,
                        EndNumber   = this.EndNumber
                    });
                }
            }
            else if (Range != null)
            {
                foreach (Range range in Range)
                {
                    if (_setting.Ranges.Any(x => x.Name.Equals(range.Name, StringComparison.OrdinalIgnoreCase)))
                    {
                        //  すでに同じ名前のRangeがある為、追加不可
                        return;
                    }
                    else
                    {
                        _setting.Ranges.Add(range);
                    }
                }
            }
            DataSerializer.Serialize <EnumRunSetting>(_setting, SettingPath);

            WriteObject(_setting);
        }