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