private void SetDurationState(string receivedData, ILine line)
        {
            var durationSecs = FindDuration(receivedData);

            LogIntValue?.Invoke("Duration", durationSecs);
            if (durationSecs >= 0)
            {
                line.DurationSecs = durationSecs;
            }
        }
Esempio n. 2
0
        private void SetDurationState(TildaCIDHID.Public.CalllogDetail receivedData, ILine line)
        {
            var durationSecs = receivedData.Duration;

            LogIntValue?.Invoke("Duration", durationSecs);
            if (durationSecs >= 0)
            {
                line.DurationSecs = durationSecs;
            }
        }
 private void SetLinesState(string receivedData)
 {
     try
     {
         if (receivedData == null)
         {
             return;
         }
         var lineNo = FindLineNumber(receivedData);
         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;
             }
             SetDurationState(receivedData, line);
             SetDialedNumberState(receivedData, line);
             var str = FindNumber(receivedData);
             if (str != string.Empty)
             {
                 line.Number = str;
                 LogStringValue?.Invoke("PhoneNumber", str);
             }
             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);
     }
 }
 private int FindLineNumber(string strCallLog)
 {
     try
     {
         for (var i = 1; i <= LinesCount; i++)
         {
             if (strCallLog.IndexOf(GetLineKey(i), StringComparison.Ordinal) != -1)
             {
                 LogIntValue?.Invoke("LineNumber", i);
                 return(i);
             }
         }
     }
     catch (Exception ex)
     {
         LogInternalException?.Invoke("FindLineNumber", ex);
     }
     return(0);
 }
Esempio n. 5
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);
            }
        }