public void EstableHoraServidor() { ManejoArchivo archivo = new ManejoArchivo(); /* ASIGNACION DE VALORES A PARAMETROS MEDIANTE LA FUNCION LecturaParametros */ ServidorBD = archivo.Datos[4].ToString(); NombreBD = archivo.Datos[5].ToString(); Usuario = archivo.Datos[6].ToString(); Password = archivo.Datos[7].ToString(); /* SE ESPECIFICA AL SERVIDOR AL CUAL SE VA A CONECTAR EL CLIENTE PARA OBTENER LA HORA Y LA FECHA */ SqlConnection conn = new SqlConnection("data source =" + ServidorBD + "; initial catalog =" + NombreBD + "; user id =" + Usuario + "; password ="******"SELECT GETDATE()as FechaActual, datepart(dw,getdate()) - 1 as DiaSemana"; lectura = Fecha.ExecuteReader(); while (lectura.Read()) { char[] delimitadores ={ '/', ' ', ':', '.', '-' }; string hora = lectura["FechaActual"].ToString(); string diaSemana = lectura["DiaSemana"].ToString(); string[] DatosHora = hora.Split(delimitadores); int valor = Convert.ToInt32(DatosHora[3]); valor = valor + (4 % 24); DatosHora[3] = Convert.ToString(valor); fecha.Year = (ushort)Convert.ToUInt16(DatosHora[2]); fecha.Month = (ushort)Convert.ToUInt16(DatosHora[1]); fecha.DayOfWeek = (ushort)Convert.ToUInt16(diaSemana); fecha.Day = (ushort)Convert.ToUInt16(DatosHora[0]); fecha.Hour = (ushort)Convert.ToUInt16(DatosHora[3]); fecha.Minute = (ushort)Convert.ToUInt16(DatosHora[4]); fecha.Second = (ushort)Convert.ToUInt16(DatosHora[5]); SetSystemTime(ref fecha); } lectura.Close(); conn.Close(); } catch (Exception) { conn.Close(); } }
/* RUTINA QUE CONTROLA EL INGRESO AL MENU DE ADMINISTRADOR DEL RELOJ, SE AGREGA CONTROL SOBRE EL INGRESO DE LA TARJETA*/ private void txtingreso_TextChanged(object sender, EventArgs e) { if (txtingreso.Text == "1012") { Unitech.EnableTaskbar(); Unitech.EnableDesktop(); Unitech.EnableExploreToolbar(); Application.Exit(); } if (txtingreso.TextLength == LargoCadena) { string Comprueba = txtingreso.Text.Remove(5, 8); string tarjeta = txtingreso.Text.Remove(0, 5); if (Comprueba == "LOGAM") { /* ASIGNACION DE PARAMETROS MEDIANTE LA FUNCION LecturaParametros */ TrabajaCadena = new ConvierteCadena(); Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint DireccionServidor = new IPEndPoint(IPAddress.Parse(DirreccionIPServidor), PuertoServidor); string Mensaje = null; try { byte[] bytesCliente = new byte[70]; byte[] sendResponse = new byte[70]; sendResponse = Encoding.Default.GetBytes(TrabajaCadena.TransformaCadena(tarjeta, evento)); if (EstadoServidor == false) { string cadena = TrabajaCadena.MarcaEntradaFueraLinea(tarjeta, IP, evento); string NombreFichero = @"\SDMMC\PruebaCasino\MarcaFueraLinea" + IP + ".txt"; ManejoArchivo archivo2 = new ManejoArchivo(NombreFichero); archivo2.EscrituraMarcaFueraLinea(cadena); Imprime_OffLine(Mensaje, tarjeta); EstadoServidor = false; txtingreso.Text = string.Empty; lblRespuesta.Visible = true; lblRespuesta.Text = "ASISTENCIA REGISTRADA"; Timer_Restablece.Enabled = true; RestableceMenu(); } else { client.Connect(DireccionServidor); client.Send(sendResponse); int bytesRec = client.Receive(bytesCliente); Mensaje = Encoding.Default.GetString(bytesCliente, 0, bytesRec); EstadoServidor = true; /* SE INICIALIZA EL TIMER ENCARGADO DE GENERAR EVENTO DE ENVIO DE MARCAS * FANTASMAS */ Timer_inline.Enabled = false; Timer_inline.Enabled = true; /* LLAMADA A LA FUNCION QUE SE ENCARGA DE IMPRIMIR EL VALE */ /* 06 EQUIVALE MARCA RESGISTRADA, 01 EQUIVALE A ALGUN ERROR EN LA MARCA */ if (Mensaje.Substring(0, 2) == "06") { Imprime_OnLine(Mensaje); Timer_Restablece.Enabled = true; lblRespuesta.Visible = true; lblRespuesta.Text = Mensaje; } else { Timer_Restablece.Enabled = true; lblRespuesta.Visible = true; lblRespuesta.Text = Mensaje; } txtingreso.Text = string.Empty; Mensaje = string.Empty; client.Close(); RestableceMenu(); } } catch (SocketException) { /* SE AGREGA SECUENCIA IF .. ELSE LA CUAL DETERMINA SE ES ENTRADA FUERA DE LINEA O SALIDA FUERA DE * LINEA, LA CUAL A SU VEZ ES GUARDADA EN UN ARCHIVO TXT PARA SU POSTERIOR RESCATE DESDE * EL MPOINT */ client.Close(); lblRespuesta.Text = Mensaje; string cadena = TrabajaCadena.MarcaEntradaFueraLinea(tarjeta, IP, evento); string NombreFichero = @"\SDMMC\PruebaCasino\MarcaFueraLinea" + IP + ".txt"; ManejoArchivo archivo2 = new ManejoArchivo(NombreFichero); archivo2.EscrituraMarcaFueraLinea(cadena); Imprime_OffLine(Mensaje, tarjeta); Timer_Restablece.Enabled = true; EstadoServidor = false; } } else { lblRespuesta.Visible = true; txtingreso.Enabled = false; txtingreso.Text = ""; lblRespuesta.Text = "Tarjeta Invalida"; Timer_Restablece.Enabled = true; RestableceMenu(); } } }