コード例 #1
0
        public ActionResult Login(Agent agent)
        {
            // Logic to login and make the agent available.


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


            string path = Server.MapPath("../JsonFilesTemporary/jsonAgentsAvailable.json");

            agent.AgentId = randomid;


            JsonFileManager.LoadJson(ref _agentes, path);

            _agentes.Add(new AgentAvailableModel {
                AgentId = agent.AgentId, AgentName = agent.AgentUser, Available = true
            });


            JsonFileManager.saveRequests(_agentes, path);


            return(RedirectToAction("index", "chat", new { idRequest = 0, Name = agent.AgentUser, idAgent = agent.AgentId }));
        }
コード例 #2
0
        public ActionResult Create(RequestViewModel model)
        {
            string path = Server.MapPath("../JsonFilesTemporary/jsonRequest.json");

            JsonFileManager.LoadJson(ref requests, path);



            // Simulo tener un  id de BD
            Random rnd      = new Random();
            var    randomid = rnd.Next(1, 100);

            model.IdRequestCustomer = randomid;
            model.idDocumentType    = Convert.ToInt32(model.SelectedDocumentType);
            model.Date          = DateTime.Now;
            model.DocumentTypes = null;

            // Save the request
            requests.Add(model);


            JsonFileManager.saveRequests(requests, path);



            return(RedirectToAction("index", "chat", new { idRequest = model.IdRequestCustomer, Name = model.CustomerName }));

            //return View(model);
        }
コード例 #3
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));
        }
コード例 #4
0
        public ActionResult BroadCastMessage(MessagesModel message)
        {
            bool result       = true;
            var  messagesPath = Server.MapPath("../JsonFilesTemporary/jsonMessages.json");

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

            message.IdMessage = randomid;
            try
            {
                JsonFileManager.LoadJson(ref _messages, messagesPath);
                _messages.Add(message);
                JsonFileManager.saveRequests(_messages, messagesPath);
            }
            catch (Exception)
            {
                result = false;
            }
            return(Json(new { result = result }, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public ActionResult GetMessages(int idConversation, string sender)
        {
            // variables to return;

            bool result = true;

            string messagesClient = "";


            List <MessagesModel> allMessages = new List <MessagesModel>();
            List <MessagesModel> newMessages = new List <MessagesModel>();

            var messagesPath = Server.MapPath("../JsonFilesTemporary/jsonMessages.json");

            JsonFileManager.LoadJson(ref allMessages, messagesPath);


            try
            {
                newMessages = (from message in allMessages
                               where message.IdConversation == idConversation &&
                               message.Read == false && message.Sender != sender
                               select message).ToList <MessagesModel>();


                allMessages.Where(m => m.IdConversation == idConversation && m.Read == false && m.Sender != sender).ToList <MessagesModel>().ForEach(mes => mes.Read = true);
                JsonFileManager.saveRequests(allMessages, messagesPath);
                messagesClient = JsonConvert.SerializeObject(newMessages);
            }
            catch (Exception)
            {
                result = false;
            }



            return(Json(new { isSuccess = result, newMessages = messagesClient }, JsonRequestBehavior.AllowGet));
        }