public static CallAttachedDataChanged GetInstance() { if (userEventObject == null) { userEventObject = new CallAttachedDataChanged(); } return(userEventObject); }
public void UpdateOnDispositionCodeChange(IMessage message, string callDuration) { try { this._logger.Info("UpdateOnDispositionCodeChange: Event Name " + message.ToString()); switch (message.Id) { case EventAttachedDataChanged.MessageId: EventAttachedDataChanged attachedDataChanged = (EventAttachedDataChanged)message; if (Settings.SFDCOptions.CanUseGenesysCallDuration && callDuration != null) { _callDuration = callDuration; } else if (_callDurationData.ContainsKey(attachedDataChanged.ConnID.ToString())) { TimeSpan ts = System.DateTime.Now.Subtract(_callDurationData[attachedDataChanged.ConnID.ToString()]); _callDuration = ts.Hours + " Hr " + ts.Minutes + " Mins " + ts.Seconds + " Secs"; } else { this._logger.Info("UpdateOnDispositionCodeChange: Call Duration data is not found in Collection"); _callDuration = "0 Hr 0 Mins 0 Secs"; } if (attachedDataChanged.CallType == CallType.Inbound) { if (this._consultConnId == attachedDataChanged.ConnID.ToString()) { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.ConsultVoiceReceived, _callDuration); } else { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.InboundVoice, _callDuration); } } else if ((attachedDataChanged.CallType == CallType.Outbound) || (attachedDataChanged.CallType == CallType.Unknown)) { if (this._consultConnId == attachedDataChanged.ConnID.ToString()) { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.ConsultVoiceReceived, _callDuration); } else { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.OutboundVoiceSuccess, _callDuration); } } else if (attachedDataChanged.CallType == CallType.Consult) { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.ConsultVoiceReceived, _callDuration); } break; #region EventReleased case EventReleased.MessageId: EventReleased released = (EventReleased)message; if (Settings.SFDCOptions.CanUseGenesysCallDuration && callDuration != null) { _callDuration = callDuration; } else if (FinishedCallDuration.ContainsKey(released.ConnID.ToString())) { _callDuration = FinishedCallDuration[released.ConnID.ToString()]; } else if (_callDurationData.ContainsKey(released.ConnID.ToString())) { TimeSpan ts = System.DateTime.Now.Subtract(_callDurationData[released.ConnID.ToString()]); _callDuration = ts.Hours + " Hr " + ts.Minutes + " Mins " + ts.Seconds + " Secs"; this._logger.Error("UpdateOnDispositionCodeChange: call duration not found in FinishedCallDuration collection for the connId :" + released.ConnID.ToString()); if (!FinishedCallDuration.ContainsKey(released.ConnID.ToString())) { FinishedCallDuration.Add(released.ConnID.ToString(), _callDuration); } } else { this._logger.Error("UpdateOnDispositionCodeChange: call duration not found in both call data collection for the connId :" + released.ConnID.ToString()); _callDuration = "0 Hr 0 Mins 0 Secs"; } if (released.CallType == CallType.Inbound) { if (this._consultConnId == released.ConnID.ToString()) { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.ConsultVoiceReceived, _callDuration); } else { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.InboundVoice, _callDuration); } } else if ((released.CallType == CallType.Outbound) || (released.CallType == CallType.Unknown)) { if (this._consultConnId == released.ConnID.ToString()) { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.ConsultVoiceReceived, _callDuration); } else { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.OutboundVoiceSuccess, _callDuration); } } else if (released.CallType == CallType.Consult) { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.ConsultVoiceReceived, _callDuration); } break; #endregion EventReleased default: break; } } catch (Exception generalException) { this._logger.Error("UpdateOnDispositionCodeChange: Error Occurred : " + generalException.ToString()); } }
public void UpdateActivityForReleasedEvent(IMessage message) { try { this.logger.Info("UpdateActivityForReleasedEvent : Event Name " + message.ToString()); switch (message.Id) { case EventAttachedDataChanged.MessageId: EventAttachedDataChanged attachedDataChanged = (EventAttachedDataChanged)message; if (CallDurationData.ContainsKey(attachedDataChanged.ConnID.ToString())) { TimeSpan ts = System.DateTime.Now.Subtract(CallDurationData[attachedDataChanged.ConnID.ToString()]); callDuration = ts.Hours + "Hr " + ts.Minutes + " mins " + ts.Seconds + "secs"; } if (attachedDataChanged.CallType == CallType.Inbound) { if (this.consultConnId == attachedDataChanged.ConnID.ToString()) { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.ConsultReceived, callDuration); } else { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.Inbound, callDuration); } } else if ((attachedDataChanged.CallType == CallType.Outbound) || (attachedDataChanged.CallType == CallType.Unknown)) { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.OutboundSuccess, callDuration); } else if (attachedDataChanged.CallType == CallType.Consult) { CallAttachedDataChanged.GetInstance().UpdateRecords(attachedDataChanged, SFDCCallType.ConsultSuccess, callDuration); } break; #region EventReleased case EventReleased.MessageId: EventReleased released = (EventReleased)message; if (FinishedCallDuration.ContainsKey(released.ConnID.ToString())) { callDuration = FinishedCallDuration[released.ConnID.ToString()]; } else { callDuration = string.Empty; } if (released.CallType == CallType.Inbound) { if (this.consultConnId == released.ConnID.ToString()) { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.ConsultReceived, callDuration); } else { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.Inbound, callDuration); } } else if ((released.CallType == CallType.Outbound) || (released.CallType == CallType.Unknown)) { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.OutboundSuccess, callDuration); } else if (released.CallType == CallType.Consult) { CallReleased.GetInstance().UpdateRecords(released, SFDCCallType.ConsultSuccess, callDuration); } break; #endregion default: break; } } catch (Exception generalException) { this.logger.Error("UpdateActivityForReleasedEvent : Error Occurred : " + generalException.ToString()); } }