// granar marcaciones transgandia ingresadas por el sistema public Boolean GrabarDB_Transgandia(List <ro_marcaciones_x_empleado_Info> lista) { try { ro_marcaciones_x_empleado_x_incidentes_falt_Perm_Bus bus_novedad_x_ingreso = new ro_marcaciones_x_empleado_x_incidentes_falt_Perm_Bus(); ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Bus bus_novedades_pendientes = new ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Bus(); int sec = 0; foreach (var item in lista) { sec = sec + 1; item.secuencia = sec; item.es_fechaRegistro = Convert.ToDateTime(Convert.ToDateTime(item.es_fechaRegistro).ToShortDateString()); item.IdRegistro = item.IdRegistro.ToString() + "-" + "IdE" + "-" + item.IdEmpleado.ToString(); if (data.GrabarDB(item)) { bus_novedad_x_ingreso.Grabar_DB(item.info_novedad_x_ingreso); } // si es sabadop o domingo o feriado para ingresar las horas extras tmp hasta ser aprobadas int dia = Convert.ToInt32(Convert.ToDateTime(item.es_fechaRegistro).DayOfWeek); if ((dia == 6 || dia == 0) || (item.info_novedad_x_ingreso.es_feriado == true) && (item.info_novedad_x_ingreso.Id_catalogo_Cat == "ASIST" || item.info_novedad_x_ingreso.Id_catalogo_Cat == "ATRA")) { if (item.es_jornada_desfasada == false)// si no es jornada desfasada pago horas extras sabado y domingo normal { ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Info info_novedades = new ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Info(); info_novedades.IdEmpleado = item.IdEmpleado; info_novedades.IdNomina = item.IdNomina_Tipo; info_novedades.IdEmpresa = item.IdEmpresa; info_novedades.Num_horasExtras = "0"; info_novedades.IdRubro = "9"; info_novedades.es_fecha_registro = Convert.ToDateTime(item.es_fechaRegistro); info_novedades.Observacion = "horas extras por dia" + item.es_fechaRegistro.ToString(); info_novedades.Estado_aprobacion = false; info_novedades.IdRegistro = item.IdRegistro; bus_novedades_pendientes.GuardarDB(info_novedades); } else { if (dia == 0) { ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Info info_novedades = new ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Info(); info_novedades.IdEmpleado = item.IdEmpleado; info_novedades.IdEmpresa = item.IdEmpresa; info_novedades.Num_horasExtras = "0"; info_novedades.IdRubro = "9"; info_novedades.es_fecha_registro = Convert.ToDateTime(item.es_fechaRegistro); info_novedades.Observacion = "horas extras por dia" + item.es_fechaRegistro.ToString(); info_novedades.Estado_aprobacion = false; info_novedades.IdRegistro = item.IdRegistro; bus_novedades_pendientes.GuardarDB(info_novedades); } } } } return(true); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex) { EntityType = typeof(ro_marcaciones_x_empleado_Bus) }; } }