Exemplo n.º 1
0
        public void Charge(int sensorId, MeasureState state, bool isAlarm = false)
        {
            // Check decay params
            var sensor = AppManager.ListSensor.FirstOrDefault(s => s.SensorId == sensorId);

            //if (sensor == null || sensor.DecayUpperValue == 0 || sensor.DecayTimeCheck == 0 || sensor.DecayStopTime == 0) return;

            //if (isDecayRuning && state == MeasureState.Positive)
            //{
            //    ShowMsg(MessageBoxIcon.Warning, "Has one device is running. Please waiting!");
            //    return;
            //}

            // Excecute
            if (blockThreadProcesses != null)
            {
                foreach (var item in blockThreadProcesses)
                {
                    if (item.BlockData.BlockId == BlockActiceId)
                    {
                        processorCharge.Add(new DataCharge
                        {
                            Sensor      = sensor,
                            ChargeState = state,
                            BlockThread = item,
                            IsAlarm     = isAlarm
                        });
                        break;
                    }
                }
            }

            //var AppManager.ListSensor.FirstOrDefault(s => s.SensorId == sensorId);
            //if (s)
        }
        /// <summary>
        /// This method is used to add a message to outgoing messages queue.
        /// It is called by CommunicatorBase.
        /// </summary>
        /// <param name="message">Message to send</param>
        protected override void SendMessageInternal(MDSMessage message)
        {
            if (message.MessageTypeId != MDSMessageFactory.MessageTypeIdMDSDataTransferMessage)
            {
                return;
            }

            _outgoingMessageQueue.Add(message as MDSDataTransferMessage);
        }
Exemplo n.º 3
0
        /// <summary>
        /// When a communicator is received a message, this method handles event..
        /// </summary>
        /// <param name="sender">Creator of event</param>
        /// <param name="e">Event arguments</param>
        private void Communicator_MessageReceived(object sender, MessageReceivedFromCommunicatorEventArgs e)
        {
            //Update last incoming message time
            LastIncomingMessageTime = DateTime.Now;

            //Check if this is an ACK/Reject message for a data transfer message
            if ((e.Message.MessageTypeId == NGRIDMessageFactory.MessageTypeIdNGRIDOperationResultMessage) &&
                (!string.IsNullOrEmpty(e.Message.RepliedMessageId)))
            {
                ProcessOperationResultMessage(e);
                return;
            }

            //Check if this is an NGRIDChangeCommunicationWayMessage
            if (e.Message.MessageTypeId == NGRIDMessageFactory.MessageTypeIdNGRIDChangeCommunicationWayMessage)
            {
                ProcessChangeCommunicationWayMessage(e);
                return;
            }

            //Add message to incoming message queue to process as ordered
            _incomingMessageQueue.Add(e);
        }