DataSeeding.cs 4.31 KB
using HHECS.DAQClient.Common.Enums;
using HHECS.DAQClient.Model;
using HHECS.EquipmentModel;
using System.Xml.Linq;

namespace HHECS.DAQClient.DataAccess
{
    /// <summary>
    /// 种子数据
    /// </summary>
    public static class DataSeeding
    {
        public static List<CommunicationConfig> GetCommunicationConfigs()
        {
            var temps = new List<CommunicationConfig>
            {
                new CommunicationConfig
                {
                    Code = "PLC1",
                    Name = "西门子S1500",
                    CommunicationType = CommunicationTypeConst.Siemens_S1500,
                    IpAddress = "127.0.0.1",
                    Port = 102,
                    Area = "1",
                    Disable = true,
                },
            };
            return temps;
        }

        public static List<Equipment> GetEquipment()
        {
            var temps = new List<Equipment>();
            return temps;
        }

        public static List<EquipmentProp> GetEquipmentProperties()
        {
            var temps = new List<EquipmentProp>();
            return temps;
        }

        public static List<EquipmentType> GetEquipmentTypes()
        {
            var temps = new List<EquipmentType>
            {
                new EquipmentType
                {
                    Id = 1,
                    Code = EquipmentTypeConst.SingleSRM.ToString(),
                    Name = "单叉堆垛机",
                    Description = string.Empty,
                },
                new EquipmentType
                {
                    Id = 2,
                    Code = EquipmentTypeConst.DoubleSRM.ToString(),
                    Name = "双叉堆垛机",
                    Description = string.Empty,
                }
            };
            return temps;
        }

        /// <summary>
        /// 获取所有设备属性模板
        /// </summary>
        /// <returns></returns>
        public static List<EquipmentTypePropTemplate> GetEquipmentTypePropTemplates()
        {
            var doubleSRMPropTemplates = GetDoubleSRMPropTemplates();
            var singleSRMPropTemplates = GetSingleSRMPropTemplates();

            var temps = new List<EquipmentTypePropTemplate>();
            temps.AddRange(doubleSRMPropTemplates);
            temps.AddRange(singleSRMPropTemplates);

            return temps;
        }

        /// <summary>
        /// 单叉堆垛机属性模板
        /// </summary>
        /// <returns></returns>
        private static List<EquipmentTypePropTemplate> GetSingleSRMPropTemplates()
        {
            var temps = new List<EquipmentTypePropTemplate>
            {
                new EquipmentTypePropTemplate
                {
                    Code = SingleSRMPropConst.Code1.ToString(),
                    Name = "属性1",
                    Address = "DB100.0.0",
                    DataType = EquipmentDataType.WORD,
                    PropType = EquipmentPropType.PLCDataAddress,
                    MonitorCompareValue = string.Empty,
                    Description = string.Empty,
                    MonitorFailure = string.Empty,
                    MonitorNormal = string.Empty,
                },
            };
            temps.ForEach(x =>
            {
                x.EquipmentTypeId = 1;
            });
            return temps;
        }

        /// <summary>
        /// 双叉堆垛机属性模板
        /// </summary>
        /// <returns></returns>
        private static List<EquipmentTypePropTemplate> GetDoubleSRMPropTemplates()
        {
            var temps = new List<EquipmentTypePropTemplate>
            {
                new EquipmentTypePropTemplate
                {
                    Code = DoubleSRMPropConst.Code1.ToString(),
                    Name = "属性1",
                    Address = "DB100.0.0",
                    DataType = EquipmentDataType.WORD,
                    PropType = EquipmentPropType.PLCDataAddress,
                    MonitorCompareValue = string.Empty,
                    Description = string.Empty,
                    MonitorFailure = string.Empty,
                    MonitorNormal = string.Empty,
                },
            };
            temps.ForEach(x =>
            {
                x.EquipmentTypeId = 2;
            });
            return temps;
        }
    }
}