public static bool AsignarTareasAutomaticamente(double cant_horas_solapamiento) { List <SUBPROYECTO> subproyectosOrdenados = ControladorSubproyecto.ObtenerSubproyectosConActividadesActivos(); EliminarDetalleRecursoProyectosActivos(); bool salida = true; foreach (var item in subproyectosOrdenados) { List <Tuple <SUBPROYECTO, int> > estrucuraProyecto = new List <Tuple <SUBPROYECTO, int> >(); List <SUBPROYECTO> listaSubproyectos = ControladorSubproyecto.ObtenerEstructuraSubproyectos(estrucuraProyecto, item, 1).OrderByDescending(x => x.Item2).Select(x => x.Item1).ToList(); listaSubproyectos = listaSubproyectos.OrderByDescending(x => x.horas_estimadas).ToList(); foreach (var sub in listaSubproyectos) { if (!AsignarSubproyecto(sub, cant_horas_solapamiento)) { salida = false; } } } ControladorProyecto.ActualizarHorasProyectosActivos(); return(salida); }