Exemplo n.º 1
0
        public void cliente_servicio()
        {
            try
            {
                sincronico = true;
                AlarmasObj mensajeEnvioRecep = new AlarmasObj();
                this.comadoToATM.setPonerEnServicio();
                string datoEnvio     = this.comadoToATM.getTramaComandoTerminal();
                string datoRespuesta = "";
                datoIn("CONEXION NUEVA TERMINAL :" + terminal.codigo);
                enviarDato = true;
                while (sincronico)
                {
                    if (enviarDato)
                    {
                        clienteConectado = true;
                        datoEnvio        = comadoToATM.getTramaComandoTerminal();
                        envio_string(datoEnvio);
                        mensajeEnvioRecep = parseoAlrma.parseaTramaIngreso(datoEnvio.Substring(2, datoEnvio.Length - 2));
                        mensajeEnvioRecep.envio_recepcion = 0;//cero envio, uno recibo

                        terminalArchivo.escritura_archivo_string(">>>[" + datoEnvio.Length + "] : " + datoEnvio);
                        enviarDato = false;
                        datoIn("[" + terminal.codigo + "]:" + datoEnvio.Substring(2, datoEnvio.Length - 2));
                        conBdd.insertar_alarmas(mensajeEnvioRecep);
                        datoEnvio = "";
                    }
                    datoRespuesta = recepcion_de_datos();
                    if (!string.IsNullOrEmpty(datoRespuesta) && datoRespuesta.Length > 2)
                    {
                        terminalArchivo.escritura_archivo_string("<<<[" + datoRespuesta.Length + "] : " + datoRespuesta);
                        datoResp("[" + terminal.codigo + "]:" + datoRespuesta.Substring(2, datoRespuesta.Length - 2));
                        mensajeEnvioRecep = parseoAlrma.parseaTramaIngreso(datoRespuesta.Substring(2, datoRespuesta.Length - 2));
                        mensajeEnvioRecep.envio_recepcion = 1; //cero envio, uno recibo
                        /*Si al momento de inserta devuelve 1 se procede con el envio de la notificacion a los usuarios*/
                        string [] resultado = conBdd.insertar_alarmas(mensajeEnvioRecep);
                        string    enviarStr = resultado[1];
                        string    id_suceso = resultado[0];
                        int       enviar    = int.Parse(enviarStr);
                        if (mensajeEnvioRecep.descriptor != null)
                        {
                            if (mensajeEnvioRecep.descriptor.Equals("F"))
                            {
                                if (mensajeEnvioRecep.id_tipo_dispositivo.Equals("1"))
                                {
                                    List <MonitoreoDispositivos> mts = parseoAlrma.parseaTramaAlarmaDispositivo(mensajeEnvioRecep);
                                    foreach (MonitoreoDispositivos tmp in mts)
                                    {
                                        conBdd.insertar_actualizar_monitoreo_dispositivos(tmp);
                                    }
                                }
                            }
                        }
                        else if (mensajeEnvioRecep.id_tipo_dispositivo != null)
                        {
                            if (mensajeEnvioRecep.id_tipo_dispositivo.Equals("P"))
                            {
                                /*con estado 2 indica si entro o no a modo supervisor*/
                                if (mensajeEnvioRecep.estado_dispositivo.Equals("2"))
                                {
                                    terminal.modoSupervisor = mensajeEnvioRecep.error_severidad == "1";
                                    conBdd.actualizar_terminal(terminal);
                                }
                            }
                        }

                        if (enviar == 1)
                        {
                            mensajeEnvioRecep.id_alarma = int.Parse(id_suceso);
                            if (mensajeEnvioRecep.error_severidad == null)
                            {
                                mensajeEnvioRecep.error_severidad = "99";
                            }
                            DetalleDescripcionObj detalleDes = conBdd.obtener_detalle_por_alarma_terminal(mensajeEnvioRecep);
                            //string mensaje = conBdd.obtener_descripcion_error(int.Parse(mensajeEnvioRecep.error_severidad), mensajeEnvioRecep.id_tipo_dispositivo);
                            detalleDes = parseoAlrma.procesamientoDescripcion(detalleDes);
                            string mensaje = detalleDes.detalle_descripcion;
                            if (string.IsNullOrEmpty(mensaje))
                            {
                                mensaje = "Sin detalle, por favor consulte con el personal tecnico ";
                            }
                            List <UsuarioObj> sendUsuario = new List <UsuarioObj>();
                            sendUsuario = conBdd.obtener_usuario_por_terminal(terminal);
                            mensaje    += " Cajero :" + terminal.codigo;
                            notificacion.enviarNotificacionUsuario(sendUsuario, mensaje, id_suceso);
                        }
                        datoRespuesta = "";
                    }
                }
            }catch (SocketException ex)
            {
                error.escritura_archivo_string(ex.StackTrace);
                //mensaje_error_sistema(ex.Message, Color.Red);
                //mensaje_error_sistema(ex.StackTrace,Color.Red);
                sincronico        = false;
                clienteConectado  = false;
                terminal.conexion = false;
                conBdd.actualizar_terminal(terminal);
            }catch (ErrorConexionTerminal ex)
            {
                //mensaje_error_sistema(ex.Message, Color.Green);
                sincronico        = false;
                clienteConectado  = false;
                terminal.conexion = false;
                error.escritura_archivo_string(ex.Message);
                conBdd.actualizar_terminal(terminal);
            }
            catch (Exception ex)
            {
                error.escritura_archivo_string(ex.StackTrace);
                //mensaje_error_sistema(ex.Message, Color.Red);
                //mensaje_error_sistema(ex.StackTrace,Color.Red);
                sincronico        = false;
                clienteConectado  = false;
                terminal.conexion = false;
                conBdd.actualizar_terminal(terminal);
            }finally
            {
                cerrar_conexion();
            }
        }
Exemplo n.º 2
0
        public DetalleDescripcionObj procesamientoDescripcion(DetalleDescripcionObj detalle)
        {
            if (detalle.tipo_dispositivo.Equals("B"))
            {
                detalle.detalle_descripcion = "numero de secuencia de configuracion " + detalle.descripcion_mensaje;
            }
            else if (detalle.tipo_dispositivo.Equals("D"))
            {
                if (detalle.tipo_mensaje.Equals("0"))
                {
                    detalle.detalle_descripcion = "error de serveridad cambio de suministros ";
                }
                else if (detalle.tipo_mensaje.Equals("1"))
                {
                    detalle.detalle_descripcion = "Cliente no tomo la tarjeta en el tiempo determinado ";
                }
                else if (detalle.tipo_mensaje.Equals("2"))
                {
                    detalle.detalle_descripcion = "Mecanismo de ejeccion ha falla, revisar ";
                }
                else if (detalle.tipo_mensaje.Equals("3"))
                {
                    detalle.detalle_descripcion = "Mecanismo de actualizacion del track ha fallado ";
                }
                else if (detalle.tipo_mensaje.Equals("4"))
                {
                    detalle.detalle_descripcion = "Invalido track recibido por el central ";
                }
                else if (detalle.tipo_mensaje.Equals("7"))
                {
                    detalle.detalle_descripcion = "Error en lectura de track ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("E"))
            {
                if (detalle.tipo_mensaje.StartsWith("0"))
                {
                    detalle.detalle_descripcion = "Operacion exitosa pero ha ocurrido un error ";
                }
                else if (detalle.tipo_mensaje.StartsWith("1"))
                {
                    detalle.detalle_descripcion = "Billetes adicionaciones se ha dispensado ";
                }
                else if (detalle.tipo_mensaje.StartsWith("2"))
                {
                    detalle.detalle_descripcion = "No ha dispensado dinero ";
                }
                else if (detalle.tipo_mensaje.StartsWith("3"))
                {
                    detalle.detalle_descripcion = "Dinero dispensado desconocido, el cliente pudo tener acceso a cualquier valor ";
                }
                else if (detalle.tipo_mensaje.StartsWith("4"))
                {
                    detalle.detalle_descripcion = "Dinero no dispensado o tarjeta no ejectada ";
                }
                else if (detalle.tipo_mensaje.StartsWith("5"))
                {
                    detalle.detalle_descripcion = "Algún dinero ha sido retraido a la gaveta de rechazo ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
                if (detalle.tipo_mensaje.Length > 8)
                {
                    detalle.detalle_descripcion += "\nBilletes entregados ";
                    detalle.detalle_descripcion += "\nGabeta 1 :" + detalle.tipo_mensaje.Substring(1, 2);
                    detalle.detalle_descripcion += "\nGabeta 2 :" + detalle.tipo_mensaje.Substring(3, 2);
                    detalle.detalle_descripcion += "\nGabeta 3 :" + detalle.tipo_mensaje.Substring(5, 2);
                    detalle.detalle_descripcion += "\nGabeta 4 :" + detalle.tipo_mensaje.Substring(7, 2);
                }
            }
            else if (detalle.tipo_dispositivo.Equals("F"))
            {
                if (detalle.tipo_mensaje.Equals("0"))
                {
                    detalle.detalle_descripcion = "Operacion exitosa pero ha ocurrido un error ";
                }
                else if (detalle.tipo_mensaje.Equals("1"))
                {
                    detalle.detalle_descripcion = "Tiempo de espera ha caducado ";
                }
                else if (detalle.tipo_mensaje.Equals("2"))
                {
                    detalle.detalle_descripcion = "Falla para habilitar el mecanismo de deposito ";
                }
                else if (detalle.tipo_mensaje.Equals("3"))
                {
                    detalle.detalle_descripcion = "Deposito fallido, el cliente tiene acceso al dinero ";
                }
                else if (detalle.tipo_mensaje.Equals("4"))
                {
                    detalle.detalle_descripcion = "Deposito fallido, el cliente no tiene acceso al dinero ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("G"))
            {
                if (detalle.tipo_mensaje.Equals("0"))
                {
                    detalle.detalle_descripcion = "Impresion exitosa ";
                }
                else if (detalle.tipo_mensaje.Equals("1"))
                {
                    detalle.detalle_descripcion = "Impresion no exitosa completada ";
                }
                else if (detalle.tipo_mensaje.Equals("2"))
                {
                    detalle.detalle_descripcion = "Dispositivo no configurado ";
                }
                else if (detalle.tipo_mensaje.Equals("4"))
                {
                    detalle.detalle_descripcion = "Cancelacion presionada durante la impresion ";
                }
                else if (detalle.tipo_mensaje.Equals("5"))
                {
                    detalle.detalle_descripcion = "Recibo retraido ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("H"))
            {
                if (detalle.tipo_mensaje.Equals("0"))
                {
                    detalle.detalle_descripcion = "Impresion exitosa ";
                }
                else if (detalle.tipo_mensaje.Equals("1"))
                {
                    detalle.detalle_descripcion = "Impresion no exitosa completada ";
                }
                else if (detalle.tipo_mensaje.Equals("2"))
                {
                    detalle.detalle_descripcion = "Dispositivo no configurado ";
                }
                else if (detalle.tipo_mensaje.Equals("6"))
                {
                    detalle.detalle_descripcion = "Journal de respaldo activado ";
                }
                else if (detalle.tipo_mensaje.Equals("7"))
                {
                    detalle.detalle_descripcion = "Journal de respaldo y reimpresion finalizada ";
                }
                else if (detalle.tipo_mensaje.Equals("8"))
                {
                    detalle.detalle_descripcion = "Journal de respaldo y reimpresion iniciad ";
                }
                else if (detalle.tipo_mensaje.Equals("9"))
                {
                    detalle.detalle_descripcion = "Journal de respaldo detenido ";
                }
                else if (detalle.tipo_mensaje.Equals(":"))
                {
                    detalle.detalle_descripcion = "Journal de respaldo con error de seguridad ";
                }
                else if (detalle.tipo_mensaje.Equals(";"))
                {
                    detalle.detalle_descripcion = "Journal de respaldo y reimpresion detenida ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("L"))
            {
                if (detalle.tipo_mensaje.Equals("1"))
                {
                    detalle.detalle_descripcion = "Encriptor con error ";
                }
                else if (detalle.tipo_mensaje.Equals("2"))
                {
                    detalle.detalle_descripcion = "Encriptor no configurado ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("P"))
            {
                if (detalle.tipo_mensaje.Equals("1"))
                {
                    detalle.detalle_descripcion = "Cambio de modo supervisor ";
                }
                else
                {
                    detalle.detalle_descripcion = "No registrada";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("R"))
            {
                detalle.detalle_descripcion = "Presion de número";
            }
            else if (detalle.tipo_dispositivo.Equals("F1"))
            {
                //estados de dispositivos
                try
                {
                    detalle.detalle_descripcion  = "Impresora :" + estado_dispositivo(detalle.tipo_mensaje[6]);
                    detalle.detalle_descripcion += "\nEncriptora :" + estado_dispositivo(detalle.tipo_mensaje[11]);
                    detalle.detalle_descripcion += "\nGaveta 1 :" + estado_dispositivo(detalle.tipo_mensaje[15]);
                    detalle.detalle_descripcion += "\nGaveta 2 :" + estado_dispositivo(detalle.tipo_mensaje[16]);
                    detalle.detalle_descripcion += "\nGaveta 3 :" + estado_dispositivo(detalle.tipo_mensaje[17]);
                    detalle.detalle_descripcion += "\nGaveta 4 :" + estado_dispositivo(detalle.tipo_mensaje[18]);
                }
                catch (IndexOutOfRangeException e) {
                    detalle.detalle_descripcion = "Error al procesar";
                }
            }
            else if (detalle.tipo_dispositivo.Equals("F2"))
            {
                //contadores
                if (!string.IsNullOrEmpty(detalle.tipo_mensaje))
                {
                    int inicial = 12;

                    detalle.detalle_descripcion  = "# billetes en gavetas";
                    detalle.detalle_descripcion += "\nGaveta 1 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 2 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 3 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 4 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;

                    detalle.detalle_descripcion += "\n\n# billetes en rechazado";
                    detalle.detalle_descripcion += "\nGaveta 1 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 2 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 3 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 4 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;

                    detalle.detalle_descripcion += "\n\n# billetes dispensados";
                    detalle.detalle_descripcion += "\nGaveta 1 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 2 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 3 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 4 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;

                    detalle.detalle_descripcion += "\n\n# billetes entregados en la ultimatransaccion";
                    detalle.detalle_descripcion += "\nGaveta 1 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 2 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 3 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                    detalle.detalle_descripcion += "\nGaveta 4 :" + detalle.tipo_mensaje.Substring(inicial, 4);
                    inicial = inicial + 4;
                }
                else
                {
                    detalle.detalle_descripcion = "sin descripción";
                }
            }
            else
            {
                detalle.detalle_descripcion = "No existe descripción";
            }

            return(detalle);
        }