using MainShell.Filewritable;
using MainShell.Recipe.Models.PID;
using MwFramework.ManagerService;
using System;
using System.Collections.ObjectModel;
using System.IO;

namespace MainShell.Recipe.Models
{
    public class ProcessRecipe : RecipeBase
    {
        public override string Dir => Path.Combine(Paths.ProcessRecipe, RecipeName);

        private ObservableCollection<PIDProfile> _axisPIDParameters = new ObservableCollection<PIDProfile>();
        /// <summary>
        /// PID参数集合
        /// </summary>
        public ObservableCollection<PIDProfile> AxisPIDParameters
        {
            get { return _axisPIDParameters; }
            set { SetProperty(ref _axisPIDParameters, value); }
        }

        private ProcessAxisCompensationParameter _processAxisCompensationParameter = new ProcessAxisCompensationParameter();
        /// <summary>
        /// 轴补偿参数
        /// </summary>
        public ProcessAxisCompensationParameter ProcessAxisCompensationParameter
        {
            get { return _processAxisCompensationParameter; }
            set { SetProperty(ref _processAxisCompensationParameter, value); }
        }

        private ObservableCollection<ProcessAxisCompensationParameter> _processCompensationParameters = new ObservableCollection<ProcessAxisCompensationParameter>();
        /// <summary>
        /// 工艺轴补偿参数集合
        /// </summary>
        public ObservableCollection<ProcessAxisCompensationParameter> ProcessCompensationParameters
        {
            get { return _processCompensationParameters; }
            set { SetProperty(ref _processCompensationParameters, value); }
        }

        public ProcessRecipe(string name) : base(name)
        {
        }

        public ProcessRecipe() : base()
        {
        }
    }
}
