using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SendFormat
{
    public class ToolInfo
    {
        public string Name { get; set; }
        public string TimeRated { get; set; }
        public string TimeUsed { get; set; }
    }

    public class AxisInfo
    {
        public string AxisName { get; set; }
        public string AxisValue { get; set; }
    }

    public class ParameterInfo
    {
        public string ParameterName { get; set; }
        public string ParameterValue { get; set; }
    }

    public class AlarmInfo
    {
        public string Alarm { get; set; }
        public string AlarmTime { get; set; }
    }

    public class DeviceInfo
    {
        public string order { get; set; } = "";
        public string Name { get; set; }
        public string Id { get; set; }
        public string Status { get; set; }
        public string Program { get; set; }
        public string Feed { get; set; }
        public string Speed { get; set; }
        public string Rapid { get; set; }
        public string ProgramStatus { get; set; }
        public ToolInfo Tool { get; set; }
        public List<AxisInfo> Axis { get; set; }

        public List<ParameterInfo> OtherParameter { get; set; }
        public List<AlarmInfo> Alarm { get; set; }

    }
   
    public class JointConfig 
    {
        public string JointName { get; set; }
        public string ModelCode { get; set; }
        public string JointType { get; set; }
        public string Axis { get; set; }
        public string Flip { get; set; }
        public string Value { get; set; }
        public string ValueFactor { get; set; }
        public string Delta { get; set; }
    }

    public class MachineToolConfig
    {
        public string Enable { get; set; }
        public string Type { get; set; }
        public string ConnectStr { get; set; }
        public string Id { get; set; }
        public string Name { get; set; }
        public string DataTimeInterval { get; set; }
        public string AxesTimeInterval { get; set; }
        public List<JointConfig> Joints { get; set; }

    }



    public class AppConfig
    {
        public List<MachineToolConfig> MachineTool { get; set; }
    }
}
