示例#1
0
        private void OnButtonSTActiva(object sender, EventArgs e)
        {
            try
            {
                logger.Trace("Se solicita el cambio de stats a activa.");

                // Se invoca en segundo plano la operación
                new Thread(() =>
                {
                    try
                    {
                        logger.Trace("Invocacion en segundo plano del cambio de status Activa.");
                        if (cliente.cambiarStatus("ACTIVO") == 0)
                        {
                            logger.Trace("Se logro cambiar el status del agente.");
                            CierreOperacionActiva(CAMPOS_AGENTE_INACTIVOS | CAMPOS_TELEFONIA_ACTIVOS);
                        }
                        else
                        {
                            logger.Error("Error en el cambio de status del agente. {0}",
                                         cliente.errMsg);
                            CierreOperacionActiva(CAMPOS_AGENTE_INACTIVOS | CAMPOS_TELEFONIA_ACTIVOS);
                            MessageBox.Show(string.Format("Error en el cambio del status del agente. {0}",
                                                          cliente.errMsg), "Cambio Estado Agente",
                                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    catch (Exception ex)
                    {
                        // Se detecto un error en el procedimiento
                        logger.Error("Se detecto un error en el cambio de status del en 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 cambiar el status de operación Activa  {0}",
                             ex.Message, ex);
            }
        }
        protected Dictionary <string, string> cambioEstadoAgente(string numeroAgente, string numeroExtension,
                                                                 string direccionIP, string disponibilidad)
        {
            Dictionary <string, string> respuesta = new Dictionary <string, string>();

            try
            {
                errMsg = "";

                // Se marca la operación solicitada
                logger.Trace(string.Format("cambioEstadoAgente agente:{0} extension:{1} ip:{2} disponibilidad:{3}",
                                           numeroAgente, numeroExtension, direccionIP, disponibilidad));
                if (clienteHuawey.cambiarStatus(disponibilidad) != 0)
                {
                    // Se detecto un error en la operación
                    errMsg = "Error al intentar cambiar el status del 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);
            }
        }