protected Dictionary <string, string> asociaAgente(string numeroAgente, string numeroExtension,
                                                           string direccionIP)
        {
            Dictionary <string, string> respuesta = new Dictionary <string, string>();

            try
            {
                errMsg = "";

                // Se marca la operación solicitada
                logger.Trace(string.Format("asociarAgente agente:{0} extension:{1} ip:{2}", numeroAgente,
                                           numeroExtension, direccionIP));
                if (clienteHuawey.asociarAgente(numeroAgente, numeroExtension, "", direccionIP) != 0)
                {
                    // Se detecto un error en la operación
                    errMsg = "Error al intentar asociar el agente. " + clienteHuawey.errMsg;
                    logger.Error(errMsg);
                    respuesta.Add("errCode", "0040");
                    respuesta.Add("errMsg", errMsg);
                    return(respuesta);
                }

                // Se devuelve la respuesta a la operación
                respuesta.Add("errCode", "0000");
                respuesta.Add("errMsg", "OK");
                return(respuesta);
            }
            catch (Exception err)
            {
                // Se detecto un error en el procedimiento
                errMsg = "EXCEPCION: " + err.Message;
                logger.Error("Error en la operacion " + err.Message);
                respuesta.Add("errCode", "1002");
                respuesta.Add("errMsg", errMsg);
                return(respuesta);
            }
        }
Exemple #2
0
        private void OnButtonAsociar(object sender, EventArgs e)
        {
            try
            {
                // Se valida el status del cliente
                if (!cliente.statusAsociacion)
                {
                    OperacionActiva("Intentando asociar al agente.");
                    textIDAgente.ReadOnly  = true;
                    textExtension.ReadOnly = true;
                    AgregarMensajeBitacora(string.Format("Intentando asociar al agente {0} con la extensión {1}",
                                                         textIDAgente.Text, textExtension.Text));

                    // Se invoca en segundo plano la operación
                    new Thread(() =>
                    {
                        try {
                            logger.Trace("Invocacion en segundo plano de la asociacion agente. {0}-{1}",
                                         textIDAgente.Text, textExtension.Text);
                            if (cliente.asociarAgente(textIDAgente.Text, textExtension.Text, "", "") == 0)
                            {
                                logger.Trace("Se logro asociar al agente con la extensión.");
                                CierreOperacionActiva(CAMPOS_AGENTE_INACTIVOS | CAMPOS_TELEFONIA_ACTIVOS);
                            }
                            else
                            {
                                logger.Error("Error en la asociación del agente con la extensión. {0}",
                                             cliente.errMsg);
                                CierreOperacionActiva(CAMPOS_AGENTE_ACTIVOS | CAMPOS_TELEFONIA_INACTIVOS);
                                MessageBox.Show(string.Format("Error en la asociación del agente con la " +
                                                              "extensión. {0}", cliente.errMsg), "Asociar Agente",
                                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        catch (Exception ex)
                        {
                            // Se detecto un error en el procedimiento
                            logger.Error("Se detecto un error en la asociacion del agente segundo plano. {0}",
                                         ex.Message, ex);
                        }
                    }).Start();
                }
                else
                {
                    OperacionActiva("Intentando desasociar al agente.");
                    textIDAgente.ReadOnly  = true;
                    textExtension.ReadOnly = true;
                    AgregarMensajeBitacora(string.Format("Intentando desasociar al agente {0}", textIDAgente.Text));

                    // Se invoca en segundo plano la operación
                    new Thread(() =>
                    {
                        try
                        {
                            logger.Trace("Invocacion en segundo plano de la desasociacion agente. {0}", textIDAgente.Text);
                            if (cliente.desasociarAgente() == 0)
                            {
                                logger.Trace("Se logro desasociar al agente con la extensión.");
                                CierreOperacionActiva(CAMPOS_AGENTE_ACTIVOS | CAMPOS_TELEFONIA_INACTIVOS);
                            }
                            else
                            {
                                logger.Error("Error en la desasociación del agente con la extensión. {0}",
                                             cliente.errMsg);
                                CierreOperacionActiva(CAMPOS_AGENTE_ACTIVOS | CAMPOS_TELEFONIA_INACTIVOS);
                                MessageBox.Show(string.Format("Error en la desasociación del agente con la " +
                                                              "extensión. {0}", cliente.errMsg), "Desasociar Agente",
                                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        catch (Exception ex)
                        {
                            // Se detecto un error en el procedimiento
                            logger.Error("Se detecto un error en la desasociacion del agente segundo plano. {0}",
                                         ex.Message, ex);
                        }
                    }).Start();
                }
            }
            catch (Exception ex)
            {
                // Se detecto un error en el procedimiento
                logger.Error("Error en el intento de asociacion/desasociación al IPCC.{0}",
                             ex.Message, ex);
            }
        }