コード例 #1
0
ファイル: frmLog.cs プロジェクト: jbaglione/ShamanPbxService
        private void ReadNoscoRings()
        {
            try
            {
                string result;
                using (WebClient client = new WebClient())
                {
                    result = client.DownloadString(ConfigurationManager.AppSettings["urlNosco"]);
                }

                if (result != "")
                {
                    conUsuariosAgentes objAgenteUsuario = new conUsuariosAgentes();
                    conAgentesRing     objRing          = new conAgentesRing();

                    string[] vRegs = result.Split(Environment.NewLine.ToCharArray());
                    string   msj;
                    if (vRegs.Length > 0)
                    {
                        for (int i = 0; i < vRegs.Length; i++)
                        {
                            string[] vCall = vRegs[i].Split(';');

                            if (vCall.Length > 1)
                            {
                                if ((vCall[3] == "41") || (vCall[3] == "50"))
                                {
                                    if (!objRing.Abrir(objRing.GetIDByAgenteId(vCall[1]).ToString()))
                                    {
                                        objRing.AgenteId = vCall[1];
                                    }
                                    objRing.ANI         = vCall[5];
                                    objRing.Campania    = vCall[4];
                                    objRing.flgAtendido = 0;
                                    string usuarioId = objAgenteUsuario.GetUsuarioByAgenteId(objRing.AgenteId).ToString();
                                    objRing.UsuarioId.SetObjectId(usuarioId);
                                    objRing.GrabacionId = vCall[6];

                                    msj = string.Format("Ring listo para guardar. AgenteId={0},ANI={1},Campania={2},flgAtendido={3},UsuarioId={4},GrabacionId={5},)",
                                                        objRing.AgenteId, objRing.ANI, objRing.Campania, 0, usuarioId, objRing.GrabacionId);
                                    addLog(true, "ReadNoscoRings", msj);

                                    if (objRing.Salvar(objRing) == true)
                                    {
                                        addLog(true, "ReadNoscoRings", "Ring Agente " + objRing.AgenteId);
                                    }
                                    else
                                    {
                                        addLog(false, "ReadNoscoRings", "Al grabar Ring Agente " + objRing.AgenteId + "Error: " + objRing.MyLastExec.ErrorDescription);
                                    }
                                }
                                else
                                {
                                    msj = string.Format("Agente {0} no estaba en estado ring (estado: {1})", vCall[1], vCall[3]);
                                    //addLog(false, "ReadNoscoRings", msj);
                                }
                            }
                        }
                    }
                    else
                    {
                        addLog(true, "ReadNoscoRings", "No hay llamadas entrantes");
                    }

                    objRing = null;
                }
            }

            catch (Exception ex)
            {
                addLog(false, "ReadNoscoRings", ex.Message);
            }
        }
コード例 #2
0
ファイル: frmLog.cs プロジェクト: jbaglione/ShamanPbxService
        void ReadCyTRings(ref enEvtCommand Evt, ref int CodTerm)
        {
            try
            {
                string nIterno = "";
                string vAge    = "";
                string vAni    = "";
                string vDni    = "";
                string vCid    = "";
                string vQue    = "";
                string vTid    = "";

                if (objCYT.GetKeyValue("AEX", ref nIterno) == 0)
                {
                    if (Evt == enEvtCommand.cyt_COM_UDP_INBOUND_CALL)
                    {
                        addLog(true, "ReadCyTRings", "Ring capturado");

                        objCYT.GetKeyValueCTI(nIterno, "AID", ref vAge);
                        objCYT.GetKeyValueCTI(nIterno, "DNS", ref vDni);
                        objCYT.GetKeyValueCTI(nIterno, "ANI", ref vAni);
                        objCYT.GetKeyValueCTI(nIterno, "CID", ref vCid);
                        objCYT.GetKeyValueCTI(nIterno, "QUE", ref vQue);
                        objCYT.GetKeyValueCTI(nIterno, "TID", ref vTid);

                        if (ConfigurationManager.AppSettings["mode"] == "test")
                        {
                            addLog(true, "ReadCyTRings", "Valores: ");
                            addLog(true, "ReadCyTRings", "AEX" + nIterno);
                            addLog(true, "ReadCyTRings", "AID" + vAge);
                            addLog(true, "ReadCyTRings", "DNS" + vDni);
                            addLog(true, "ReadCyTRings", "ANI" + vAni);
                            addLog(true, "ReadCyTRings", "CID" + vCid);
                            addLog(true, "ReadCyTRings", "QUE" + vQue);
                            addLog(true, "ReadCyTRings", "TID" + vTid);
                            //string pAge
                            //string pTelDns
                            //string pNomCam
                            //string pTelAni
                            //int pNroInt
                            //string pAchGrb
                            //int pTar = 0
                        }
                        else if (ConfigurationManager.AppSettings["databaseType"] == "cache")
                        {
                            EmergencyC.ScreenPopUpRing objScreenPopUpRing = new EmergencyC.ScreenPopUpRing(GetConnectionStringCache());

                            int vTidInt = 0;
                            int.TryParse(vTid, out vTidInt);

                            objScreenPopUpRing.SetRing(vAge, vDni, "", vAni, Convert.ToInt32(nIterno), vCid, vTidInt);
                        }
                        else
                        {
                            conAgentesRing     objRing          = new conAgentesRing();
                            conUsuariosAgentes objAgenteUsuario = new conUsuariosAgentes();

                            if (!objRing.Abrir(objRing.GetIDByAgenteId(vAge).ToString()))
                            {
                                objRing.AgenteId = vAge;
                            }

                            objRing.ANI         = vAni;
                            objRing.Campania    = vQue;
                            objRing.flgAtendido = 0;
                            objRing.UsuarioId.SetObjectId(objAgenteUsuario.GetUsuarioByAgenteId(objRing.AgenteId).ToString());
                            objRing.GrabacionId = vCid;

                            addLog(true, "ReadCyTRings", "Ring listo para guardar.");

                            if (objRing.Salvar(objRing) == true)
                            {
                                addLog(true, "ReadCyTRings", "Ring Agente " + objRing.AgenteId);
                            }
                            else
                            {
                                addLog(false, "ReadCyTRings", string.Format("Al grabar Ring Agente {0} - Error: {1}", vAge, objRing.MyLastExec.ErrorDescription));
                            }
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                addLog(false, "ReadNoscoRings", ex.Message);
            }
        }
コード例 #3
0
ファイル: frmLog.cs プロジェクト: jbaglione/ShamanPbxService
        private void ReadMySqlRings()
        {
            string connetionString = ConfigurationManager.AppSettings["MySqlConnetionString"];

            try
            {
                using (MySqlConnection cnn = new MySqlConnection(connetionString))
                {
                    using (MySqlCommand cmd = cnn.CreateCommand())
                    {
                        cnn.Open();

                        cmd.CommandText = "SELECT datetime, cid, cu, agente FROM agentes_estadoreal " +
                                          "where estado = 'ringing'";

                        using (MySqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                        {
                            DataTable dt = new DataTable();
                            //dt = CreateFakeDT();
                            dt.Load(rdr);

                            if (dt.Rows.Count > 0)
                            {
                                foreach (DataRow row in dt.Rows)
                                {
                                    conUsuariosAgentes objAgenteUsuario = new conUsuariosAgentes();
                                    conAgentesRing     objRing          = new conAgentesRing();

                                    if (!objRing.Abrir(objRing.GetIDByAgenteId(row["agente"].ToString()).ToString()))
                                    {
                                        objRing.AgenteId = row["agente"].ToString();
                                    }

                                    objRing.ANI         = row["cid"].ToString();
                                    objRing.Campania    = "GRUPO EMERGER";//row["dst"].ToString();
                                    objRing.flgAtendido = 0;
                                    string idUsuario = objAgenteUsuario.GetUsuarioByAgenteId(objRing.AgenteId).ToString();
                                    objRing.UsuarioId.SetObjectId(idUsuario);
                                    objRing.GrabacionId = row["cu"].ToString();

                                    if (objRing.Salvar(objRing))
                                    {
                                        addLog(true, "ReadMySqlRings", "Ring Agente " + objRing.AgenteId);
                                    }
                                    else
                                    {
                                        addLog(false, "ReadMySqlRings", "Al grabar Ring Agente " + objRing.AgenteId);
                                    }
                                }
                            }
                            else
                            {
                                addLog(false, "ReadMySqlRings", "No hay llamadas entrantes");
                            }
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                addLog(false, "ReadMySqlRings", ex.Message);
            }
        }