Exemple #1
0
        /// <summary>
        /// resets the Receipt Mode
        /// </summary>
        private void ResetReceiptModeCampaignIDToZero()
        {
            Agent     objAgent;
            AgentStat objAgentStat;
            Campaign  objCampaign;

            try
            {
                objCampaign  = (Campaign)Session["Campaign"];
                objAgentStat = (AgentStat)Session["AgentStat"];
                objAgent     = (Agent)Session["LoggedAgent"];
                if (objAgentStat != null)
                {
                    objAgentStat.ReceiptModeID = objAgent.ReceiptModeID = 0;
                }
                objAgent.CampaignID = 0;

                AgentService    objAgentService = new AgentService();
                CampaignService objCampService  = new CampaignService();

                XmlDocument xDocAgent     = new XmlDocument();
                XmlDocument xDocCampaign  = new XmlDocument();
                XmlDocument xDocAgentStat = new XmlDocument();
                if (objAgentStat != null)
                {
                    xDocAgentStat.LoadXml(Serialize.SerializeObject(objAgentStat, "AgentStat"));
                }
                xDocCampaign.LoadXml(Serialize.SerializeObject(objCampaign, "Campaign"));


                xDocAgent.LoadXml(Serialize.SerializeObject(objAgent, "Agent"));

                objAgent = (Agent)Serialize.DeserializeObject(
                    objAgentService.AgentActivityInsertUpdate(xDocAgent), "Agent");

                try
                {
                    if (objAgentStat != null)
                    {
                        objAgentStat = (AgentStat)Serialize.DeserializeObject(
                            objCampService.InsertUpdateAgentStat(xDocCampaign, xDocAgentStat), "AgentStat");
                        if (objAgentStat != null)
                        {
                            Session["AgentStat"] = objAgentStat;
                        }
                    }
                }
                catch { }
            }
            catch (Exception ex)
            {
                PageMessage = ex.Message;
            }
        }
Exemple #2
0
        /// <summary>
        /// Saves Agent Stats, Agent Activity, Log Off status
        /// </summary>
        /// <returns></returns>
        private void SaveLoginStatus()
        {
            Agent     objAgent;
            AgentStat objAgentStat;
            Campaign  objCampaign;

            /*if (lbxLoginStatus.SelectedValue == "Manual Dial")
             * {
             *  return;
             * }*/
            if (Session["Campaign"] != null && Session["AgentStat"] != null && Session["LoggedAgent"] != null)
            {
                objCampaign  = (Campaign)Session["Campaign"];
                objAgentStat = (AgentStat)Session["AgentStat"];
                objAgent     = (Agent)Session["LoggedAgent"];

                if (lbxLoginStatus.SelectedValue == "Receive Outbound Calls Only")
                {
                    objAgentStat.StatusID      = objAgent.AgentStatusID = (long)AgentLoginStatus.Ready;
                    objAgentStat.ReceiptModeID = objAgent.ReceiptModeID = (long)AgentCallReceiptMode.OutboundOnly;
                }
                if (lbxLoginStatus.SelectedValue == "Verification Only")
                {
                    objAgentStat.StatusID      = objAgent.AgentStatusID = (long)AgentLoginStatus.Ready;
                    objAgentStat.ReceiptModeID = objAgent.ReceiptModeID = (long)AgentCallReceiptMode.VerifyOnly;
                }
                if (lbxLoginStatus.SelectedValue == "Blended: Verification and Outbound Calls")
                {
                    objAgentStat.StatusID      = objAgent.AgentStatusID = (long)AgentLoginStatus.Ready;
                    objAgentStat.ReceiptModeID = objAgent.ReceiptModeID = (long)AgentCallReceiptMode.VerifyBlended;
                }
                if (lbxLoginStatus.SelectedValue == "Manual Dial")
                {
                    objAgentStat.StatusID      = objAgent.AgentStatusID = (long)AgentLoginStatus.Pause;
                    objAgentStat.ReceiptModeID = objAgent.ReceiptModeID = (long)AgentCallReceiptMode.ManualDial;
                }
                if (lbxLoginStatus.SelectedValue == "Log Off")
                {
                    objAgentStat.LogOffDate = DateTime.Now;
                    objAgentStat.LogOffTime = DateTime.Now;
                }

                AgentService    objAgentService = new AgentService();
                CampaignService objCampService  = new CampaignService();


                XmlDocument xDocAgent     = new XmlDocument();
                XmlDocument xDocCampaign  = new XmlDocument();
                XmlDocument xDocAgentStat = new XmlDocument();

                xDocAgentStat.LoadXml(Serialize.SerializeObject(objAgentStat, "AgentStat"));
                xDocCampaign.LoadXml(Serialize.SerializeObject(objCampaign, "Campaign"));

                try
                {
                    xDocAgent.LoadXml(Serialize.SerializeObject(objAgent, "Agent"));
                    if (lbxLoginStatus.SelectedValue == "Receive Outbound Calls Only" || lbxLoginStatus.SelectedValue == "Manual Dial" || lbxLoginStatus.SelectedValue == "Verification Only" || lbxLoginStatus.SelectedValue == "Blended: Verification and Outbound Calls")
                    {
                        objAgent = (Agent)Serialize.DeserializeObject(
                            objAgentService.AgentActivityInsertUpdate(xDocAgent), "Agent");

                        try
                        {
                            objAgentStat = (AgentStat)Serialize.DeserializeObject(
                                objCampService.InsertUpdateAgentStat(xDocCampaign, xDocAgentStat), "AgentStat");
                            if (objAgentStat != null)
                            {
                                Session["AgentStat"] = objAgentStat;
                            }
                        }
                        catch { }
                    }
                    else if (lbxLoginStatus.SelectedValue == "Log Off")
                    {
                        objAgentService.UpdateAgentLogOut(xDocAgent); //Sets LogoutTime to now for specific agent

                        try
                        {
                            objAgentStat = (AgentStat)Serialize.DeserializeObject
                                           (
                                objCampService.InsertUpdateAgentStat(xDocCampaign, xDocAgentStat),
                                "AgentStat"
                                           );
                        }
                        catch { }
                    }

                    string timestamp = "ts=" + DateTime.Now.Ticks.ToString();
                    if (lbxLoginStatus.SelectedValue == "Receive Outbound Calls Only" || lbxLoginStatus.SelectedValue == "Verification Only" || lbxLoginStatus.SelectedValue == "Blended: Verification and Outbound Calls")
                    {
                        ActivityLogger.WriteAgentEntry(objAgent, "Agent has chosen to recieve outbound calls only.");
                        Response.Redirect("~/agent/waitingforCall.aspx" + "?" + timestamp);
                    }
                    else if (lbxLoginStatus.SelectedValue == "Manual Dial")
                    {
                        ActivityLogger.WriteAgentEntry(objAgent, "Agent has chosen to manual dial.");
                        Response.Redirect("~/agent/ManualDial.aspx" + "?" + timestamp);
                    }
                    else if (lbxLoginStatus.SelectedValue == "Select Another Campaign")
                    {
                        ActivityLogger.WriteAgentEntry(objAgent, "Agent has chosen to select another campaign.");
                        Response.Redirect("~/agent/Campaigns.aspx");
                    }
                    else
                    {
                        ActivityLogger.WriteAgentEntry(objAgent, "Agent has chosen to log out.");
                        Session.Remove("LoggedAgent");
                        Response.Redirect("../Logout.aspx" + "?" + timestamp);
                    }
                }
                catch (Exception ex)
                {
                    PageMessage = ex.Message;
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// Saves agent campaignmap details:
        /// Save Agent Stat and Agent Activity if isLogOff is false,
        /// else Update Log out status
        /// </summary>
        /// <returns></returns>
        private bool SaveAgentActivity(bool isLogoff)
        {
            Agent objAgent;

            if (Session["LoggedAgent"] != null)
            {
                objAgent = (Agent)Session["LoggedAgent"];

                if (lbxCampaign.SelectedValue != "")
                {
                    objAgent.CampaignID = Convert.ToInt64(lbxCampaign.SelectedValue);
                }

                AgentService objAgentService = new AgentService();
                XmlDocument  xDocAgent       = new XmlDocument();

                try
                {
                    xDocAgent.LoadXml(Serialize.SerializeObject(objAgent, "Agent"));

                    if (!isLogoff)
                    {
                        string chosenCampaignName = "";
                        if (objAgent.CampaignID != 0)
                        {
                            /*if (Request.QueryString["CampaignID"] != null && Request.QueryString["CampaignID"].ToString() == lbxCampaign.SelectedValue)
                             * {
                             *  if (Session["AgentStat"] != null)
                             *      objAgentStat = (AgentStat)Session["AgentStat"];
                             * }*/



                            // Get selected campaign details and login in agent stat
                            CampaignService objCampService = new CampaignService();

                            Campaign objCampaign = (Campaign)Serialize.DeserializeObject(objCampService.GetCampaignByCampaignID(objAgent.CampaignID), "Campaign");
                            Session["Campaign"] = objCampaign;
                            AgentStat objAgentStat;
                            objAgentStat           = new AgentStat();
                            objAgentStat.AgentID   = objAgent.AgentID;
                            objAgentStat.StatusID  = objAgent.AgentStatusID;
                            objAgentStat.LoginDate = objAgent.LoginTime;
                            objAgentStat.LoginTime = objAgent.LoginTime;

                            chosenCampaignName = objCampaign.Description;

                            XmlDocument xDocAgentStat = new XmlDocument();
                            XmlDocument xDocCampaign  = new XmlDocument();
                            xDocAgentStat.LoadXml(Serialize.SerializeObject(objAgentStat, "AgentStat"));
                            xDocCampaign.LoadXml(Serialize.SerializeObject(objCampaign, "Campaign"));

                            objAgentStat         = (AgentStat)Serialize.DeserializeObject(objCampService.InsertUpdateAgentStat(xDocCampaign, xDocAgentStat), "AgentStat");
                            Session["AgentStat"] = objAgentStat;
                        }
                        // change the campaign
                        objAgent = (Agent)Serialize.DeserializeObject(
                            objAgentService.AgentActivityInsertUpdate(xDocAgent), "Agent");
                        ActivityLogger.WriteAgentEntry(objAgent, "Campaign {0} with ID {1} has been chosen.", chosenCampaignName, objAgent.CampaignID);
                    }
                    else
                    {
                        objAgentService.UpdateAgentLogOut(xDocAgent); //Sets LogoutTime to now for specific agent
                        //LogOffAgentStat();
                        Session.Remove("LoggedAgent");
                    }

                    return(true);
                }
                catch (Exception ex)
                {
                    PageMessage = ex.Message;
                }
            }
            return(false);
        }