public Controlador.Registro BuscarUltimoRegistrodeESxIDACCESO(Controlador.Registro clsRegistro) { Controlador.Registro clsRegistrox = new Controlador.Registro(); SqlConnection cnx = Conexion.Conexion.ObtenerConexion(); cnx.Open(); SqlCommand comando = new SqlCommand(String.Format( "SELECT TOP (1) idRegistro, Fechayhora, idTipoPersonal, idEmpresaColaboradora, idAcceso, idEstado FROM registro WHERE idAcceso='{0}' order by Fechayhora desc", clsRegistro.idAcceso), cnx); SqlDataReader reader = comando.ExecuteReader(); while (reader.Read()) { clsRegistrox.idRegistro = Convert.ToString(reader["idRegistro"]); clsRegistrox.Fechayhora = Convert.ToDateTime(reader["Fechayhora"]); clsRegistrox.idTipoPersonal = Convert.ToString(reader["idTipoPersonal"]); clsRegistrox.idEmpresaColaboradora = Convert.ToString(reader["idEmpresaColaboradora"]); clsRegistrox.idAcceso = Convert.ToString(reader["idAcceso"]); clsRegistrox.idEstado = Convert.ToString(reader["idEstado"]); } cnx.Close(); return clsRegistrox; }
protected void Page_Load(object sender, EventArgs e) { this.Title = "Registro"; if (HttpContext.Current.Request.HttpMethod == "POST") { if (Request["action"] == "registra") { string nombre = Request["nombre"].ToString(); string nickname = Request["nickName"].ToString(); string contrasena = Request["contrasena"].ToString(); string email = Request["correo"].ToString(); string empresa = Request["empresa"].ToString(); string RutEmpresa = Request["rutempresa"].ToString(); int TipoUsuario = int.Parse(Request["tipoUsuario"].ToString()); //debes conseguir las funciones de validación wde rut para seguir en esto//; Controlador.Registro regs = new Controlador.Registro(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["BaseDatos"].ConnectionString); try { bool confirma = regs.RegistraUsuario(nickname, contrasena, nombre, email, empresa, RutEmpresa, TipoUsuario); if (confirma) { Response.Write("//OK//"); } else { Response.Write("//NOK//"); } } catch (Exception ex) { Response.Write("//NOK// ha ocurrido algún error " + ex.Message.ToString() + "//"); Response.Close(); } } } }
private void txtDNI_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Enter)) { Controlador.LogicaAcceso clsLogicaacceso = new Controlador.LogicaAcceso(); clsLogicaacceso.idacceso = txtDNI.Text; Modelo.LogicaAcceso_BD clsLogicaAccesoBD = new Modelo.LogicaAcceso_BD(); clsLogicaacceso = clsLogicaAccesoBD.VerificarAutorizacion(clsLogicaacceso); if (clsLogicaacceso.dni != null) { //existe el acceso parta el personal pero no se si esta activado su pase lblNombres.Text = clsLogicaacceso.nombres; lblApellidos.Text = clsLogicaacceso.apellidos; lblDNI.Text = clsLogicaacceso.dni; lblNombreEmpresa.Text = clsLogicaacceso.nombreempresa; lblTipoPersonal.Text = clsLogicaacceso.nombretipopersonal; picFoto.Image = byteArrayToImage(clsLogicaacceso.foto); // aqui verifico el estado de su pase if (clsLogicaacceso.autorizacion == 1) { serialPort1.Write(Verde_ON); lblAcceso.Text = "Acceso Permitido"; lblAcceso.ForeColor = Color.Green; // ---> verifico el ultimo registro de ingreso y salidas Controlador.Registro clsRegistro = new Controlador.Registro(); clsRegistro.idAcceso = clsLogicaacceso.dni; Modelo.Registro_BD clsRegistroBD = new Modelo.Registro_BD(); clsRegistro = clsRegistroBD.BuscarUltimoRegistrodeESxIDACCESO(clsRegistro); // fin <--- int estado = 3; if (clsRegistro.idEstado != null) { estado = int.Parse(clsRegistro.idEstado); } Controlador.Registro clsRegistrox = new Controlador.Registro(); // Modelo.Registro_BD clsRegistroBDx = new Modelo.Registro_BD(); if (estado == 1) { //el personal sale de las instalaciones clsRegistrox.idTipoPersonal = clsLogicaacceso.idTipoPersonal; clsRegistrox.idEmpresaColaboradora = clsLogicaacceso.idEmpresaColaboradora; clsRegistrox.idAcceso = clsLogicaacceso.dni; clsRegistrox.idEstado = "0"; Modelo.Registro_BD.insertarAcceso(clsRegistrox);//retorna 1 si se guardo correctamente contadorgrid++; dataGridView1.Rows.Add(contadorgrid,byteArrayToImage(clsLogicaacceso.foto),clsLogicaacceso.apellidos +" "+clsLogicaacceso.nombres, clsLogicaacceso.dni); dataGridView1.Sort(this.dataGridView1.Columns["Column4"], ListSortDirection.Descending); } else if (estado == 0) { //el personal ingresa a las instalaciones clsRegistrox.idTipoPersonal = clsLogicaacceso.idTipoPersonal; clsRegistrox.idEmpresaColaboradora = clsLogicaacceso.idEmpresaColaboradora; clsRegistrox.idAcceso = clsLogicaacceso.dni; clsRegistrox.idEstado = "1"; Modelo.Registro_BD.insertarAcceso(clsRegistrox);//retorna 1 si se guardo correctamente contadorgrid++; dataGridView1.Rows.Add(contadorgrid, byteArrayToImage(clsLogicaacceso.foto), clsLogicaacceso.apellidos + " " + clsLogicaacceso.nombres, clsLogicaacceso.dni); dataGridView1.Sort(this.dataGridView1.Columns["Column4"], ListSortDirection.Descending); } else { clsRegistrox.idTipoPersonal = clsLogicaacceso.idTipoPersonal; clsRegistrox.idEmpresaColaboradora = clsLogicaacceso.idEmpresaColaboradora; clsRegistrox.idAcceso = clsLogicaacceso.dni; clsRegistrox.idEstado = "1"; Modelo.Registro_BD.insertarAcceso(clsRegistrox);//retorna 1 si se guardo correctamente contadorgrid++; dataGridView1.Rows.Add(contadorgrid, byteArrayToImage(clsLogicaacceso.foto), clsLogicaacceso.apellidos + " " + clsLogicaacceso.nombres, clsLogicaacceso.dni); dataGridView1.Sort(this.dataGridView1.Columns["Column4"], ListSortDirection.Descending); } } else if (clsLogicaacceso.autorizacion == 0) { serialPort1.Write(Rojo_ON); //prender 3segundos lblAcceso.Text = "ACCESO DENEGADO"; lblAcceso.ForeColor = Color.Red; } } else { //no existe personal //poner foto vacia picFoto.Image = null; lblNombres.Text ="?"; lblApellidos.Text = "?"; lblDNI.Text = "?"; lblNombreEmpresa.Text = "?"; lblTipoPersonal.Text = "?"; } } }