Exemplo n.º 1
0
        public ActionResult getCustomer(int idAgent)
        {
            RequestAgentModel agentRequested  = new RequestAgentModel();
            RequestViewModel  customerRequest = new RequestViewModel();

            // conversation Id, this set of varibles are sent back to the client...
            int    requestAgent     = 0;
            string customerName     = "";
            bool   isAgentRequested = false;

            var requestPath       = Server.MapPath("../JsonFilesTemporary/jsonRequest.json");
            var requestAgentsPath = Server.MapPath("../JsonFilesTemporary/requestAgents.json");

            List <RequestViewModel>  requests      = new List <RequestViewModel>();
            List <RequestAgentModel> requestAgents = new List <RequestAgentModel>();

            JsonFileManager.LoadJson(ref requests, requestPath);
            JsonFileManager.LoadJson(ref requestAgents, requestAgentsPath);

            agentRequested = requestAgents.Where(r => r.idAgent == idAgent).FirstOrDefault();

            if (agentRequested != null)
            {
                isAgentRequested = true;

                requestAgent = agentRequested.idRequestAgent;

                customerRequest = requests.Where(r => r.IdRequestCustomer == agentRequested.idCustomerRequest).FirstOrDefault();

                customerName = customerRequest.CustomerName + " " + customerRequest.Email;
            }

            return(Json(new { isAgentRequested = isAgentRequested, requestAgent = requestAgent, customerName = customerName }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public ActionResult GetAvailableAgent(int idRequest)
        {
            bool isAgentFound = false;


            RequestAgentModel requestAgent = new RequestAgentModel();

            requestAgent.idRequestAgent = 0;

            AgentAvailableModel assignedAgent = null;
            var agentsAvailablePath           = Server.MapPath("../JsonFilesTemporary/jsonAgentsAvailable.json");
            var requestAgentsPath             = Server.MapPath("../JsonFilesTemporary/requestAgents.json");

            JsonFileManager.LoadJson(ref agentsAvailable, agentsAvailablePath);

            var items = agentsAvailable.Where(a => a.Available == true).Count();

            if (items > 0)
            {
                assignedAgent = agentsAvailable.Where(a => a.Available == true).First();

                isAgentFound = true;

                agentsAvailable.First(a => a.AgentId == assignedAgent.AgentId).Available = false;

                JsonFileManager.saveRequests(agentsAvailable, agentsAvailablePath);

                JsonFileManager.LoadJson(ref requestAgents, requestAgentsPath);


                Random rnd      = new Random();
                var    randomid = rnd.Next(1, 1000);


                requestAgent = new RequestAgentModel
                {
                    idRequestAgent    = randomid,
                    idAgent           = assignedAgent.AgentId,
                    idCustomerRequest = idRequest,
                    isFinished        = false
                };

                requestAgents.Add(requestAgent);

                JsonFileManager.saveRequests(requestAgents, requestAgentsPath);
            }

            return(Json(new { data = assignedAgent, result = isAgentFound, idRequestAgent = requestAgent.idRequestAgent }, JsonRequestBehavior.AllowGet));
        }