public override void OnPOStatusChanged(POStatusChangedEventArgs e) { if (e.Status.HasValue && e.Status.Value == ePOStatus.OnHook && this.IsHolding == false) { Finalise(); } }
public override void OnPOStatusChanged(POStatusChangedEventArgs e) { if (this.ClientApp.Channels.PO.Id == e.Address) { ProcessMessageInController(e); if (e.Handled) { return; } this.ClientApp.Channels.PO.ApplyChanges(e); if (this.ClientApp.Channels.PO.Status == ePOStatus.OffHook && CanReceiveCall && !this.HasConnection) { var ringChannels = this.ClientApp.GetChannels(ch => ch.LineStatus == eLineStatus.Ring && IsFreeChannel(ch)).ToList(); if (ringChannels.Count == 1) { var ringUnit = this.ClientApp.Units.Items.FirstOrDefault(u => u.Status == ePhoneStatus.Ring && IsFreeUnit(u)); if (ringUnit != null) { ClientApp.Service.Request(eResourceType.UnitPhone, ringUnit.Id); } AddController(new InCallController(this.ClientApp, ringChannels[0], ringUnit)); return; } } } }
void Switch_OnPOStatusChanged(object sender, POStatusChangedEventArgs e) { ThreadPool.QueueUserWorkItem(new WaitCallback(obj => { var po = _resources.POes.FirstOrDefault(p => p.Id == e.Address); if (po == null || (po.Status == e.Status && po.Tone == e.Tone)) { return; } po.ApplyChanges(e); var disconnectedClients = new List <Client>(); foreach (var client in _resources.GetActiveClients()) { try { client.Callback.OnPOStatusChanged(e); } catch { disconnectedClients.Add(client); } } disconnectedClients.ForEach(OnClientDisconnected); })); }
void INovaAlertServiceCallback.OnPOStatusChanged(POStatusChangedEventArgs e) { if (this.MainController != null) { Application.Current.Dispatcher.Invoke(_priority, new Action(() => this.MainController.OnPOStatusChanged(e))); } }
public override void OnPOStatusChanged(POStatusChangedEventArgs e) { ProcessMessageInController(e); if (e.Handled) { return; } }
public override void OnPOStatusChanged(POStatusChangedEventArgs e) { if (e.Status.HasValue && e.Status.Value == ePOStatus.OnHook && this.IsHolding == false && this.ClientApp.Channels.PO.Status != e.Status.Value) { this.ClientApp.Channels.PO.ApplyChanges(e); Finalise(); e.Handled = true; } }
public override void OnPOStatusChanged(POStatusChangedEventArgs e) { if (this.ClientApp.Channels.PO.Id == e.Address) { base.OnPOStatusChanged(e); if (!e.Handled) { CheckOutgoingCall(); } } }
public void ApplyChanges(POStatusChangedEventArgs e) { if (e.Status.HasValue) { this.Status = e.Status.Value; } if (e.Address == this.Id && !string.IsNullOrEmpty(e.Tone)) { this.Tone = e.Tone; } }
protected override void OnLineStatusChanged(LineStatusMessageBase msg) { if (msg.Type == eLineStatusType.PO_Status || msg.Type == eLineStatusType.PO_Tone) { var e = new POStatusChangedEventArgs(msg.Address); if (msg.Type == eLineStatusType.PO_Status) { e.Status = (((POStatusMessage)msg).Status == eStatus.On) ? ePOStatus.OffHook : ePOStatus.OnHook; } else { e.Tone = ((NumberReceivedMessage)msg).Number; } if (this.OnPOStatusChanged != null) { OnPOStatusChanged(this, e); } } else { var e = new ChannelStatusChangedEventArgs(msg.Address); switch (msg.Type) { case eLineStatusType.Line: var lmsg = msg as LineStatusMessage; e.Status = lmsg.Status; break; case eLineStatusType.Revert: break; case eLineStatusType.Tone: case eLineStatusType.CallerId: var nmsg = msg as NumberReceivedMessage; if (msg.Type == eLineStatusType.Tone) { e.Tone = nmsg.Number; } else { e.CallerId = nmsg.Number; } break; } if (this.OnChannelStatusChanged != null) { OnChannelStatusChanged(this, e); } } }
public override void OnPOStatusChanged(POStatusChangedEventArgs e) { this.ClientApp.Channels.PO.ApplyChanges(e); e.Handled = true; if (!e.Status.HasValue) { return; } CreateMonitorConnection(this.ClientApp.Channels.PO.Status == ePOStatus.OffHook); if (e.Status.Value == ePOStatus.OnHook) { if (this.Issued) { Finalise(); } else { this.SelectedMember = null; } } }
public override void OnPOStatusChanged(POStatusChangedEventArgs e) { }
public virtual void OnPOStatusChanged(POStatusChangedEventArgs e) { }