Esempio n. 1
0
 /// <summary>
 /// 获取或设置指定相位的数值(不包含总相)。
 /// </summary>
 /// <param name="phase">相位。</param>
 /// <returns></returns>
 public override decimal?this[PhaseOptions phase]
 {
     get
     {
         if (phase == PhaseOptions.Zero)
         {
             return(this.Zero);
         }
         else
         {
             return(base[phase]);
         }
     }
     set
     {
         if (phase == PhaseOptions.Zero)
         {
             this.Zero = value;
         }
         else
         {
             base[phase] = value;
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 获取指定功效类型的值,并且当指定的功效类型数据不存在时返回一个无数值的 RatesEfficacyPhaseValue 对象。
        /// </summary>
        /// <param name="efficacy">功效类型。</param>
        /// <param name="phase">相位。</param>
        /// <returns>该方法始终返回 RatesEfficacyPhaseValue 实例,不会返回 null。</returns>
        public RatesEfficacyPhaseValue GetValue(EfficacyOptions efficacy, PhaseOptions phase)
        {
            foreach (RatesEfficacyPhaseValue value in this)
            {
                if (value.Efficacy == efficacy && value.Phase == phase)
                {
                    return(value);
                }
            }

            return(new RatesEfficacyPhaseValue(efficacy, phase));
        }
Esempio n. 3
0
        /// <summary>
        /// 获取相位、相序的文字说明。
        /// </summary>
        /// <param name="phase">相位、相序</param>
        /// <returns>相位、相序的文字说明</returns>
        public static string GetDescription(this PhaseOptions phase)
        {
            switch (phase)
            {
            case PhaseOptions.Total:
                return("总");

            case PhaseOptions.A:
                return("A相");

            case PhaseOptions.B:
                return("B相");

            case PhaseOptions.C:
                return("C相");

            case PhaseOptions.Zero:
                return("零相");

            default:
                throw new NotImplementedException("尚未实现该枚举。");
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 获取或设置指定相位的数值(仅包含A、B、C三相)。
        /// </summary>
        /// <param name="phase">相位。</param>
        /// <returns></returns>
        public virtual decimal?this[PhaseOptions phase]
        {
            get
            {
                switch (phase)
                {
                case PhaseOptions.A:
                    return(this.A);

                case PhaseOptions.B:
                    return(this.B);

                case PhaseOptions.C:
                    return(this.C);

                default:
                    return(null);
                }
            }
            set
            {
                switch (phase)
                {
                case PhaseOptions.A:
                    this.A = value;
                    break;

                case PhaseOptions.B:
                    this.B = value;
                    break;

                case PhaseOptions.C:
                    this.C = value;
                    break;
                }
            }
        }
Esempio n. 5
0
 /// <summary>
 /// 费率、功效类型及相位组合的值。
 /// </summary>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">该数据的相位。</param>
 /// <param name="total">总费率的数据。</param>
 /// <param name="pike">尖费率的数据。</param>
 /// <param name="peak">峰费率的数据。</param>
 /// <param name="flat">平费率的数据。</param>
 /// <param name="vale">谷费率的数据。</param>
 public RatesEfficacyPhaseValue(EfficacyOptions efficacy, PhaseOptions phase, decimal?total, decimal?pike, decimal?peak, decimal?flat, decimal?vale)
     : base(efficacy, total, pike, peak, flat, vale)
 {
     this.Phase = phase;
 }
Esempio n. 6
0
 /// <summary>
 /// 费率、功效类型及相位组合的值。
 /// </summary>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">该数据的相位。</param>
 public RatesEfficacyPhaseValue(EfficacyOptions efficacy, PhaseOptions phase)
     : base(efficacy)
 {
     this.Phase = phase;
 }
 /// <summary>
 /// 功效类型及相位组合的曲线段值。
 /// </summary>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="values">曲线段各点数据。</param>
 public EfficacyPhaseCurvePartValue(EfficacyOptions efficacy, PhaseOptions phase, int startTimeNum, int endTimeNum, decimal?[] values)
     : base(phase, startTimeNum, endTimeNum, values)
 {
     this.Efficacy = efficacy;
 }
 /// <summary>
 /// 功效类型及相位组合的曲线段值。
 /// </summary>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">曲线点数,该参数为 0:00:00 至 23:59:59 完整的曲线数据点数。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param>
 public EfficacyPhaseCurvePartValue(EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint, int startTimeNum, int endTimeNum)
     : base(phase, curvePoint, startTimeNum, endTimeNum)
 {
     this.Efficacy = efficacy;
 }
Esempio n. 9
0
 /// <summary>
 /// 各相位的曲线值。
 /// </summary>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="values">数据数组。数据数组的长度必须符合 CurvePointOptions 中定义的长度。</param>
 public PhaseCurveValue(PhaseOptions phase, decimal?[] values)
     : base(values)
 {
     this.Phase = phase;
 }
Esempio n. 10
0
 /// <summary>
 /// 各相位的曲线段值。
 /// </summary>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="values">曲线段各点数据。</param>
 public PhaseCurvePartValue(PhaseOptions phase, int startTimeNum, int endTimeNum, decimal?[] values)
     : base(startTimeNum, endTimeNum, values)
 {
     this.Phase = phase;
 }
 /// <summary>
 /// 费率、功效类型及相位组合的曲线段值。
 /// </summary>
 /// <param name="rates">该数据的费率。</param>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="values">曲线段各点数据。</param>
 public RatesEfficacyPhaseCurvePartValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, int startTimeNum, int endTimeNum, decimal?[] values)
     : base(efficacy, phase, startTimeNum, endTimeNum, values)
 {
     this.Rates = rates;
 }
 /// <summary>
 /// 费率、功效类型及相位组合的曲线段值。
 /// </summary>
 /// <param name="rates">该数据的费率。</param>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">曲线点数,该参数为 0:00:00 至 23:59:59 完整的曲线数据点数。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param>
 public RatesEfficacyPhaseCurvePartValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint, int startTimeNum, int endTimeNum)
     : base(efficacy, phase, curvePoint, startTimeNum, endTimeNum)
 {
     this.Rates = rates;
 }
Esempio n. 13
0
 /// <summary>
 /// 功效类型及相位组合的曲线值。
 /// </summary>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="values">数据数组。数据数组的长度必须符合 CurvePointOptions 中定义的长度。</param>
 public EfficacyPhaseCurveValue(EfficacyOptions efficacy, PhaseOptions phase, decimal?[] values)
     : base(phase, values)
 {
     this.Efficacy = efficacy;
 }
Esempio n. 14
0
 /// <summary>
 /// 功效类型及相位组合的曲线值。
 /// </summary>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">该曲线的点数。</param>
 public EfficacyPhaseCurveValue(EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint)
     : base(phase, curvePoint)
 {
     this.Efficacy = efficacy;
 }
Esempio n. 15
0
 /// <summary>
 /// 各相位的曲线段值。
 /// </summary>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">曲线点数,该参数为 0:00:00 至 23:59:59 完整的曲线数据点数。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param>
 public PhaseCurvePartValue(PhaseOptions phase, CurvePointOptions curvePoint, int startTimeNum, int endTimeNum)
     : base(curvePoint, startTimeNum, endTimeNum)
 {
     this.Phase = phase;
 }
Esempio n. 16
0
 /// <summary>
 /// 各相位的曲线段值。
 /// </summary>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">曲线点数,该参数为 0:00:00 至 23:59:59 完整的曲线数据点数。</param>
 /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param>
 /// <param name="values">曲线段各点数据。</param>
 public PhaseCurvePartValue(PhaseOptions phase, CurvePointOptions curvePoint, int startTimeNum, decimal?[] values)
     : base(curvePoint, startTimeNum, values)
 {
     this.Phase = phase;
 }
Esempio n. 17
0
 /// <summary>
 /// 费率、功效类型及相位组合的曲线值。
 /// </summary>
 /// <param name="rates">该数据的费率。</param>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">该曲线的点数。</param>
 public RatesEfficacyPhaseCurveValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint)
     : base(efficacy, phase, curvePoint)
 {
     this.Rates = rates;
 }
Esempio n. 18
0
 /// <summary>
 /// 费率、功效类型及相位组合的曲线值。
 /// </summary>
 /// <param name="rates">该数据的费率。</param>
 /// <param name="efficacy">该数据的功效类型。</param>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="values">数据数组。数据数组的长度必须符合 CurvePointOptions 中定义的长度。</param>
 public RatesEfficacyPhaseCurveValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, decimal?[] values)
     : base(efficacy, phase, values)
 {
     this.Rates = rates;
 }
Esempio n. 19
0
 /// <summary>
 /// 各相位的曲线值。
 /// </summary>
 /// <param name="phase">曲线数据的相位。</param>
 /// <param name="curvePoint">该曲线的点数。</param>
 public PhaseCurveValue(PhaseOptions phase, CurvePointOptions curvePoint)
     : base(curvePoint)
 {
     this.Phase = phase;
 }