private BE.UI.PlanillaAsistencia PlanillaAsistenciaBeToUi(BE.PlanillaAsistencia bePlanillaAsistencia) { var uiPlanillaDetalle = new BE.UI.PlanillaAsistencia(); uiPlanillaDetalle.Codigo = bePlanillaAsistencia.CodigoEmpleado; uiPlanillaDetalle.Fecha = bePlanillaAsistencia.Fecha; uiPlanillaDetalle.Semana = bePlanillaAsistencia.Semana; uiPlanillaDetalle.FechaHoraInicio = bePlanillaAsistencia.FechaHoraInicio; uiPlanillaDetalle.FechaHoraFinal = bePlanillaAsistencia.FechaHoraFinal; //Asistencia Normales uiPlanillaDetalle.AsistenciaNormalTotal = bePlanillaAsistencia.MinutosAsistenciaNormalTotal; uiPlanillaDetalle.AsistenciaNormalDiurna = bePlanillaAsistencia.MinutosAsistenciaNormalDiurna; uiPlanillaDetalle.AsistenciaNormalNocturna = bePlanillaAsistencia.MinutosAsistenciaNormalNocturna; uiPlanillaDetalle.AsistenciaNormalDiurnaExtra1 = bePlanillaAsistencia.MinutosAsistenciaNormalDiurnaExtra1; uiPlanillaDetalle.AsistenciaNormalNocturnaExtra1 = bePlanillaAsistencia.MinutosAsistenciaNormalNocturnaExtra1; uiPlanillaDetalle.AsistenciaNormalDiurnaExtra2 = bePlanillaAsistencia.MinutosAsistenciaNormalDiurnaExtra2; uiPlanillaDetalle.AsistenciaNormalNocturnaExtra2 = bePlanillaAsistencia.MinutosAsistenciaNormalNocturnaExtra2; //Tardanza Normal uiPlanillaDetalle.TardanzaNormalTotal = bePlanillaAsistencia.MinutosTardanzaNormalTotal; uiPlanillaDetalle.TardanzaNormalDiurna = bePlanillaAsistencia.MinutosTardanzaNormalDiurna; uiPlanillaDetalle.TardanzaNormalNocturna = bePlanillaAsistencia.MinutosTardanzaNormalNocturna; //Asistencia Feriados uiPlanillaDetalle.AsistenciaFeriadoTotal = bePlanillaAsistencia.MinutosAsistenciaFeriadoTotal; uiPlanillaDetalle.AsistenciaFeriadoDiurna = bePlanillaAsistencia.MinutosAsistenciaFeriadoDiurna; uiPlanillaDetalle.AsistenciaFeriadoNocturna = bePlanillaAsistencia.MinutosAsistenciaFeriadoNocturna; uiPlanillaDetalle.AsistenciaFeriadoDiurnaExtra1 = bePlanillaAsistencia.MinutosAsistenciaFeriadoDiurnaExtra1; uiPlanillaDetalle.AsistenciaFeriadoNocturnaExtra1 = bePlanillaAsistencia.MinutosAsistenciaFeriadoNocturnaExtra1; uiPlanillaDetalle.AsistenciaFeriadoDiurnaExtra2 = bePlanillaAsistencia.MinutosAsistenciaFeriadoDiurnaExtra2; uiPlanillaDetalle.AsistenciaFeriadoNocturnaExtra2 = bePlanillaAsistencia.MinutosAsistenciaFeriadoNocturnaExtra2; //Tardanza Feriado uiPlanillaDetalle.TardanzaFeriadoTotal = bePlanillaAsistencia.MinutosTardanzaFeriadoTotal; uiPlanillaDetalle.TardanzaFeriadoDiurna = bePlanillaAsistencia.MinutosTardanzaFeriadoDiurna; uiPlanillaDetalle.TardanzaFeriadoNocturna = bePlanillaAsistencia.MinutosTardanzaFeriadoNocturna; //Tardanza Inasistencias uiPlanillaDetalle.InasistenciaTotal = bePlanillaAsistencia.MinutosInasistenciaTotal; return(uiPlanillaDetalle); }
public List <BE.UI.PlanillaAsistencia> ListarAsistencia() { var lstUiPlanillaAsistencias = new List <BE.UI.PlanillaAsistencia>(); try { var daPlanilla = new DA.Planilla(); DataTable dtAsistencia = daPlanilla.ListarAsistencias(this.anho, this.mes); foreach (DataRow drItem in dtAsistencia.Rows) { #region Obtener datos de asistencia string codEmpleado = drItem["Codigo"].ToString(); string nomEmpleado = drItem["Empleado"].ToString(); DateTime fecha = DateTime.Parse(drItem["Fecha"].ToString()); int semana = int.Parse(drItem["Semana"].ToString()); DateTime fechaHoraNocturnoInicio = DateTime.Parse(drItem["FechaHoraNocheInicial"].ToString()); DateTime fechaHoraNocturnoFinal = DateTime.Parse(drItem["FechaHoraNocheFinal"].ToString()); //Fecha y Hora segun horario programado DateTime fechaHoraHorarioInicio = DateTime.Parse(drItem["FechaHoraHorarioInicial"].ToString()); DateTime fechaHoraHorarioFinal = DateTime.Parse(drItem["FechaHoraHorarioFinal"].ToString()); int horasHorario = int.Parse(drItem["HorasHorario"].ToString()); //Fecha y Hora segun horario Asistencia int horasAsistencia = int.Parse(drItem["HorasAsistencia"].ToString()); DateTime fechaHoraAsistenciaInicio = new DateTime(1900, 01, 01); DateTime fechaHoraAsistenciaFinal = new DateTime(1900, 01, 01); if (horasAsistencia > 0) //Si Asistio { fechaHoraAsistenciaInicio = DateTime.Parse(drItem["FechaHoraAsistenciaInicial"].ToString()); fechaHoraAsistenciaFinal = DateTime.Parse(drItem["FechaHoraAsistenciaFinal"].ToString()); } #endregion int minutosAsistenciaNormalesTotales = 0; int minutosAsistenciaNormalesDiurnas = 0; int minutosAsistenciaNormalesNocturnas = 0; int minutosAsistenciaNormalesDiurnasPrimerasExtras = 0; int minutosAsistenciaNormalesNocturnasPrimerasExtras = 0; int minutosAsistenciaNormalesDiurnasPosterioresExtras = 0; int minutosAsistenciaNormalesNocturnasPosterioresExtras = 0; int minutosTardanzaNormalesTotales = 0; int minutosTardanzaNormalesDiurnas = 0; int minutosTardanzaNormalesNocturnas = 0; int minutosAsistenciaFeriadosTotales = 0; int minutosAsistenciaFeriadosDiurnas = 0; int minutosAsistenciaFeriadosNocturnas = 0; int minutosAsistenciaFeriadosDiurnasPrimerasExtras = 0; int minutosAsistenciaFeriadosNocturnasPrimerasExtras = 0; int minutosAsistenciaFeriadosDiurnasPosterioresExtras = 0; int minutosAsistenciaFeriadosNocturnasPosterioresExtras = 0; int minutosTardanzaFeriadosTotales = 0; int minutosTardanzaFeriadosDiurnas = 0; int minutosTardanzaFeriadosNocturnas = 0; int minutosInasistenciasTotales = 0; int minutosInasistenciasNormales = 0; int minutosInasistenciasFeriados = 0; #region Calcular Horas Normales y Extras if (horasAsistencia > 0) { #region Calcular Minutos de Asistencias this.ObtenerMinutosAsistencia(fechaHoraNocturnoInicio, fechaHoraNocturnoFinal, fechaHoraHorarioInicio, fechaHoraHorarioFinal, out minutosAsistenciaNormalesDiurnas, out minutosAsistenciaNormalesNocturnas, out minutosAsistenciaNormalesDiurnasPrimerasExtras, out minutosAsistenciaNormalesNocturnasPrimerasExtras, out minutosAsistenciaNormalesDiurnasPosterioresExtras, out minutosAsistenciaNormalesNocturnasPosterioresExtras, out minutosAsistenciaFeriadosDiurnas, out minutosAsistenciaFeriadosNocturnas, out minutosAsistenciaFeriadosDiurnasPrimerasExtras, out minutosAsistenciaFeriadosNocturnasPrimerasExtras, out minutosAsistenciaFeriadosDiurnasPosterioresExtras, out minutosAsistenciaFeriadosNocturnasPosterioresExtras); minutosAsistenciaNormalesTotales = minutosAsistenciaNormalesDiurnas + minutosAsistenciaNormalesNocturnas + minutosAsistenciaNormalesDiurnasPrimerasExtras + minutosAsistenciaNormalesNocturnasPrimerasExtras + minutosAsistenciaNormalesDiurnasPosterioresExtras + minutosAsistenciaNormalesNocturnasPosterioresExtras; minutosAsistenciaFeriadosTotales = minutosAsistenciaFeriadosDiurnas + minutosAsistenciaFeriadosNocturnas + minutosAsistenciaFeriadosDiurnasPrimerasExtras + minutosAsistenciaFeriadosNocturnasPrimerasExtras + minutosAsistenciaFeriadosDiurnasPosterioresExtras + minutosAsistenciaFeriadosNocturnasPosterioresExtras; #endregion #region Calcular Minutos de Tardanza this.ObtenerMinutosTardanza(fechaHoraNocturnoInicio, fechaHoraNocturnoFinal, fechaHoraHorarioInicio, fechaHoraAsistenciaInicio, out minutosTardanzaNormalesDiurnas, out minutosTardanzaNormalesNocturnas, out minutosTardanzaFeriadosDiurnas, out minutosTardanzaFeriadosNocturnas); minutosTardanzaNormalesTotales = minutosTardanzaNormalesDiurnas + minutosTardanzaNormalesNocturnas; minutosTardanzaFeriadosTotales = minutosTardanzaFeriadosDiurnas + minutosTardanzaFeriadosNocturnas; #endregion } else { #region Calcular Minutos de Inasistencia this.ObtenerMinutosInasistencia(fechaHoraHorarioInicio, fechaHoraHorarioFinal, out minutosInasistenciasNormales, out minutosInasistenciasFeriados); minutosInasistenciasTotales = minutosInasistenciasNormales + minutosInasistenciasFeriados; #endregion } #endregion var uiPlanillaAsistencia = new BE.UI.PlanillaAsistencia(); uiPlanillaAsistencia.Codigo = codEmpleado; //uiPlanillaAsistencia.NombreEmpleado = nomEmpleado; uiPlanillaAsistencia.Fecha = fecha; uiPlanillaAsistencia.Semana = semana; uiPlanillaAsistencia.FechaHoraInicio = fechaHoraHorarioInicio; uiPlanillaAsistencia.FechaHoraFinal = fechaHoraHorarioFinal; //Asistencia Normales uiPlanillaAsistencia.AsistenciaNormalTotal = minutosAsistenciaNormalesTotales; uiPlanillaAsistencia.AsistenciaNormalDiurna = minutosAsistenciaNormalesDiurnas; uiPlanillaAsistencia.AsistenciaNormalNocturna = minutosAsistenciaNormalesNocturnas; uiPlanillaAsistencia.AsistenciaNormalDiurnaExtra1 = minutosAsistenciaNormalesDiurnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaNormalNocturnaExtra1 = minutosAsistenciaNormalesNocturnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaNormalDiurnaExtra2 = minutosAsistenciaNormalesDiurnasPosterioresExtras; uiPlanillaAsistencia.AsistenciaNormalNocturnaExtra2 = minutosAsistenciaNormalesNocturnasPosterioresExtras; //Tardanza Normales uiPlanillaAsistencia.TardanzaNormalTotal = minutosTardanzaNormalesTotales; uiPlanillaAsistencia.TardanzaNormalDiurna = minutosTardanzaNormalesDiurnas; uiPlanillaAsistencia.TardanzaNormalNocturna = minutosTardanzaNormalesNocturnas; //Asistencia Feriados uiPlanillaAsistencia.AsistenciaFeriadoTotal = minutosAsistenciaFeriadosTotales; uiPlanillaAsistencia.AsistenciaFeriadoDiurna = minutosAsistenciaFeriadosDiurnas; uiPlanillaAsistencia.AsistenciaFeriadoNocturna = minutosAsistenciaFeriadosNocturnas; uiPlanillaAsistencia.AsistenciaFeriadoDiurnaExtra1 = minutosAsistenciaFeriadosDiurnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaFeriadoNocturnaExtra1 = minutosAsistenciaFeriadosNocturnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaFeriadoDiurnaExtra2 = minutosAsistenciaFeriadosDiurnasPosterioresExtras; uiPlanillaAsistencia.AsistenciaFeriadoNocturnaExtra2 = minutosAsistenciaFeriadosNocturnasPosterioresExtras; //Tardanza Feriado uiPlanillaAsistencia.TardanzaFeriadoTotal = minutosTardanzaFeriadosTotales; uiPlanillaAsistencia.TardanzaFeriadoDiurna = minutosTardanzaFeriadosDiurnas; uiPlanillaAsistencia.TardanzaFeriadoNocturna = minutosTardanzaFeriadosNocturnas; //Tardanza Inasistencias uiPlanillaAsistencia.InasistenciaTotal = minutosInasistenciasTotales; uiPlanillaAsistencia.InasistenciaNormal = minutosInasistenciasNormales; uiPlanillaAsistencia.InasistenciaFeriado = minutosInasistenciasFeriados; lstUiPlanillaAsistencias.Add(uiPlanillaAsistencia); } return(lstUiPlanillaAsistencias); } catch (Exception ex) { throw ex; } }