Пример #1
0
        private CallLogRow _PullRowFromRecord(JsonElement row)
        {
            try
            {
                IDictionary <string, JsonElement> columns = row.ConvertColumnsToDictionary();
                IDictionary <string, JsonElement> events  = row.ConvertEventsToDictionary();
                IDictionary <string, JsonElement> tags    = row.ConvertTagsToDictionary();

                return(new CallLogRow
                {
                    Id = columns.GetValue("inboundCallId"),
                    CallerId = columns.GetValue("inboundPhoneNumber"),
                    DialedNumber = columns.GetValue("number"),
                    TargetNumber = events.GetTargetNumberFromEvents(),
                    CallLength = (int)columns.GetDecimalValue("callLengthInSeconds"),
                    ConnectedCallLength = (int)columns.GetDecimalValue("callConnectionLength"),
                    State = tags.GetValue("InboundNumber:Region"),
                    CallTime = DateTimeOffset.FromUnixTimeMilliseconds(columns.GetLongValue("dtStamp")),
                    IsLive = events.IsCallLive()
                });
            }
            catch (Exception ex)
            {
                return(new CallLogRow());
            }
        }