Equipment.cs 1.98 KB
using FreeSql.DataAnnotations;

namespace HHECS.DAQClient.Model
{
    /// <summary>
    /// 设备表
    /// </summary>
    [Table(Name = "daq_equipment")]
    public class Equipment
    {
        public Equipment()
        {
            EquipmentProperties = new List<EquipmentProperty>();
        }

        /// <summary>
        /// 设备Id
        /// </summary>
        [Column(IsPrimary = true)]
        public int Id { get; set; }

        /// <summary>
        /// 通讯方式
        /// </summary>
        public int? CommunicationId { get; set; }

        public virtual CommunicationConfig? CommunicationConfig { get; set; }

        /// <summary>
        /// 设备编号/IOT设备SN
        /// </summary>
        public string Code { get; set; } = null!;

        /// <summary>
        /// 设备名称
        /// </summary>
        public string Name { get; set; } = null!;

        /// <summary>
        /// 设备类型
        /// </summary>
        public EquipmentTypeConst EquipmentType { get; set; }

        /// <summary>
        /// 是否启用
        /// </summary>
        public bool Enable { get; set; }

        /// <summary>
        /// 区域
        /// </summary>
        public int Area { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; } = null!;

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }

        public virtual IList<EquipmentProperty> EquipmentProperties { get; set; }

        public virtual EquipmentProperty this[string key] => EquipmentProperties.Where(x => x.Code.Equals(key)).First();
    }

    /// <summary>
    /// 设备类型
    /// </summary>
    public enum EquipmentTypeConst
    {
        None = 0,

        Kuka,

        Fanuc,

        Efort,

        SiemensPLC,
    }
}