private void Registrar_Justificacion() { RN_Justificacion obj = new RN_Justificacion(); EN_Justificacion jus = new EN_Justificacion(); Frm_Filtro fil = new Frm_Filtro(); Frm_Msm_Bueno ok = new Frm_Msm_Bueno(); try { jus.IdJusti = txt_idjusti.Text.Trim(); jus.Id_Personal = txt_IdPersona.Text; jus.PrincipalMotivo = cbo_motivJusti.Text; jus.Detalle = txt_DetalleJusti.Text; jus.Fecha = Dtp_FechaJusti.Value; obj.RN_Registrar_Justificacion(jus); if (BD_Justificacion.saved == true) { RN_Utilitario.RN_Actualiza_Tipo_Doc(4); fil.Show(); ok.Lbl_msm1.Text = "La solicitud de justificación fue registrada, Espere la aprobación"; ok.ShowDialog(); fil.Hide(); LimpiarPiso(); this.Tag = "A"; this.Close(); } } catch (Exception ex) { MessageBox.Show("Revisa el Error: " + ex.Message, "Advertencia de Seguridad", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void Btn_buscar_Click(object sender, EventArgs e) { RN_Personal obj = new RN_Personal(); RN_Asistencia objas = new RN_Asistencia(); DataTable datosPersona = new DataTable(); DataTable dataAsis = new DataTable(); Frm_Filtro fil = new Frm_Filtro(); Frm_Advertencia adver = new Frm_Advertencia(); string NroIDPersona; int cont = 1; string rutaFoto; int HoLimite = Dtp_Hora_Limite.Value.Hour; int MiLimite = Dtp_Hora_Limite.Value.Minute; int horaCaptu = DateTime.Now.Hour; int minutoCaptu = DateTime.Now.Minute; try { datosPersona = obj.RN_Buscar_Personal_xValor(txt_dni_Buscar.Text.Trim()); if (datosPersona.Rows.Count <= 0) { lbl_msm.BackColor = Color.MistyRose; lbl_msm.ForeColor = Color.Red; lbl_msm.Text = "El número de DNI ingresado no existe o el personal está dado de baja"; tocar_timbre(); lbl_Cont.Text = "10"; pnl_Msm.Visible = true; tmr_Conta.Enabled = true; return; } else { var dt = datosPersona.Rows[0]; rutaFoto = Convert.ToString(dt["Foto"]); lbl_nombresocio.Text = Convert.ToString(dt["Nombre_Completo"]); lbl_Dni.Text = Convert.ToString(dt["DNIPR"]); NroIDPersona = Convert.ToString(dt["Id_Pernl"]); Lbl_Idperso.Text = Convert.ToString(dt["Id_Pernl"]); if (File.Exists(rutaFoto) == true) { picSocio.Load(rutaFoto.Trim()); } else { picSocio.Load(Application.StartupPath + @"\user.png"); } if (objas.RN_Checar_SiPersonal_YaMarco_Asistencia(Lbl_Idperso.Text) == true) { lbl_msm.BackColor = Color.MistyRose; lbl_msm.ForeColor = Color.Red; lbl_msm.Text = "El sistema verificó que el personal ya marcó su entrada y su salida"; tocar_timbre(); lbl_Cont.Text = "10"; pnl_Msm.Visible = true; tmr_Conta.Enabled = true; return; } else if (objas.RN_Checar_SiPersonal_YaMarco_Entrada(Lbl_Idperso.Text.Trim()) == true) { //Toca Marcar su Salida Frm_Sinox sino = new Frm_Sinox(); fil.Show(); sino.Lbl_msm1.Text = "El usuario ya tiene registrada su entrada, ¿Te gustarìa marcar su salida?"; sino.ShowDialog(); fil.Hide(); if (Convert.ToString(sino.Tag) == "Si") { dataAsis = objas.RN_Buscar_Asistencia_deEntrada(Lbl_Idperso.Text); if (dataAsis.Rows.Count < 1) { return; } lbl_IdAsis.Text = Convert.ToString(dataAsis.Rows[0]["Id_asis"]); objas.RN_Registrar_Salida_Personal(lbl_IdAsis.Text, Lbl_Idperso.Text, lbl_hora.Text, 8); if (BD_Asistencia.salida == true) { lbl_msm.BackColor = Color.YellowGreen; lbl_msm.ForeColor = Color.White; lbl_msm.Text = "La salida del personal fue registrada exitosamente"; tocar_timbreOK(); pnl_Msm.Visible = true; lbl_Cont.Text = "10"; tmr_Conta.Enabled = true; } } else { LimpiarFormulario(); sec = 10; tmr_Conta.Stop(); pnl_Msm.Visible = false; lbl_Cont.Text = "10"; } } else { //Toca Marcar su Entrada if (horaCaptu >= HoLimite) { lbl_msm.BackColor = Color.MistyRose; lbl_msm.ForeColor = Color.Red; lbl_msm.Text = "Estimado usuario, su hora de entrada ya caducó. Has llegado demasiado tarde"; tocar_timbre(); lbl_Cont.Text = "10"; pnl_Msm.Visible = true; tmr_Conta.Enabled = true; return; } //Está en tiempo para marcar su entrada calcular_Minutos_Tardanza(); lbl_IdAsis.Text = RN_Utilitario.RN_NroDoc(3); objas.RN_Registrar_Entrada_Personal(lbl_IdAsis.Text, Lbl_Idperso.Text, lbl_hora.Text, Convert.ToDouble(lbl_totaltarde.Text), Convert.ToInt32(lbl_TotalHotrabajda.Text), lbl_justifi.Text); if (BD_Asistencia.entrada == true) { RN_Utilitario.RN_Actualiza_Tipo_Doc(3); lbl_msm.BackColor = Color.YellowGreen; lbl_msm.ForeColor = Color.White; lbl_msm.Text = "La entrada del personal fue registrada exitosamente"; tocar_Bienvenida(); pnl_Msm.Visible = true; tmr_Conta.Enabled = true; lbl_Cont.Text = "10"; } } } } catch (Exception ex) { MessageBox.Show("Algo malo pasó: " + ex.Message, "Advertencia de Seguridad", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void xVerificationControl_OnComplete(object Control, FeatureSet FeatureSet, ref DPFP.Gui.EventHandlerStatus EventHandlerStatus) { //DPFP.Template TemplateBD = new DPFP.Template(); RN_Personal obj = new RN_Personal(); RN_Asistencia objas = new RN_Asistencia(); DataTable datosPersona = new DataTable(); DataTable dataAsis = new DataTable(); //byte[] finguerByte; string NroIDPersona = ""; int xitn = 1; byte[] fingerByte; string rutaFoto; bool TerminarBucle = false; int totalFila = 0; Frm_Filtro fil = new Frm_Filtro(); int HoLimite = Dtp_Hora_Limite.Value.Hour; int MiLimite = Dtp_Hora_Limite.Value.Minute; int horaCaptu = DateTime.Now.Hour; int minutoCaptu = DateTime.Now.Minute; try { datosPersona = obj.RN_Leer_todoPersona(); totalFila = datosPersona.Rows.Count; if (datosPersona.Rows.Count <= 0) { return; } var datoPer = datosPersona.Rows[0]; foreach (DataRow xitem in datosPersona.Rows) { if (TerminarBucle == true) { return; } fingerByte = (byte[])xitem["FinguerPrint"]; NroIDPersona = Convert.ToString(xitem["Id_Pernl"]); DPFP.Template TemplateBD = new DPFP.Template(); TemplateBD.DeSerialize(fingerByte); Verificar.Verify(FeatureSet, TemplateBD, ref Resultado); if (Resultado.Verified == true) { rutaFoto = Convert.ToString(xitem["Foto"]); lbl_nombresocio.Text = Convert.ToString(xitem["Nombre_Completo"]); Lbl_Idperso.Text = Convert.ToString(xitem["Id_Pernl"]); lbl_Dni.Text = Convert.ToString(xitem["DNIPR"]); if (File.Exists(rutaFoto) == true) { picSocio.Load(rutaFoto.Trim()); } else { picSocio.Load(Application.StartupPath + @"\user.png"); } if (objas.RN_Checar_SiPersonal_YaMarco_Asistencia(Lbl_Idperso.Text.Trim()) == true) { lbl_msm.BackColor = Color.MistyRose; lbl_msm.ForeColor = Color.Red; lbl_msm.Text = "El sistema verificó que el personal ya marcó su asistencia"; tocar_timbre(); lbl_Cont.Text = "10"; xVerificationControl.Enabled = true; pnl_Msm.Visible = true; tmr_Conta.Enabled = true; return; } if (objas.RN_Checar_SiPersonal_YaMarco_Entrada(Lbl_Idperso.Text.Trim()) == true) { Frm_Sinox sino = new Frm_Sinox(); TerminarBucle = true; fil.Show(); sino.Lbl_msm1.Text = "El usuario ya tiene registrada su entrada, ¿Te gustarìa marcar su salida?"; sino.ShowDialog(); fil.Hide(); if (Convert.ToString(sino.Tag) == "Si") { dataAsis = objas.RN_Buscar_Asistencia_deEntrada(Lbl_Idperso.Text); if (dataAsis.Rows.Count < 1) { return; } lbl_IdAsis.Text = Convert.ToString(dataAsis.Rows[0]["Id_asis"]); objas.RN_Registrar_Salida_Personal(lbl_IdAsis.Text, Lbl_Idperso.Text, lbl_hora.Text, 8); if (BD_Asistencia.salida == true) { lbl_msm.BackColor = Color.YellowGreen; lbl_msm.ForeColor = Color.White; lbl_msm.Text = "La salida del personal fue registrada exitosamente"; tocar_timbreOK(); xVerificationControl.Enabled = false; pnl_Msm.Visible = true; lbl_Cont.Text = "10"; tmr_Conta.Enabled = true; TerminarBucle = true; } } else { LimpiarFormulario(); sec = 10; tmr_Conta.Stop(); pnl_Msm.Visible = false; xVerificationControl.Enabled = true; lbl_Cont.Text = "10"; } } else { //entonces marcar entrada if (horaCaptu >= HoLimite) { lbl_msm.BackColor = Color.MistyRose; lbl_msm.ForeColor = Color.Red; lbl_msm.Text = "Estimado usuario, su hora de entrada ya caducó. Vuelve a casa y regresa mañana"; tocar_timbre(); pnl_Msm.Visible = true; tmr_Conta.Enabled = true; lbl_Cont.Text = "10"; xVerificationControl.Enabled = false; return; } calcular_Minutos_Tardanza(); lbl_IdAsis.Text = RN_Utilitario.RN_NroDoc(3); objas.RN_Registrar_Entrada_Personal(lbl_IdAsis.Text, Lbl_Idperso.Text, lbl_hora.Text, Convert.ToDouble(lbl_totaltarde.Text), Convert.ToInt32(lbl_TotalHotrabajda.Text), lbl_justifi.Text); if (BD_Asistencia.entrada == true) { RN_Utilitario.RN_Actualiza_Tipo_Doc(3); lbl_msm.BackColor = Color.YellowGreen; lbl_msm.ForeColor = Color.White; lbl_msm.Text = "La entrada del personal fue registrada exitosamente"; tocar_timbreOK(); pnl_Msm.Visible = true; tmr_Conta.Enabled = true; xVerificationControl.Enabled = false; lbl_Cont.Text = "10"; TerminarBucle = true; } } } else { if (xitn == totalFila) { if (TerminarBucle == false) { lbl_msm.BackColor = Color.MistyRose; lbl_msm.ForeColor = Color.Red; lbl_msm.Text = "La Huella Dactilar no existe en la base de datos"; tocar_timbre(); lbl_Cont.Text = "10"; pnl_Msm.Visible = true; tmr_Conta.Enabled = true; xVerificationControl.Enabled = false; } } } xitn += 1; } } catch (Exception ex) { MessageBox.Show("Algo malo pasó: " + ex.Message, "Advertencia de Seguridad", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }