public CSTAConfirmationEvent Parse(IStructReader reader) { Logger logger = LogManager.GetLogger("TSAPIClient"); try { object result; logger.Info("CSTAQueryAgentStateConfParser.Parse: eventType=CSTA_QUERY_AGENT_STATE_CONF"); logger.Info("CSTAQueryAgentStateConfParser.Parse: try to read the CSTAQueryAgentStateConfEvent_t confirmation event..."); if (reader.TryReadStruct(typeof(CSTAQueryAgentStateConfEvent_t), out result)) { logger.Info("CSTAQueryAgentStateConfParser.Parse: successfully read the CSTAQueryAgentStateConfEvent_t confirmation event!"); CSTAQueryAgentStateConfEvent_t queryAgentState = (CSTAQueryAgentStateConfEvent_t)result; CSTAConfirmationEvent cstaConfirmation = new CSTAConfirmationEvent { u = { queryAgentState = queryAgentState } }; return(cstaConfirmation); } return(null); } catch (Exception err) { logger.Error(string.Format("Error in CSTAQueryAgentStateConfParser.Parse: {0}", err)); } return(null); }
public void Invoke(CSTAQueryAgentStateConfEvent_t csta, ATTQueryAgentStateConfEvent_t att) { if (_start) { _mode = att; _sate = csta.agentState; if (csta.agentState == AgentState_t.agNull) { LogoutInvoke(); } else { LoginInvoke(); switch (_mode.workMode) { case ATTWorkMode_t.wmManualIn: ReadyInvoke(); break; case ATTWorkMode_t.wmAuxWork: NotReadyInvoke(); break; case ATTWorkMode_t.wmAftcalWk: AftCallInvoke(); break; } } _start = false; } else { if (_sate != csta.agentState || _mode.workMode != att.workMode || _mode.reasonCode != att.reasonCode || _mode.talkState != att.talkState) { if (csta.agentState == AgentState_t.agNull && _sate != AgentState_t.agNull) { LogoutInvoke(); } if (csta.agentState != AgentState_t.agNull && _sate == AgentState_t.agNull) { LoginInvoke(); } _mode = att; _sate = csta.agentState; switch (_mode.workMode) { case ATTWorkMode_t.wmAutoIn: case ATTWorkMode_t.wmManualIn: ReadyInvoke(); break; case ATTWorkMode_t.wmAuxWork: NotReadyInvoke(); break; case ATTWorkMode_t.wmAftcalWk: AftCallInvoke(); break; } } } _timer.Change((long)Timeouts.Login, (long)Timeouts.Login); }
public QueryAgentStateEventReturn(CstaConfirmationEvent a1, ATTEvent_t a2) { Csta = a1.queryAgentState; Att = a2.queryAgentState; }