예제 #1
0
        private static void consultarAvances(Tarea tarea)
        {
            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            Consulta consulta = new Consulta()
                                .Select("a.id_avance, fecha, horasdedicadas,descripcion,creador")
                                .From("avance a inner join  avanceportarea t on (a.id_avance = t.id_avance)")
                                .Where("t.id_tarea = '" + tarea.codigo + "'");

            Object[][] resultSet = DbConnection.consultar(consulta.Get(), 5);
            for (int i = 0; i < resultSet.Count(); i++)
            {
                Avance   a      = new Avance();
                String[] result = Array.ConvertAll(resultSet[i], p => (p ?? String.Empty).ToString());
                a.id = result[0];
                DateTime fchEntrega;
                string   fchs = result[1].Split()[0];
                try
                {
                    a.Fecha = DateTime.ParseExact(fchs, "d/M/yyyy", CultureInfo.InvariantCulture);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                a.HorasDedicadas = int.Parse(result[2]);
                a.descripción    = result[3];
                a.creador        = DAOUsuario.consultarUsuario(result[4]);
                a.nbrActividad   = tarea.nombre;
                consultarEvidencias(a);
                tarea.avances.Add(a);
            }
        }
예제 #2
0
        public static Proyecto consultarProyecto(String id)
        {
            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            Object[][]             resultSet    = DbConnection.consultar(new Consulta().Select("*").From("Proyecto").Where(String.Format("id_proyecto = {0}", id)).Get(), 3);
            Proyecto proyecto = new Proyecto();

            try
            {
                String[] proyAttrib = Array.ConvertAll(resultSet[0], p => (p ?? String.Empty).ToString());
                proyecto.id     = proyAttrib[0];
                proyecto.nombre = proyAttrib[1];
                Usuario administrador = DAOUsuario.consultarUsuario(proyAttrib[2]);
                if (administrador != null)
                {
                    administrador.isAdministrador  = true;
                    proyecto.administradorProyecto = administrador;
                }
                asignarMiembros(proyecto);
                proyecto.secciones = consultarTarea(id);
            }
            catch (Exception e) {
                Console.WriteLine(e.StackTrace);
            }


            return(proyecto);
        }
예제 #3
0
        public static Boolean agregarProyecto(Proyecto proyecto)
        {
            gestor.GestorBaseDatos db = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            DAOUsuario.agregarUsuario(proyecto.administradorProyecto);
            db.conectar();
            string query  = string.Format("insert into Proyecto values ('{0}', '{1}', '{2}')", proyecto.id, proyecto.nombre, proyecto.administradorProyecto.id);
            bool   result = db.executeNonQuery(query);

            db.desconectar();
            foreach (Usuario usuario in proyecto.miembros)
            {
                DAOUsuario.agregarUsuario(usuario);
                result &= agregarMiembroPorProyecto(proyecto.id, usuario.id);
            }
            foreach (Tarea seccion in proyecto.secciones)
            {
                if (seccion.codigo != null)
                {
                    result &= agregarTarea(seccion, null, proyecto.id);
                    result &= agregarTareaPorProyecto(proyecto.id, seccion.codigo);
                }
                foreach (Tarea tarea in seccion.tareas)
                {
                    agregarTarea(tarea, seccion, proyecto);
                }
            }
            return(result);
        }
예제 #4
0
        private static List <Tarea> consultarTarea(string proyecto)
        {
            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            List <Tarea>           result       = new List <Tarea>();

            Object[][] tareas = DbConnection.consultar(new Consulta().Select("*").From("Tarea t")
                                                       .Where(
                                                           String.Format("id_proyecto = {0} AND \"id_tareaPadre\" IS NULL AND EXISTS ({1})", proyecto,
                                                                         new Consulta().Select("*").From("tareaporseccion ts").Where("t.id_tarea = ts.id_seccion").Get()))
                                                       .OrderBy("t.nombre").Get(), 8);
            for (int i = 0; i < tareas.Count(); i++)
            {
                String[] datosTarea = Array.ConvertAll(tareas[i], p => (p ?? String.Empty).ToString());
                Tarea    t          = new Tarea();
                Int64    id         = 0;
                if (Int64.TryParse(datosTarea[0], out id))
                {
                    t.codigo = datosTarea[0];
                    t.tareas = consultarTareaHijas(id, proyecto, true); //RETORNA 0 SIEMPRE
                }
                Usuario encargado = DAOUsuario.consultarUsuario(datosTarea[1]);
                if (encargado == null)
                {
                    Console.WriteLine("tarea " + t.codigo + " no tiene encargado");
                }
                //TODO: Asignar Seguidores
                t.encargado  = encargado;
                t.seguidores = asignarSeguidores(t.codigo);
                string fechaprueba;
                try
                {
                    fechaprueba       = datosTarea[2].Split()[0];
                    t.fchFinalizacion = DateTime.ParseExact(fechaprueba, "d/M/yyyy", CultureInfo.InvariantCulture);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                try
                {
                    fechaprueba  = datosTarea[3].Split()[0];
                    t.fchEntrega = DateTime.ParseExact(fechaprueba, "d/M/yyyy", CultureInfo.InvariantCulture);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                t.nombre = datosTarea[4];
                t.notas  = datosTarea[5];
                consultarAvances(t);
                result.Add(t);
            }
            return(result);
        }
예제 #5
0
 private static void asignarMiembros(Proyecto proyecto)
 {
     gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
     Object[][]             resultSet    = DbConnection.consultar(new Consulta().Select("id_usuario").From("miembroporproyecto").Where(String.Format("id_proyecto = {0}", proyecto.id)).Get(), 1);
     for (int i = 0; i < resultSet.Count(); i++)
     {
         String[] result = Array.ConvertAll(resultSet[i], p => (p ?? String.Empty).ToString());
         Usuario  u      = DAOUsuario.consultarUsuario(result[0]);
         proyecto.miembros.Add(u);
     }
 }
예제 #6
0
        private static List <Usuario> asignarSeguidores(string codigo)
        {
            List <Usuario> seguidores = new List <Usuario>();

            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            Object[][]             resultSet    = DbConnection.consultar(new Consulta().Select("id_usuario").From("seguidorportarea").Where(String.Format("id_tarea = {0}", codigo)).Get(), 1);
            for (int i = 0; i < resultSet.Count(); i++)
            {
                String[] result = Array.ConvertAll(resultSet[i], p => (p ?? String.Empty).ToString());
                Usuario  u      = DAOUsuario.consultarUsuario(result[0]);
                seguidores.Add(u);
            }
            return(seguidores);
        }