Ejemplo n.º 1
0
        /// <summary>
        /// Obtiene la estructura de todo el proyecto, incluyendo las actividades que la involucran, y las asignaciones.
        /// </summary>
        /// <param name="lista"></param>
        /// <param name="sub"></param>
        /// <param name="nivel"></param>
        /// <returns></returns>
        public static List <ClaseExpGantt> ObtenerEstructuraSubproyectosConActividades(List <ClaseExpGantt> lista, SUBPROYECTO sub, int nivel)
        {
            List <SUBPROYECTO>        listaSubproyectos = ObtenerSubproyectosHijos(subpro: sub);
            List <Actividad_proyecto> actividades       = ControladorActividades.ObtenerActividadesProyectoDeSubproyecto(sub);

            ClaseExpGantt estructura = new ClaseExpGantt()
            {
                subproyecto = sub, nivel = nivel
            };

            lista.Add(estructura);
            nivel = nivel + 1;

            foreach (var actividad in actividades)
            {
                Detalle_recurso tarea        = ControladorTareas.ObtenerPorActividad(actividad);
                ClaseExpGantt   ExpoActivida = new ClaseExpGantt()
                {
                    actividadProy = actividad, nivel = nivel, tarea = tarea, subproyecto = null, actividad = ControladorActividades.ObtenerActividad(actividad), usuario = tarea != null?ControladorUsuarios.ObtenerUsuario(tarea.id_usuario.Value) : null
                };
                lista.Add(ExpoActivida);
            }

            foreach (SUBPROYECTO subpro in listaSubproyectos)
            {
                ObtenerEstructuraSubproyectosConActividades(lista, subpro, nivel);
            }
            return(lista);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Agrega una tarea en la base de datos para el usuario seleccionado.
        /// Se asigna con estado Pendiente.
        /// Si el usuaro ya tiene ese
        /// </summary>
        /// <param name="idActividadProyectoSolicitar"></param>
        /// <param name="idUsuario"></param>
        /// <returns></returns>
        public static Detalle_recurso RequerirTarea(int idActividadProyectoSolicitar, int idUsuario)
        {
            Detalle_recurso tarea = new Detalle_recurso();

            tarea.id_actividad_proyecto = idActividadProyectoSolicitar;
            tarea.forzada              = false;
            tarea.id_usuario           = idUsuario;
            tarea.motivo               = "solicitud";
            tarea.tipo                 = "";
            tarea.porcentaje_avance    = 0;
            tarea.realizada            = false;
            tarea.cantidad_hora        = Convert.ToDecimal(ControladorActividades.ObtenerHorasTotalesActividad(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar)));
            tarea.id_estado            = ObtenerEstadoPorNombre("Pendiente").IdEstadoTarea;
            tarea.fecha_inicio         = DateTime.Now;
            tarea.fecha_fin            = ControladorCalendario.CalcularFechaFin(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar), ControladorUsuarios.ObtenerUsuario(idUsuario), tarea.fecha_inicio.Value, ControladorActividades.ObtenerHorasTotalesActividad(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar)));
            tarea.duracion_cadista     = (decimal)ControladorActividades.ObtenerHorasOrdenCompraParaCadista(ControladorActividades.ObtenerActividadProyecto(idActividadProyectoSolicitar));
            tarea.fecha_inicio_cadista = tarea.fecha_inicio;
            tarea.fecha_fin_cadista    = tarea.fecha_fin;


            if (ControladorTareas.EstaAsignadaAUsuario(idActividadProyectoSolicitar, idUsuario) == null)
            {
                return(Insertar(tarea));
            }
            return(null);
        }