예제 #1
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);
        }
예제 #2
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);
            }
        }
예제 #3
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);
        }
예제 #4
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);
     }
 }
예제 #5
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);
        }
예제 #6
0
        public static List <Usuario> consultarUsuarios()
        {
            gestor.GestorBaseDatos db       = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            Object[][]             response = db.consultar(new Consulta().Select("id_usuario,nombre").From("usuario").Get(), 2);
            List <Usuario>         usuarios = new List <Usuario>();

            for (int i = 0; i < response.Count(); i++)
            {
                Usuario  usr    = new Usuario();
                String[] result = Array.ConvertAll(response[i], p => (p ?? String.Empty).ToString());
                usr.id     = result[0];
                usr.nombre = result[1];
                usuarios.Add(usr);
            }
            return(usuarios);
        }
예제 #7
0
        public static List <Tarea> consultarActividades(string idProyecto)
        {
            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            List <Tarea>           tareas       = new List <Tarea>();
            Consulta consulta = new Consulta().Select("t.id_tarea,t.nombre").From("Tarea t").Where("t.id_proyecto = '" + idProyecto + "'");

            Object[][] resultSet = DbConnection.consultar(consulta.Get(), 2);
            for (int i = 0; i < resultSet.Count(); i++)
            {
                Tarea    t      = new Tarea();
                String[] result = Array.ConvertAll(resultSet[i], p => (p ?? String.Empty).ToString());
                t.codigo = result[0];
                t.nombre = result[1];
                tareas.Add(t);
            }
            return(tareas);
        }
예제 #8
0
 public static Usuario consultarUsuario(String usr)
 {
     gestor.GestorBaseDatos db       = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
     Object[][]             response = db.consultar(new Consulta().Select("*").From("usuario").Where(String.Format("id_usuario = '{0}'", usr)).Get(), 6);
     if (response.Count() > 0)
     {
         Usuario  user     = new Usuario();
         String[] userData = Array.ConvertAll(response[0], p => (p ?? String.Empty).ToString());
         user.id     = userData[0];
         user.nombre = userData[1];
         // userData[2] --> usuario
         user.contraseña      = userData[3];
         user.correo          = userData[4];
         user.isAdministrador = Boolean.Parse(userData[5]);
         return(user);
     }
     else
     {
         return(null);
     }
 }
예제 #9
0
        private static void consultarEvidencias(Avance avance)
        {
            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            Consulta consulta = new Consulta()
                                .Select("tipo,documento")
                                .From("evidenciaporavance")
                                .Where("id_avance = '" + avance.id + "'");

            Object[][] resultSet = DbConnection.consultar(consulta.Get(), 2);
            avance.cantidadEvidencias = 0;
            for (int i = 0; i < resultSet.Count(); i++)
            {
                Evidencia e      = new Evidencia();
                object[]  result = resultSet[i];
                e.tipo = (string)result[0];

                e.documento = getByteArrayFromObjectArray(result[1]);
                avance.evidencias.Add(e);
                avance.cantidadEvidencias++;
            }
        }
예제 #10
0
        public static List <Proyecto> consultarProyectos(Usuario usr)
        {
            gestor.GestorBaseDatos DbConnection = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            List <Proyecto>        proyectos    = new List <Proyecto>();
            Consulta consulta = new Consulta().Select("p.id_proyecto,p.nombre").From("Proyecto p");

            if (!usr.isAdministrador)
            {
                consulta.Join("miembroporproyecto m", "p.id_proyecto = m.id_proyecto").Where("m.id_usuario = '" + usr.id + "'");
            }

            Object[][] resultSet = DbConnection.consultar(consulta.Get(), 2);
            for (int i = 0; i < resultSet.Count(); i++)
            {
                Proyecto pr     = new Proyecto();
                String[] result = Array.ConvertAll(resultSet[i], p => (p ?? String.Empty).ToString());
                pr.id     = result[0];
                pr.nombre = result[1];
                proyectos.Add(pr);
            }
            return(proyectos);
        }