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()); } }