예제 #1
0
        /*Constructor para enviar los datos del servicio sin considerar el objeto richText Box */
        public ConexionTCP(TcpClient clie, ConfiguracionServicio serviceConf,AtmObj terminales,BddSQLServer conexion)
        {
            try
            {
                this.terminal = terminales;
                cliente = clie;
                stream = new NetworkStream(cliente.Client);
                stream.ReadTimeout = 10000;
                stream.WriteTimeout = 10000;
                terminalArchivo = new LecturaEscrituraArchivo();
                error = new LecturaEscrituraArchivo();

                terminalArchivo.archivo_guardar("MENSAGE_TERMINAL", terminal.codigo);//Almacena en la carpeta MENSAGE_TERMINAL y en la sub carpeta codigo terminal
                error.archivo_guardar("ERROR", terminal.codigo);
                //visor = new RichTextBox();
                configurarServicio = serviceConf;
                comadoToATM = new ComandoNdcTerminal();
                sincronico = true;
                enviarDato = false;

                error.escritura_archivo_string(configurarServicio.conexion +"\t"+ configurarServicio.pathLogServicio);
                //conBdd = new BddSQLServer(configurarServicio.conexion, configurarServicio.pathLogServicio);
                conBdd = conexion;
                verificacionConexion = new System.Timers.Timer();
                verificacionConexion.Elapsed += new System.Timers.ElapsedEventHandler(verificarConexion);
                verificacionConexion.Interval = segSondeo*1000;
                verificacionConexion.Enabled = true;
                verificacionConexion.Start();
                parseoAlrma = new ProcesamientoTrama(terminal);
                terminal.conexion = true;
                terminal.modoSupervisor = false;
                conBdd.actualizar_terminal(terminal);
                mt = new MonitoreoDispositivos();
                mt.id_atm = terminal.id_atm;
                mt.estado_gaveta1 = "0";
                mt.estado_gaveta2 = "0";
                mt.estado_gaveta3 = "0";
                mt.estado_gaveta4 = "0";
                mt.estado_gaveta5 = "0";
                mt.estado_impresora = "0";
                mt.estado_impresora_jrnl = "0";
                mt.estado_dispensador = "0";
                mt.estado_encriptora = "0";
                mt.estado_lectora = "0";
                mt.tipo_estado = "C";
                conBdd.insertar_actualizar_monitoreo_dispositivos(mt);// Como incia conexion se rocede a encerar
                mt.tipo_estado = "S";
                conBdd.insertar_actualizar_monitoreo_dispositivos(mt);// Como incia conexion se rocede a encerar
                string parametroEnvio = conBdd.obtenerParametro(3).valor;
                string parametroMsg = conBdd.obtenerParametro(6).valor;
                string parametroCorreo = conBdd.obtenerParametro(1).valor;
                string pathGuardado = conBdd.obtenerParametro(5).valor;
                notificacion = new NotificacionEnviar(parametroCorreo.Split(':'), parametroMsg.Split(':'), pathGuardado, parametroEnvio.Split(':'));
            }
            catch (Exception ex) {
                error.escritura_archivo_string(ex.Message);
                //mensaje_error_sistema(ex.Message,Color.Red);
                terminal.conexion = false;
                conBdd.actualizar_terminal(terminal);
            }
        }
예제 #2
0
 public List<DetalleDescripcionObj> obtener_detalle_alarma_terminal(AtmObj atm)
 {
     SqlCommand cmd = new SqlCommand("obtener_resumen_alertas_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@codigo_atm", atm.codigo);
     List<DetalleDescripcionObj> detalles = new List<DetalleDescripcionObj>();
     try
     {
         SqlDataAdapter da = new SqlDataAdapter(cmd);
         DataTable tb = new DataTable("detalles");
         da.Fill(tb);
         for (int i = 0; i < tb.Rows.Count; i++)
         {
             DetalleDescripcionObj detalle = new DetalleDescripcionObj();
             detalle.descripcion_mensaje = tb.Rows[i][0].ToString();
             //detalle.mensaje_ndc = tb.Rows[i][1].ToString();
             //detalle.mensaje_ndc = tb.Rows[i][1].ToString().Replace(char)28,(char));
             //detalle.mensaje_ndc = "";
             detalle.fecha_registro = DateTime.Parse(tb.Rows[i][2].ToString());
             detalle.tipo_estado = tb.Rows[i][3].ToString();
             detalle.tipo_mensaje = tb.Rows[i][4].ToString().Replace((char)0, (char)94).Replace((char)28, (char)127).Replace((char)29, (char)128);
             detalle.tipo_dispositivo = tb.Rows[i][5].ToString();
             ProcesamientoTrama pr = new ProcesamientoTrama(new AtmObj());
             detalles.Add(pr.procesamientoDescripcion(detalle));
         }
         return detalles;
     }
     catch (IndexOutOfRangeException ex)
     {
         logs.escritura_archivo_string(ex.Message +"\t" + ex.StackTrace);
         //logs.cerrar_archivo();
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (ArgumentNullException ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new ExpObtenerRegistro(MensajeSistema.reg_no_existe);
     }
     catch (Exception ex)
     {
         logs.escritura_archivo_string(ex.Message);
         //logs.cerrar_archivo();
         throw new Exception(MensajeSistema.reg_no_existe);
     }
 }