public override bool Equals(object obj) { bool b = true; if (obj != null && obj is CallCenterCall) { CallCenterCall ccc = obj as CallCenterCall; if (ccc.applicationData == this.applicationData && ccc.caller == this.caller) { if (ccc.callvariables != null && this.callvariables != null) { if (ccc.callvariables.Length == this.callvariables.Length) { for (int i = 0; i < ccc.callvariables.Length; i++) { if (ccc.callvariables[i] != this.callvariables[i]) { b = false; break; } } } else { b = false; } } } else { b = false; } } else { b = false; } return(b); }
public bool SetAgentLineControl(string extension, string agentid, AgentState state, CallCenterCall ccc) { bool success = false; try { if (Global.cacheMgr != null) { log.Debug("Adding or update agentlinecontrol: " + extension + state.ToString()); if (Global.cacheMgr.Contains(extension) && Global.cacheMgr.GetData(extension) is AgentLineControl) { AgentLineControl currentAgentLineControl = ((AgentLineControl)Global.cacheMgr.GetData(extension)); currentAgentLineControl.agentstate = state; currentAgentLineControl.callcentercall = ccc; Global.cacheMgr.Add(extension, currentAgentLineControl); } else { AgentLineControl alc = new AgentLineControl(); LineControl lc = ((LineControl)Global.cacheMgr.GetData(extension)); alc.agentid = agentid; alc.agentstate = state; alc.callcentercall = ccc; alc.directoryNumber = lc.directoryNumber; alc.doNotDisturb = lc.doNotDisturb; alc.forward = lc.forward; alc.lineControlConnection = lc.lineControlConnection; alc.mwiOn = lc.mwiOn; alc.status = lc.status; alc.monitored = lc.monitored; Global.cacheMgr.Add(extension, alc); } success = true; } return success; } catch (Exception e) { log.Error("Error while setting agentlinecontrol : " + e.Message); return success; } }