protected void btnSetAvailable_Click(object sender, EventArgs e) { if (agentId == 0) { string path = AppHelper.GetApplicationPath("~/dirAgent/profile.aspx"); Response.Redirect(path); } else { agentPool.SetAgentOn(agentId); enumAgentStatus agentStatus = updateAgentStatus(); if (agentStatus == enumAgentStatus.Busy) { //string pathRedirect = AppHelper.GetApplicationPath("~/dirAgent/myCalls.aspx"); //string path0 = AppHelper.GetApplicationPath("~/dirAgent/CallQueue.aspx"); //string path1 = AppHelper.GetApplicationPath("~/dirAgent/myCalls.aspx"); //string url = this.UcAppPage.Request.Url.ToString(); //if((!url.Contains(path0)) && (!url.Contains(path1))) // Response.Redirect(pathRedirect); string path = AppHelper.GetApplicationPath("~/dirAgent/myCalls.aspx"); string url = this.UcAppPage.Request.Url.ToString(); if (!url.Contains(path)) { Response.Redirect(path); } } } }
protected enumAgentStatus updateAgentStatus() { enumAgentStatus agentStatus = enumAgentStatus.NotDefined; if (this.active) { pnlNotRegistered.Visible = false; pnlIncomingCall.Visible = false; pnlUnavailable.Visible = false; pnlBusy.Visible = false; pnlConnected.Visible = false; pnlAvailable.Visible = false; btnRegister.Visible = false; btnTakeCall.Visible = false; btnSetAvailable.Visible = false; btnReset.Visible = false; btnUnRegister.Visible = false; if (agentId == 0) { // Not Defined agentStatus = enumAgentStatus.NotDefined; pnlNotRegistered.Visible = true; ltMessage.Text = "Not registered"; btnRegister.Visible = true; } else { PoolDS.PoolDSDataTable dt = BllProxyPool.SelectPoolAgent(agentId); if (dt.Rows.Count != 0) { if (dt[0].is_available) { if (dt[0].is_busy) { if (!dt[0].Isincident_idNull()) { // Incoming Call agentStatus = enumAgentStatus.IncomingCall; Int32 incidentId = dt[0].incident_id; IncidentDS.IncidentDSDataTable dtIncident = BllProxyIncident.SelectIncident(incidentId); string callName = ""; if (!dtIncident[0].Isfacility_nameNull()) { callName = dtIncident[0].facility_name; } else { if (!dtIncident[0].Iscontact_full_nameNull()) { callName = dtIncident[0].contact_full_name; } else { callName = "UNKNOWN"; } } // Incident Assigned pnlIncomingCall.Visible = true; ltMessage.Text = "You’ve got a call : " + callName; btnTakeCall.Visible = true; } else { // Busy agentStatus = enumAgentStatus.Busy; if (this.checkOnline()) { pnlConnected.Visible = true; pnlBusy.Visible = false; ltMessage.Text = "Online"; } else { pnlBusy.Visible = true; pnlConnected.Visible = false; ltMessage.Text = "Offline"; btnReset.Visible = true; } } } else { // Available agentStatus = enumAgentStatus.Available; pnlAvailable.Visible = true; ltMessage.Text = "Available"; btnUnRegister.Visible = true; } } else { // Off agentStatus = enumAgentStatus.Unavailable; if (this.checkOnline()) { pnlConnected.Visible = true; ltMessage.Text = "Online"; } else { pnlUnavailable.Visible = true; ltMessage.Text = "Unavailable"; btnSetAvailable.Visible = true; } } } else { // Not Defined agentStatus = enumAgentStatus.NotDefined; pnlNotRegistered.Visible = true; ltMessage.Text = "Not registered"; btnRegister.Visible = true; } } } return(agentStatus); }