예제 #1
0
        public static void ActualizarHorasSubproyecto(Proyecto proy)
        {
            List <SUBPROYECTO> subproyectos = ObtenerSubproyectosHijos(proy);
            decimal            total        = 0;

            foreach (var subp in subproyectos)
            {
                total += ControladorSubproyecto.ActualizarHorasSubproyecto(subp);
            }

            proy.total_hora = total;
            Update(proy);
        }
예제 #2
0
        internal static void ActualizarHorasProyectosActivos()
        {
            List <Proyecto> proyectos_activos = ObtenerProyectosActivos();
            decimal         totalProy         = 0;
            decimal         totalSub          = 0;

            foreach (var proyecto in proyectos_activos)
            {
                totalProy = 0;
                List <SUBPROYECTO> subproyectos = ObtenerSubproyectosHijos(proyecto);

                foreach (var subpro in subproyectos)
                {
                    List <SUBPROYECTO>        subproyectosHijos = ControladorSubproyecto.ObtenerSubproyectosHijos(subpro);
                    List <Actividad_proyecto> actividades       = ControladorActividades.ObtenerActividadesProyectoDeSubproyecto(subpro);
                    List <SUBPROYECTO>        hijos;
                    totalSub = 0;

                    //Función recursiva para calcular las horas de los subproyectos hijos
                    foreach (var sub in subproyectosHijos)
                    {
                        totalSub += ControladorSubproyecto.ActualizarHorasSubproyecto(sub);
                    }

                    //Recorre las actividades y suma sus horas
                    foreach (var item in actividades)
                    {
                        item.cantidad_hora = (decimal)ControladorActividades.ObtenerHorasTotalesActividad(item);
                        ControladorActividades.ActualizarActividadProyecto(item);
                        totalSub += (decimal)ControladorActividades.ObtenerHorasTotalesActividad(item);
                    }

                    totalProy += totalSub;
                    subpro.horas_estimadas = totalSub;
                    ControladorSubproyecto.ActualizarSubproyecto(subpro);
                }
                proyecto.total_hora = totalProy;
                Update(proyecto);
            }
        }