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(); } }
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); }