public void StopMonitoring()
 {
     if (ActivePort == null)
     {
         return;
     }
     _activePort.PortDataReceived -= ActivePort_PortDataReceived;
     ActivePort.StopListenning();
 }
        public void StartMonitoring(string port, string baudRate, IntPtr handle = default(IntPtr))
        {
            if (ActivePort == null)
            {
                return;
            }

            _activePort.PortDataReceived += ActivePort_PortDataReceived;
            ActivePort.StartListenning(port, baudRate);
            LogMessageValue?.Invoke("Monitoring Started Successfully!");
        }
        public void StartMonitoring(string port, string baudRate, IntPtr handle = default(IntPtr))
        {
            if (ActivePort == null)
            {
                return;
            }

            _activePort.PortDataReceived += ActivePort_PortDataReceived;
            LogObjectValue?.Invoke("ActivePort", ActivePort);
            LogStringValue?.Invoke("Port", port);
            LogStringValue?.Invoke("BaudRate", baudRate);
            _activePort.LogObjectValue += delegate(string title, object value) { LogObjectValue?.Invoke(title, value); };
            ActivePort.StartListenning(port, baudRate);
            LogMessageValue?.Invoke("Monitoring Started Successfully!");
        }
示例#4
0
        private void SetLinesState(TildaCIDHID.Public.CalllogDetail receivedData)
        {
            try
            {
                if (receivedData == null)
                {
                    return;
                }
                var lineNo = receivedData.LineNumber;
                if (lineNo == 0)
                {
                    return;
                }
                ILine line = null;
                if (GetLinesMap().ContainsKey(GetLineKey(lineNo)))
                {
                    line = GetLinesMap()[GetLineKey(lineNo)];
                }
                if (line == null)
                {
                    return;
                }
                lock (line)
                {
                    var status = FindCallStatus(receivedData);
                    LogStringValue?.Invoke("Status", status.ToString());
                    if (status > 0)
                    {
                        line.Status = status;
                    }
                    if (receivedData.sUpdateFileds.IndexOf("StatusRecord", StringComparison.Ordinal) != -1)
                    {
                        if (!receivedData.Status_Record)
                        {
                            ActivePort.StartRecordLine(line.LineNumber);
                        }
                        else
                        {
                            ActivePort.StopRecordLine(line.LineNumber);
                        }
                    }
                    if (receivedData.sUpdateFileds.IndexOf("Duration", StringComparison.Ordinal) != -1)
                    {
                        if (receivedData.Duration != -1)
                        {
                            SetDurationState(receivedData, line);
                        }
                    }

                    if (receivedData.sUpdateFileds.IndexOf("DialNumber", StringComparison.Ordinal) != -1)
                    {
                        if (!string.IsNullOrEmpty(receivedData.DialNumber))
                        {
                            SetDialedNumberState(receivedData, line);
                        }
                    }
                    if (receivedData.sUpdateFileds.IndexOf("Number-", StringComparison.Ordinal) != -1)
                    {
                        if (!string.IsNullOrEmpty(receivedData.Number))
                        {
                            var str = FindNumber(receivedData);
                            if (str != string.Empty)
                            {
                                line.Number = str;
                                LogStringValue?.Invoke("PhoneNumber", str);
                            }
                        }
                    }
                    if (receivedData.sUpdateFileds.IndexOf("Rings", StringComparison.Ordinal) != -1)
                    {
                        if (!string.IsNullOrEmpty(receivedData.Rings))
                        {
                            var num2 = FindRingCounts(receivedData);
                            if (num2 > 0)
                            {
                                line.RingCounts = num2;
                                LogIntValue?.Invoke("RingCount", num2);
                            }
                        }
                    }

                    line.LastUpdate = DateTime.UtcNow;
                }
            }
            catch (Exception ex)
            {
                LogInternalException?.Invoke("SetLinesState", ex);
            }
        }