private void LoadAllCalls() { CallsList.Clear(); var callsItemDB = from VATRPCallEvent call in _historyService.AllCallsEvents orderby call.StartTime descending select call; foreach (var avCall in callsItemDB.Take(30)) { try { var dn = avCall.RemoteParty; var callItem = new RecentsCallItem() { CallerName = dn, CallTime = avCall.StartTime, Duration = avCall.Status == VATRPHistoryEvent.StatusType.Missed ? -1 : avCall.Duration, TargetNumber = avCall.RemoteParty, CallStatus = avCall.Status, ContactId = avCall.Contact != null ? avCall.Contact.DisplayName : string.Empty }; CallsList.Add(callItem); } catch (Exception ex) { LOG.Error("Exception on LoadAllCalls: " + ex.Message); } } }
public void RefreshList() { using ( var cmd = new MySqlCommand(@"SELECT UniqueId,CallDirection,CallerIDNum,CreateTime,AnswerTime,EndTime,BridgedTime,MonitorFile,TalkTime,WaitingTime FROM asterisk.CallsHistory C where CreateTime between @fromdate and @todate order by UniqueId", AppSettings.DbConnection)) { cmd.Parameters.AddWithValue("@fromdate", FromDate); cmd.Parameters.AddWithValue("@todate", ToDate); using (var dataReader = cmd.ExecuteReader()) { CallsList.Clear(); while (dataReader.Read()) { CallsList.Add(new CallsListDto { UniqueId = dataReader.GetNullableString("UniqueID"), CallerId = dataReader.GetNullableString("CallerIDNum"), Direction = dataReader.GetNullableString("CallDirection"), AnswerTime = dataReader.GetNullableDateTime("AnswerTime"), CreateTime = dataReader.GetNullableDateTime("CreateTime"), BridgedTime = dataReader.GetNullableDateTime("BridgedTime"), EndTime = dataReader.GetNullableDateTime("EndTime"), TalkTime = dataReader.GetNullableInt("TalkTime"), WaitingTime = dataReader.GetNullableInt("WaitingTime"), MonitorFileName = dataReader.GetNullableString("MonitorFile"), }); } dataReader.Close(); CallsCount = CallsList.Count; } } }
private void AddNewCallEvent(VATRPCallEvent callEvent) { try { var dn = callEvent.RemoteParty; var callItem = new RecentsCallItem() { CallerName = dn, CallTime = callEvent.StartTime, Duration = callEvent.Status == VATRPHistoryEvent.StatusType.Missed ? -1 : callEvent.Duration, TargetNumber = callEvent.RemoteParty, CallStatus = callEvent.Status, ContactId = callEvent.Contact != null ? callEvent.Contact.DisplayName : String.Empty }; if (callEvent.Status == VATRPHistoryEvent.StatusType.Missed) { MissedCallsList.Add(callItem); } CallsList.Add(callItem); } catch (Exception ex) { ServiceManager.LogError("AddNewCallEvent", ex); } }
public async Task <List <TType> > GetCallResults() { List <TType> TResultList = null; try { List <object> TGetResults = await API.MultiCallAsync(CallsList.ToArray()); TResultList = (from List <TType> TResults in TGetResults select TResults[0]).ToList(); } catch (OperationCanceledException) { } return(TResultList); }
private void OnHistoryCallEvent(object o, VATRPCallEventArgs e) { if (this.Dispatcher.Thread != System.Threading.Thread.CurrentThread) { this.Dispatcher.BeginInvoke((Action)(() => this.OnHistoryCallEvent(o, e))); return; } var callEvent = o as VATRPCallEvent; _populatingCalls = true; switch (e.historyEventType) { case HistoryEventTypes.Add: if (callEvent != null) { AddNewCallEvent(callEvent); } break; case HistoryEventTypes.Load: this.AllCallsInfoLabel.Content = "Loading..."; this.MissedCallsInfoLabel.Content = "Loading..."; lstCallsBox.Visibility = Visibility.Collapsed; lstMissedCallsBox.Visibility = Visibility.Collapsed; LoadAllCalls(); PopulateCalls(CallsTab.SelectedIndex == 0); _populatingCalls = false; break; case HistoryEventTypes.Reset: CallsList.Clear(); MissedCallsList.Clear(); this.lstCallsBox.Visibility = Visibility.Collapsed; this.lstMissedCallsBox.Visibility = Visibility.Collapsed; this.AllCallsInfoLabel.Content = "Entry list is empty"; this.MissedCallsInfoLabel.Content = "Entry list is empty"; break; case HistoryEventTypes.Delete: if (callEvent != null) { DeleteCallEvent(callEvent); } break; } }
public ActionResult Test(int accountid) { var client = new RestClient("https://api.calltrackingmetrics.com"); var req = new RestRequest("api/v1/accounts/" + accountid + "/calls", Method.GET); req.AddHeader("Authorization", api); IRestResponse response = client.Execute(req); var content = response.Content; CallsList m = JsonConvert.DeserializeObject <CallsList>(response.Content); return(View(m)); }
public void AddCall(string GetMethod, object Params = null) { CallsList.Add(new object[] { GetMethod, typeof(TType), Params, CT, typeof(List <TType>) }); }