public bool Write(List <DeviceDefinitionData> definitions)
        {
            if (definitions.IsNullOrEmpty <DeviceDefinitionData>())
            {
                return(false);
            }
            string str    = "`device_id`, `agent_instance_id`, `id`, `uuid`, `name`, `native_name`, `sample_interval`, `sample_rate`, `iso_841_class`, `manufacturer`, `model`, `serial_number`, `station`, `description`";
            string format = "INSERT IGNORE INTO `devices` ({0}) VALUES {1}";
            string str3   = "('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}')";

            string[] strArray = new string[definitions.Count];
            for (int i = 0; i < definitions.Count; i++)
            {
                DeviceDefinitionData data = definitions[i];
                strArray[i] = string.Format(str3, new object[] { this.EscapeString(data.DeviceId), data.AgentInstanceId,
                                                                 this.EscapeString(data.Id), this.EscapeString(data.Uuid), this.EscapeString(data.Name),
                                                                 this.EscapeString(data.NativeName), data.SampleInterval, data.SampleRate, this.EscapeString(data.Iso841Class),
                                                                 this.EscapeString(data.Manufacturer), this.EscapeString(data.Model), this.EscapeString(data.SerialNumber),
                                                                 this.EscapeString(data.Station), this.EscapeString(data.Description) });
            }
            string str4  = string.Join(",", strArray);
            string query = string.Format(format, str, str4);

            return(this.Write(query));
        }
Пример #2
0
        private static DeviceDefinitionData Create(string deviceId, long agentInstanceId, MTConnectDevices.Device device)
        {
            var obj = new DeviceDefinitionData();

            obj.DeviceId = deviceId;

            // MTConnect Properties
            obj.AgentInstanceId = agentInstanceId;
            obj.Id             = device.Id;
            obj.Uuid           = device.Uuid;
            obj.Name           = device.Name;
            obj.NativeName     = device.NativeName;
            obj.SampleInterval = device.SampleInterval;
            obj.SampleRate     = device.SampleRate;
            obj.Iso841Class    = device.Iso841Class;
            if (device.Description != null)
            {
                obj.Manufacturer = device.Description.Manufacturer;
                obj.Model        = device.Description.Model;
                obj.SerialNumber = device.Description.SerialNumber;
                obj.Station      = device.Description.Station;
                obj.Description  = device.Description.CDATA;
            }

            return(obj);
        }
Пример #3
0
 private void DeviceDefinitionReceived(DeviceDefinitionData definition)
 {
     // Send to DataServers
     foreach (var dataServer in Configuration.DataServers)
     {
         dataServer.Add(definition);
     }
 }
Пример #4
0
 /// <summary>
 /// DeviceDefinitionsReceived的事件处理函数
 /// </summary>
 /// <param name="definition"></param>
 private void DeviceDefinitionReceived(DeviceDefinitionData definition)
 {
     //Send to DatabaseQueue
     Queue.Add(GetSendList(definition));
 }