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);
        }
示例#2
0
        public List <Tuple <SUBPROYECTO, int> > ObtenerEstructuraProyecto(Proyecto proyecto)
        {
            List <Tuple <SUBPROYECTO, int> > estrucutaProyecto = new List <Tuple <SUBPROYECTO, int> >();
            List <SUBPROYECTO> listaSubproyecto = ObtenerSubproyectosHijos(proyecto);

            foreach (var subpro in listaSubproyecto)
            {
                ControladorSubproyecto.ObtenerEstructuraSubproyectos(estrucutaProyecto, subpro, 1);
            }

            return(estrucutaProyecto);
        }
        public static void AsignarProyecto(int id_proyecto)
        {
            Proyecto           proyecto = ControladorProyecto.ObtenerPorID(id_proyecto);
            List <SUBPROYECTO> lista    = ControladorProyecto.ObtenerSubproyectosHijos(proyecto);

            EliminarDetalleRecursoProyecto(proyecto);

            foreach (var item in lista)
            {
                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.OrderByDescending(x => x.horas_estimadas).ToList();

                foreach (var sub in listaSubproyectos)
                {
                    AsignarSubproyecto(sub, 0);
                }
            }
        }