public bool Insertar(ref BE.UI.Asistencia uiAsistencia, int idSession = 0) { int rowsAffected = 0; try { var beAsistencia = new BE.Asistencia(); beAsistencia.IdUsuarioCreador = idSession; beAsistencia.FechaCreacion = DateTime.Now; beAsistencia.IdAsistencia = 0; beAsistencia.Codigo = uiAsistencia.EmpleadoCodigo; beAsistencia.FechaHoraEntrada = uiAsistencia.FechaHoraEntrada; beAsistencia.FechaHoraSalida = uiAsistencia.FechaHoraSalida; beAsistencia.Turno = uiAsistencia.Turno; beAsistencia.Origen = uiAsistencia.Origen; beAsistencia.FechaRegistro = uiAsistencia.Fecha; rowsAffected = new DA.Asistencia().Insertar(ref beAsistencia); uiAsistencia.ID = beAsistencia.IdAsistencia; return(rowsAffected > 0); } catch (Exception ex) { throw ex; } }
private void btnAgregar_Click(object sender, EventArgs e) { try { if (this.cboEmpleado.SelectedIndex == 0) { this.cboEmpleado.Focus(); throw new Exception("Seleccione un empleado"); } DateTime ingreso = this.DtpFechaHoraEntrada.Value; DateTime salida = this.DtpFechaHoraSalida.Value; if (ingreso > salida) { this.DtpFechaHoraEntrada.Focus(); throw new Exception("La fecha y hora de ingreso es mayor a la fecha y hora de salida"); } TimeSpan tiempo = salida.Subtract(ingreso); string codigoEmpleado = this.cboEmpleado.SelectedValue.ToString(); string nombreEmpleado = new LN.Empleado().ObtenerNombreCompleto(codigoEmpleado); int turno = this.cboTurno.SelectedIndex + 1; var uiAsistencia = new BE.UI.Asistencia(); uiAsistencia.ID = 0; uiAsistencia.EmpleadoCodigo = codigoEmpleado; uiAsistencia.EmpleadoNombreCompleto = nombreEmpleado; uiAsistencia.Turno = turno; uiAsistencia.FechaHoraEntrada = ingreso; uiAsistencia.FechaHoraSalida = salida; uiAsistencia.Tiempo = tiempo; uiAsistencia.Origen = "M"; uiAsistencia.Fecha = this.DtpFechaHoraEntrada.Value; this.lstUiAsistencias.Add(uiAsistencia); this.CargarListadoAsistencia(this.lstUiAsistencias); this.LimpiarRegistroManual(); } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
public List <BE.UI.Asistencia> Listar(DateTime fecha) { var lstUiAsistencias = new List <BE.UI.Asistencia>(); try { var daAsistencia = new DA.Asistencia(); DataTable dt = daAsistencia.Listar(fecha); for (int i = 0; i < dt.Rows.Count; i++) { var beAsistencia = new BE.Asistencia(); DataRow dr = dt.Rows[i]; daAsistencia.Cargar(ref beAsistencia, ref dr); var uiAsistencia = new BE.UI.Asistencia(); uiAsistencia.ID = beAsistencia.IdAsistencia; uiAsistencia.EmpleadoCodigo = beAsistencia.Codigo; uiAsistencia.EmpleadoNombreCompleto = new LN.Empleado().ObtenerNombreCompleto(beAsistencia.Codigo); uiAsistencia.FechaHoraEntrada = beAsistencia.FechaHoraEntrada; uiAsistencia.FechaHoraSalida = beAsistencia.FechaHoraSalida; uiAsistencia.Tiempo = beAsistencia.FechaHoraSalida.Subtract(beAsistencia.FechaHoraEntrada); uiAsistencia.Turno = beAsistencia.Turno; uiAsistencia.Origen = beAsistencia.Origen; uiAsistencia.Fecha = beAsistencia.FechaRegistro; lstUiAsistencias.Add(uiAsistencia); } return(lstUiAsistencias); } catch (Exception ex) { throw ex; } }
private List <BE.UI.Asistencia> CargarArchivo(string rutaArchivo) { var lstUiAsistencias = new List <BE.UI.Asistencia>(); try { var lstEmpleados = this.ListadoEmpleados(); using (var fs = File.OpenRead(rutaArchivo)) using (var reader = new StreamReader(fs)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(','); if (values.Length != 4) { throw new Exception("El registro debe contener Codigo de Empleado, Fecha y Hora Ingreso, Fecha y Hora Salida y Turno"); } string codigoEmpleado = values[0].ToString().Trim(); string nombreEmpleado = ""; var beEmpleado = lstEmpleados.FirstOrDefault(x => x.Codigo.Equals(codigoEmpleado)); if (beEmpleado != null) { nombreEmpleado = beEmpleado.Nombre; } beEmpleado = null; string formatoFecha = "dd/MM/yyyy HH:mm:ss"; DateTime ingreso; if (DateTime.TryParseExact(values[1].ToString(), formatoFecha, CultureInfo.InvariantCulture, DateTimeStyles.None, out ingreso) == false) { throw new Exception("La fecha y hora de ingreso del empleado " + codigoEmpleado + " es incorrecta"); } DateTime salida; if (DateTime.TryParseExact(values[2], "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out salida) == false) { throw new Exception("La fecha y hora de salida del empleado " + codigoEmpleado + " es incorrecta"); } TimeSpan tiempo = salida.Subtract(ingreso); if (tiempo.TotalSeconds < 0) { throw new Exception("El tiempo de trabajo del empleado " + codigoEmpleado + " es incorrecto"); } int turno = 0; if (int.TryParse(values[3].ToString(), out turno) == false) { throw new Exception("El turno del empleado " + codigoEmpleado + " es incorrecto"); } var uiAsistencia = new BE.UI.Asistencia(); uiAsistencia.ID = 0; uiAsistencia.EmpleadoCodigo = codigoEmpleado; uiAsistencia.EmpleadoNombreCompleto = nombreEmpleado; uiAsistencia.Turno = turno; uiAsistencia.FechaHoraEntrada = ingreso; uiAsistencia.FechaHoraSalida = salida; uiAsistencia.Tiempo = tiempo; uiAsistencia.Origen = "C"; lstUiAsistencias.Add(uiAsistencia); } return(lstUiAsistencias); } } catch (Exception ex) { throw ex; } }