using MECF.Framework.Common.CommonData;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MECF.Framework.Common.RecipeCenter
{
    public class CurrentRampProfile : NotifiableItem
    {
        #region 内部变量
        private int _currentRampDurartionSeconds;
        private double _forwardAmps;
        private double _forwardAmps2;
        private double _forwardAmps3;
        private double _forwardAmps4;
        private double _forwardAmps5;
        private double _forwardAmps6;
        private bool _pulseEnabled;
        private double _reverseAmps;
        private double _shearPlateSpeed;
        #endregion

        #region 属性
        [JsonProperty]
        public int CurrentRampDurartionSeconds { get { return _currentRampDurartionSeconds; } set { _currentRampDurartionSeconds = value;InvokePropertyChanged(nameof(CurrentRampDurartionSeconds)); } }
        [JsonProperty]
        public double ForwardAmps { get { return _forwardAmps; } set { _forwardAmps = value;InvokePropertyChanged(nameof(ForwardAmps)); } }
        [JsonProperty]
        public double ForwardAmps2 { get { return _forwardAmps2; } set { _forwardAmps2 = value; InvokePropertyChanged(nameof(ForwardAmps2)); } }
        [JsonProperty]
        public double ForwardAmps3 { get { return _forwardAmps3; } set { _forwardAmps3 = value; InvokePropertyChanged(nameof(ForwardAmps3)); } }
        [JsonProperty]
        public double ForwardAmps4 { get { return _forwardAmps4; } set { _forwardAmps4 = value; InvokePropertyChanged(nameof(ForwardAmps4)); } }
        [JsonProperty]
        public double ForwardAmps5 { get { return _forwardAmps5; } set { _forwardAmps5 = value; InvokePropertyChanged(nameof(ForwardAmps5)); } }
        [JsonProperty]
        public double ForwardAmps6 { get { return _forwardAmps6; } set { _forwardAmps6 = value; InvokePropertyChanged(nameof(ForwardAmps6)); } }
        [JsonProperty]
        public bool PulseEnabled { get { return _pulseEnabled; } set { _pulseEnabled=value;InvokePropertyChanged(nameof(PulseEnabled)); } }
        [JsonProperty]
        public double ReversedAmps { get { return _reverseAmps; } set { _reverseAmps = value;InvokePropertyChanged(nameof(ReversedAmps)); } }
        [JsonProperty]
        public double ShearPlateSpeed { get { return _shearPlateSpeed;} set { _shearPlateSpeed = value; InvokePropertyChanged(nameof(ShearPlateSpeed)); } }
        #endregion
    }
}