/// <summary> /// Obtiene las horas minimas de un subproyecto, esto es la suma de todas las actividades hijas, indirectamente. /// </summary> /// <param name="subpro"></param> /// <returns></returns> public static double ObtenerHorasMinimasSubproyecto(SUBPROYECTO subpro) { double total = 0; List <SUBPROYECTO> lisSubpro = ObtenerSubproyectosHijos(subpro); List <Actividad_proyecto> actividades = ControladorActividades.ObtenerActividadesProyectoDeSubproyecto(subpro); //Función recursiva para calcular las horas de los subproyectos hijos foreach (var sub in lisSubpro) { total += ObtenerHorasMinimasSubproyecto(sub); } //Recorre las actividades y suma sus horas asignadas foreach (var act in actividades) { total += ControladorActividades.ObtenerHorasAsignadas(act); } return(total); }