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); }
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"); } }