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