示例#1
0
        public List <ClaseExpGantt> ObtenerEstructuraProyectoConActividades(Proyecto proyecto)
        {
            List <ClaseExpGantt> estrucutaProyecto = new List <ClaseExpGantt>();
            List <SUBPROYECTO>   listaSubproyecto  = ObtenerSubproyectosHijos(proyecto);

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

            return(estrucutaProyecto);
        }
        public static DateTime?CalcularFechaFinSubproyecto(SUBPROYECTO subproyecto)
        {
            List <ClaseExpGantt> exp = new List <ClaseExpGantt>();

            ControladorSubproyecto.ObtenerEstructuraSubproyectosConActividades(exp, subproyecto, 1);
            List <DateTime?> fecha = new List <DateTime?>();

            foreach (var item in exp)
            {
                if (item.actividad != null)
                {
                    Detalle_recurso tarea = ObtenerPorActividad(item.actividadProy);
                    if (tarea != null && tarea.fecha_fin.HasValue)
                    {
                        fecha.Add(tarea.fecha_fin.Value);
                    }
                }
            }

            fecha.Sort((a, b) => a.Value.CompareTo(b.Value));
            return(fecha.Count > 0 ? fecha.ElementAt(fecha.Count - 1) : subproyecto.fecha_inicio_estimada.Value);
        }