//Funcion que envia la informacion con la lectura del chip al Autorizador void EnviarDatosChip(object Parametro) { DatosLector obj = (DatosLector)Parametro; byte[] DatosLeidos = obj.ArregloBytes; try { if (DatosLeidos.Length == 147) { ExtraerInformacionRecibidaDelDispositivoDTI(DatosLeidos); } else if (DatosLeidos.Length == 5) { ExtraerInformacionRecibidaDelDispositivoDTI(DatosLeidos); } else { throw new Exception("La lectura del chip no se hizo correctamente"); } } catch (Exception ex) { LogCategorias.Clear(); LogCategorias.Agregar("SeguimientoCodigoDTI"); LogPropiedades.Clear(); LogPropiedades.Agregar("Mensaje", ex.Message); POSstation.Fabrica.LogIt.Loguear("Error recuperando ROM chip", LogPropiedades, LogCategorias); } }
private void PuertoTerminal_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { string X2 = ""; byte[] ODatosChip; DatosLector OChipTemporal = new DatosLector(); System.Threading.Thread.Sleep(800); Longitud = PuertoTerminal.BytesToRead; ODatosChip = new byte[Longitud]; PuertoTerminal.Read(ODatosChip, 0, Longitud); PuertoTerminal.DiscardInBuffer(); PuertoTerminal.DiscardOutBuffer(); for (int i = 0; i < ODatosChip.Length; i++) { X2 += ODatosChip[i].ToString("X2"); } LogCategorias.Clear(); LogCategorias.Agregar("SeguimientoPuertoDTI"); LogPropiedades.Clear(); LogPropiedades.Agregar("Mensaje", "Byte recibidos datos recibidos del puerto " + Puerto + " Numero de Bytes: " + ODatosChip.Length.ToString()); LogPropiedades.Agregar("Fecha", System.DateTime.Now.ToString()); LogPropiedades.Agregar("Bytes Recibidos", X2); POSstation.Fabrica.LogIt.Loguear("Logueado PuertoTerminal_DataReceived DTI", LogPropiedades, LogCategorias); if (ODatosChip.Length == 5) { LogCategorias.Clear(); LogCategorias.Agregar("SeguimientoPuertoDTI"); LogPropiedades.Clear(); LogPropiedades.Agregar("Mensaje", "Desconexion" + Puerto + " Numero de Bytes: " + ODatosChip.Length.ToString()); LogPropiedades.Agregar("Fecha", System.DateTime.Now.ToString()); LogPropiedades.Agregar("Bytes Recibidos", X2); POSstation.Fabrica.LogIt.Loguear("Logueado PuertoTerminal_DataReceived DTI", LogPropiedades, LogCategorias); //OChipTemporal.ArregloBytes = ODatosChip; //System.Threading.ParameterizedThreadStart Parametro = new ParameterizedThreadStart(EnviarDatosChip); //System.Threading.Thread Hilo = new System.Threading.Thread(Parametro); //Hilo.Start(OChipTemporal); //Hilo.Join(); } else if (ODatosChip.Length == 147) { LogCategorias.Clear(); LogCategorias.Agregar("SeguimientoPuertoDTI"); LogPropiedades.Clear(); LogPropiedades.Agregar("Mensaje", "Lectura Correcta" + Puerto + " Numero de Bytes: " + ODatosChip.Length.ToString()); LogPropiedades.Agregar("Fecha", System.DateTime.Now.ToString()); LogPropiedades.Agregar("Bytes Recibidos", X2); POSstation.Fabrica.LogIt.Loguear("Logueado PuertoTerminal_DataReceived DTI", LogPropiedades, LogCategorias); //OChipTemporal.ArregloBytes = ODatosChip; //System.Threading.ParameterizedThreadStart Parametro = new ParameterizedThreadStart(EnviarDatosChip); //System.Threading.Thread Hilo = new System.Threading.Thread(Parametro); //Hilo.Start(OChipTemporal); //Hilo.Join(); } else { if (ODatosChip.Length >= 2) { LogCategorias.Clear(); LogCategorias.Agregar("SeguimientoPuertoDTI"); LogPropiedades.Clear(); LogPropiedades.Agregar("Mensaje", "Los bytes de la lectura del chip no esta completos Reintento"); LogPropiedades.Agregar("Fecha", System.DateTime.Now.ToString()); LogPropiedades.Agregar("Bytes Recibidos", X2); LogPropiedades.Agregar("Bytes Length", ODatosChip.Length.ToString()); POSstation.Fabrica.LogIt.Loguear("Logueado PuertoTerminal_DataReceived DTI", LogPropiedades, LogCategorias); Byte[] Lector = new Byte[5] { 0x49, 0x3F, ODatosChip[1], 0x15, 0x7E }; System.Threading.Thread.Sleep(1000); PuertoTerminal.Write(Lector, 0, Lector.Length); System.Threading.Thread.Sleep(1000); } } } catch (Exception ex) { LogCategorias.Clear(); LogCategorias.Agregar("SeguimientoCodigoDTI"); LogPropiedades.Clear(); LogPropiedades.Agregar("Mensaje", ex.Message); POSstation.Fabrica.LogIt.Loguear("Error recuperando ROM chip PuertoTerminal_DataReceived", LogPropiedades, LogCategorias); } }