Exemplo n.º 1
0
        private void btnGenerarRA_Click(object sender, EventArgs e)
        {
            Asistencias dsAsistencias = new Asistencias();
            ReporteCompras reporteCompras = new ReporteCompras();

            DateTime fechaInicio = cboFecIni.Value.Date;
            DateTime fechaFin = cboFecFin.Value.Date;

            dsAsistencias.Reporte.AddReporteRow(fechaInicio.ToShortDateString(), fechaFin.ToShortDateString());

            IList<Asistencia> asistencias = new AsistenciaBL().FindByFechas(fechaInicio, fechaFin);

            dsAsistencias.Asistencia.Rows.Clear();

            if (asistencias != null)
            {
                if (asistencias.Count > 0)
                {

                    foreach (Asistencia asistencia in asistencias)
                    {
                        Empleado empleado = asistencia.Empleado;

                        Asistencias.EmpleadoRow filaEmpleado;

                        filaEmpleado = dsAsistencias.Empleado.FindByIdEmpleado(empleado.Id);

                        if (filaEmpleado == null)
                        {
                            filaEmpleado = dsAsistencias.Empleado.NewEmpleadoRow();
                            filaEmpleado.Nombres = String.Format("{0} {1} {2}",
                                empleado.Nombres, empleado.ApellidoPaterno, empleado.ApellidoMaterno);
                            filaEmpleado.Anexo = empleado.Anexo;
                            filaEmpleado.ApellidoMaterno = empleado.ApellidoMaterno;
                            filaEmpleado.ApellidoPaterno = empleado.ApellidoPaterno;
                            filaEmpleado.Email = empleado.Email;
                            filaEmpleado.Estado = empleado.Estado;
                            filaEmpleado.EstadoCivil = empleado.EstadoCivil;
                            filaEmpleado.FechaIngreso = empleado.FechaIngreso;
                            filaEmpleado.FechaNacimiento = empleado.FechaNacimiento == null ? DateTime.MinValue : empleado.FechaNacimiento.Value;
                            filaEmpleado.IdCargo = empleado.Cargo.Id;
                            filaEmpleado.IdEmpleado = empleado.Id;
                            filaEmpleado.IdLocal = empleado.Local.Id;
                            filaEmpleado.IdUsuario = empleado.Usuario.Id;
                            filaEmpleado.NumeroDocumento = empleado.NumeroDocumento;
                            filaEmpleado.Telefono = empleado.Telefono;
                            filaEmpleado.TipoDocumento = empleado.TipoDocumento;

                            dsAsistencias.Empleado.AddEmpleadoRow(filaEmpleado);
                        }

                        dsAsistencias.Asistencia.AddAsistenciaRow(
                            asistencia.Fecha,
                            asistencia.Hora,
                            filaEmpleado,
                            asistencia.Tipo);

                    }
                }
                else
                {
                    Utils.Utils.Mensaje("No existen Asistencias en ese rango de fecha", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }
            new frmVistaReporteAsistencias(dsAsistencias).ShowDialog(this);
        }
Exemplo n.º 2
0
 private void Marcar()
 {
     Empleado empleado = new UsuarioBL().Validar(txtUsuario.Text, txtClave.Text);
     txtClave.Text = "";
     txtUsuario.Text = "";
     if (empleado != null)
     {
         AsistenciaBL oAsistenciaBL =  new AsistenciaBL();
         Asistencia ultimaAsistencia = oAsistenciaBL.GetUltima(empleado);
         if (ultimaAsistencia == null)
         {
             if (oAsistenciaBL.MarcarEntrada(empleado))
             {
                 Utils.Utils.Mensaje("ENTRADA Registrada", MessageBoxButtons.OK, MessageBoxIcon.None);
             }
             else
             {
                 Utils.Utils.Error(null, "Error, intente nuevamente");
             }
             return;
         }
         if (ultimaAsistencia.Tipo == "S")
         {
             if (oAsistenciaBL.MarcarEntrada(empleado))
             {
                 Utils.Utils.Mensaje("ENTRADA Registrada", MessageBoxButtons.OK, MessageBoxIcon.None);
             }
             else
             {
                 Utils.Utils.Error(null, "Error, intente nuevamente");
             }
         }
         else
         {
             if (ultimaAsistencia.Fecha.ToShortDateString() == DateTime.Now.ToShortDateString())
             {
                 if (oAsistenciaBL.MarcarSalida(empleado))
                 {
                     Utils.Utils.Mensaje("SALIDA Registrada", MessageBoxButtons.OK, MessageBoxIcon.None);
                 }
                 else
                 {
                     Utils.Utils.Error(null, "Error, intente nuevamente");
                 }
             }
             else
             {
                 Utils.Utils.Mensaje("Usted no registró su salida la última vez. Se le descontarán las horas.",
                     MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                 if (oAsistenciaBL.MarcarNoSalida(empleado, ultimaAsistencia) && oAsistenciaBL.MarcarEntrada(empleado))
                 {
                     Utils.Utils.Mensaje("Entrada Registrada", MessageBoxButtons.OK, MessageBoxIcon.None);
                 }
                 else
                 {
                     Utils.Utils.Error(null, "Error, intente nuevamente");
                 }
             }
         }
     }
     else
     {
         Utils.Utils.Error(null, "El usuario y/o contraseña no son válidas");
     }
 }