예제 #1
0
        /// <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);
        }