private void AssignPreAgentStatus(EventRegistered eReg) { if (eReg != null && eReg.Extensions.ContainsKey("AgentStatus")) { int state = Convert.ToInt32(eReg.Extensions["AgentStatus"]); if (state > 0) { Settings.GetInstance().ISAlreadyLogin = true; } else { Settings.GetInstance().ISAlreadyLogin = false; } } }
private void AssignPreCallStatus(EventRegistered eReg) { if (eReg != null && eReg.Extensions.Contains("status")) { int status = Convert.ToInt32(eReg.Extensions["status"]); if (status == 1) { if (eReg.Extensions.ContainsKey("conn-1")) { Settings.GetInstance().ConnectionID = eReg.Extensions["conn-1"].ToString(); } if (eReg.Extensions.ContainsKey("ps-1")) { Settings.GetInstance().PartyState = eReg.Extensions["ps-1"].ToString(); } } } }
public static void RegisterEvent(BackstageEventBase ev) { System.Diagnostics.Debug.WriteLine("EVENT: " + ev.Title + " - " + ev.Detail); EventRegistered.SafeInvoke(ev); var tev = ev as TwitterEventBase; if (tev == null) { return; } lock (_twitterEvents.SyncRoot) { _twitterEvents.Insert(0, tev); if (_twitterEvents.Count > TwitterEventMaxHoldCount) { _twitterEvents.RemoveAt(_twitterEvents.Count - 1); } } }
public void RegisterEvents(IEnumerable <ICombatEvent> events) { Events = events; EventRegistered?.Invoke(this, new EventArgs()); }
public OutputValues Login(string place, string userName, string workMode, string queue, string agentLoginId, string agentPassword) { logger.Debug("SoftPhone Login:"******"*********************************************"); logger.Debug("Place: " + place + Environment.NewLine + "UserName: "******"WorkMode: " + workMode + Environment.NewLine + "Queue: " + queue + Environment.NewLine + "AgentLoginId: " + agentLoginId); logger.Debug("*********************************************"); var output = new OutputValues(); //Input Validation CheckException.CheckLoginValues(place, userName); //Authenticate User Settings.GetInstance().QueueName = queue; CheckException.CheckDN(Settings.GetInstance().ACDPosition, Settings.GetInstance().ExtensionDN, Settings.GetInstance().PlaceName); EventRegistered evenReg = null; string fullName = ""; if (Settings.GetInstance().ACDPosition == Settings.GetInstance().ExtensionDN) { var message = RegisterDNRequest(Settings.GetInstance().ExtensionDN); if (message != null) { switch (message.Id) { case EventRegistered.MessageId: evenReg = message as EventRegistered; string AID = string.IsNullOrEmpty(evenReg.AgentID) ? "" : evenReg.AgentID; if (CheckPlcaeTaken(AID, out fullName)) { if (Settings.GetInstance().ACDPosition == Settings.GetInstance().ExtensionDN) { Pointel.Softphone.Voice.Core.Request.RequestUnRegisterPlace.UnRegisterDN(Settings.GetInstance().ExtensionDN); } else { Pointel.Softphone.Voice.Core.Request.RequestUnRegisterPlace.UnRegisterDN(Settings.GetInstance().ACDPosition); Pointel.Softphone.Voice.Core.Request.RequestUnRegisterPlace.UnRegisterDN(Settings.GetInstance().ExtensionDN); } output.MessageCode = "2004"; output.Message = "Place is already taken by " + fullName + "."; return(output); } AssignPreAgentStatus(evenReg); AssignPreCallStatus(evenReg); Settings.GetInstance().IsDNRegistered = true; break; case EventError.MessageId: Settings.GetInstance().IsDNRegistered = false; break; } } Register(Settings.GetInstance().ExtensionDN); } else { var message = RegisterDNRequest(Settings.GetInstance().ACDPosition); if (message != null) { switch (message.Id) { case EventRegistered.MessageId: evenReg = message as EventRegistered; string AID = string.IsNullOrEmpty(evenReg.AgentID) ? "" : evenReg.AgentID; if (CheckPlcaeTaken(AID, out fullName)) { if (Settings.GetInstance().ACDPosition == Settings.GetInstance().ExtensionDN) { Pointel.Softphone.Voice.Core.Request.RequestUnRegisterPlace.UnRegisterDN(Settings.GetInstance().ExtensionDN); } else { Pointel.Softphone.Voice.Core.Request.RequestUnRegisterPlace.UnRegisterDN(Settings.GetInstance().ACDPosition); //Pointel.Softphone.Voice.Core.Request.RequestUnRegisterPlace.UnRegisterDN(Settings.GetInstance().ExtensionDN); } output.MessageCode = "2004"; output.Message = "Place is already taken by " + fullName + "."; return(output); } AssignPreAgentStatus(evenReg); Settings.GetInstance().IsDNRegistered = true; break; case EventError.MessageId: Settings.GetInstance().IsDNRegistered = false; break; } } IMessage message1 = RegisterDNRequest(Settings.GetInstance().ExtensionDN); if (message1 != null) { switch (message1.Id) { case EventRegistered.MessageId: evenReg = message as EventRegistered; AssignPreCallStatus(evenReg); Settings.GetInstance().IsDNRegistered = true; break; case EventError.MessageId: Settings.GetInstance().IsDNRegistered = false; break; } } Register(Settings.GetInstance().ACDPosition); Register(Settings.GetInstance().ExtensionDN); } if (!Settings.GetInstance().ISAlreadyLogin&& Settings.GetInstance().IsDNRegistered) { output = RequestLogin.LoginAgent(workMode, queue, agentLoginId, agentPassword); } else if (Settings.GetInstance().ISAlreadyLogin) { output.MessageCode = "201"; output.Message = "Agent Login Success"; } if (output.MessageCode == "200") { output.Message = "Agent Login Success"; } return(output); }