private void TimerFalta_Tick(object sender, EventArgs e)
        {
            RN_Asistencia   obj     = new RN_Asistencia();
            Frm_Filtro      fis     = new Frm_Filtro();
            Frm_Advertencia adver   = new Frm_Advertencia();
            Frm_Msm_Bueno   ok      = new Frm_Msm_Bueno();
            DataTable       dataper = new DataTable();
            RN_Personal     objper  = new RN_Personal();

            int HoLimite = Dtp_Hora_Limite.Value.Hour;
            int MiLimite = Dtp_Hora_Limite.Value.Minute;

            int horaCaptu   = DateTime.Now.Hour;
            int minutoCaptu = DateTime.Now.Minute;

            string Dniper         = "";
            int    Cant           = 0;
            int    TotalItem      = 0;
            string xidpersona     = "";
            string IdAsistencia   = "";
            string xjustificacion = "";

            if (horaCaptu >= HoLimite)
            {
                if (minutoCaptu > MiLimite)
                {
                    dataper = objper.RN_Leer_todoPersona();

                    if (dataper.Rows.Count <= 0)
                    {
                        return;
                    }
                    TotalItem = dataper.Rows.Count;

                    foreach (DataRow Registro in dataper.Rows)
                    {
                        Dniper     = Convert.ToString(Registro["DNIPR"]);
                        xidpersona = Convert.ToString(Registro["Id_Pernl"]);

                        if (obj.RN_Checar_SiPersonal_TieneAsistencia_Registrada(xidpersona.Trim()) == false)
                        {
                            if (obj.RN_Checar_SiPersonal_YaMarco_suFalta(xidpersona.Trim()) == false)
                            {
                                //Registrar falta
                                RN_Asistencia ojbA = new RN_Asistencia();
                                EN_Asistencia asi  = new EN_Asistencia();
                                IdAsistencia = RN_Utilitario.RN_NroDoc(3);


                                //Verificamos si el personal tiene alguna justificación..
                            }
                        }
                    }                    //Final del For Each
                    if (Cant > 1)
                    {
                        timerFalta.Stop();
                        fis.Show();
                        ok.Lbl_msm1.Text = "Un Total de: " + Cant.ToString() + "/" + TotalItem + " Faltas se han registrado exitosamente";
                        ok.ShowDialog();
                        fis.Hide();
                    }
                    else
                    {
                        timerFalta.Stop();
                        fis.Show();
                        ok.Lbl_msm1.Text = "El día de hoy no se han registrado faltas en el trabajo, Las " + TotalItem + " personas marcaron su asistencia correctamente";
                        ok.ShowDialog();
                        fis.Hide();
                    }
                }
            }
        }
Beispiel #2
0
        private void timerFalta_Tick(object sender, EventArgs e)
        {
            RN_Asistencia   obj     = new RN_Asistencia();
            Frm_Filtro      fis     = new Frm_Filtro();
            Frm_Advertencia adver   = new Frm_Advertencia();
            Msm_Bueno       ok      = new Msm_Bueno();
            DataTable       dataper = new DataTable();
            RN_Personal     objper  = new RN_Personal();

            int HoLimite = Dtp_Hora_Limite.Value.Hour;
            int MiLimite = Dtp_Hora_Limite.Value.Minute;

            int    horaCaptu      = DateTime.Now.Hour;
            int    minutoCaptu    = DateTime.Now.Minute;
            string Dniper         = "";
            int    Cant           = 0;
            int    TotalItem      = 0;
            string xidpersona     = "";
            string IdAsistencia   = "";
            string xjustificacion = "";

            if (horaCaptu >= HoLimite)
            {
                if (minutoCaptu >= MiLimite)
                {
                    dataper = objper.RN_Leer_todoPersona();
                    if (dataper.Rows.Count <= 0)
                    {
                        return;
                    }
                    TotalItem = dataper.Rows.Count;  // obtenemos el total de personas registradas

                    foreach (DataRow Registro in dataper.Rows)
                    {
                        Dniper     = Convert.ToString(Registro["DNIPR"]);
                        xidpersona = Convert.ToString(Registro["Id_Pernl"]);

                        if (obj.RN_Checar_SiPersonal_TieneAsistencia_Registrada(xidpersona.Trim()) == false)
                        {
                            if (obj.RN_Checar_SiPersonal_YaMarco_suFalta(xidpersona.Trim()) == false)
                            {
                                // llamar registrar falta
                                RN_Asistencia objA = new RN_Asistencia();
                                EN_Asistencia asi  = new EN_Asistencia();
                                IdAsistencia = RN_Utilitario.RN_NroDoc(3);

                                // verificar si el personal tiene justificacion
                                if (objA.RN_Verificar_Justificacion_Aprobada(xidpersona) == true)
                                {
                                    xjustificacion = "Falta tiene justificativo";
                                }
                                else
                                {
                                    xjustificacion = "No tiene Justificactivo";
                                }

                                obj.RN_Registrar_Falta_Personal(IdAsistencia, xidpersona, xjustificacion);
                                if (BD_Asistencia.faltasaved == true)
                                {
                                    RN_Utilitario.RN_Actualizar_Tipo_Doc(3); // actualizamos el numero correlativo de asistencia
                                    // contador: almacena la cantidad de faltas registradas
                                    Cant += 1;
                                }
                            }
                        }
                    }// fin foreach

                    if (Cant > 1)
                    {
                        timerFalta.Stop();
                        fis.Show();
                        ok.Lbl_msm1.Text = "un total de: " + Cant.ToString() + "/" + TotalItem + "faltas se han registrado exitosamente";
                        ok.ShowDialog();
                        fis.Hide();
                    }
                    else
                    {
                        timerFalta.Stop();
                        fis.Show();
                        ok.Lbl_msm1.Text = "el dia de hoy no falto nadie al trabajo, las " + TotalItem + "Pesonas Marcaron si Asistencia";
                        ok.ShowDialog();
                        fis.Hide();
                    }
                }
            }
        }