Beispiel #1
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);
        }
        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);
        }
Beispiel #3
0
        public static Boolean crearAvance(Avance avance)
        {
            gestor.GestorBaseDatos db = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            db.conectar();
            string query = "insert into Avance values ('{0}', '{1}', '{2}', '{3}', '{4}')";

            query = string.Format(query, avance.id, avance.Fecha.ToString("yyyy-MM-dd"), avance.HorasDedicadas, avance.descripción, avance.creador.id);
            bool result = db.executeNonQuery(query);

            foreach (Evidencia evidencia in avance.evidencias)
            {
                result &= agregarEvidencia(evidencia, avance.id);
            }
            db.desconectar();
            return(result);
        }
Beispiel #4
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);
        }
 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);
     }
 }
Beispiel #6
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++;
            }
        }
Beispiel #7
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);
        }
Beispiel #8
0
        public static Boolean eliminarAvance(string id)
        {
            gestor.GestorBaseDatos db = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            db.conectar();
            string query = "Delete from EvidenciaPorAvance where id_avance = {0}";

            query = string.Format(query, id);
            bool result = db.executeNonQuery(query);

            query = "Delete from AvancePorTarea where id_avance = {0}";
            query = string.Format(query, id);
            bool result2 = db.executeNonQuery(query);

            query = "Delete from Avance where id_avance = {0}";
            query = string.Format(query, id);
            bool result3 = db.executeNonQuery(query);

            db.desconectar();


            return(result && result2 && result3);
        }
Beispiel #9
0
        public static bool agregarEvidencia(Evidencia evidencia, string idAvance)
        {
            gestor.bd.PostgresBaseDatos db = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            db.conectar();
            //Query
            Npgsql.NpgsqlCommand objCom = new Npgsql.NpgsqlCommand("insert into EvidenciaPorAvance " + " (id_avance, tipo, documento) values (:id, :tipo, :doc)", db.conn);
            //Id avance
            Npgsql.NpgsqlParameter idAvanceParam = new Npgsql.NpgsqlParameter("@id", NpgsqlTypes.NpgsqlDbType.Numeric);
            idAvanceParam.Value = decimal.Parse(idAvance);
            objCom.Parameters.Add(idAvanceParam);
            //Tipo de documento
            Npgsql.NpgsqlParameter tipoParam = new Npgsql.NpgsqlParameter("@tipo", NpgsqlTypes.NpgsqlDbType.Varchar);
            tipoParam.Value = evidencia.tipo;
            objCom.Parameters.Add(tipoParam);
            //Documento
            Npgsql.NpgsqlParameter docParam = new Npgsql.NpgsqlParameter("@doc", NpgsqlTypes.NpgsqlDbType.Bytea);
            docParam.Value = evidencia.documento;
            objCom.Parameters.Add(docParam);
            bool result = objCom.ExecuteNonQuery() != 0;

            db.desconectar();
            return(result);
        }
Beispiel #10
0
        public static Boolean agregarTarea(Tarea tarea, string idPadre, string idProyecto)
        {
            gestor.GestorBaseDatos db = new gestor.bd.PostgresBaseDatos("35.239.31.249", "postgres", "5432", "E@05face", "asana_upgradedb");
            string query = "";

            if (tarea.isFinalizada)
            {
                if (tarea.fchEntrega.ToString("yyyy-MM-dd") != "0001-01-01")
                {
                    query = "insert into Tarea (id_tarea, \"idEncargado\", \"fchFinalizacion\", \"fchEntrega\", \"id_tareaPadre\", id_proyecto, nombre, nota) values ('{0}', '{1}', '{2}', '{3}', {4}, '{5}', '{6}', '{7}')";
                    query = string.Format(query, tarea.codigo, tarea.encargado == null ? "null" : tarea.encargado.id, tarea.fchFinalizacion.ToString("yyyy-MM-dd"), tarea.fchEntrega.ToString("yyyy-MM-dd"), idPadre == null ? "null" : "'" + idPadre + "'", idProyecto, tarea.nombre, tarea.notas);
                }
                else
                {
                    query = "insert into Tarea (id_tarea, \"idEncargado\", \"fchFinalizacion\", \"id_tareaPadre\", id_proyecto, nombre, nota) values ('{0}', '{1}', '{2}', {3}, '{4}', '{5}', '{6}')";
                    query = string.Format(query, tarea.codigo, tarea.encargado == null ? "null" : tarea.encargado.id, tarea.fchFinalizacion.ToString("yyyy-MM-dd"), idPadre == null ? "null" : "'" + idPadre + "'", idProyecto, tarea.nombre, tarea.notas);
                }
            }
            else
            {
                if (tarea.fchEntrega.ToString("yyyy-MM-dd") != "0001-01-01")
                {
                    query = "insert into Tarea (id_tarea, \"idEncargado\", \"fchEntrega\", \"id_tareaPadre\", id_proyecto, nombre, nota) values ('{0}', '{1}', '{2}', {3}, '{4}', '{5}', '{6}')";
                    query = string.Format(query, tarea.codigo, tarea.encargado == null ? "null" : tarea.encargado.id, tarea.fchEntrega.ToString("yyyy-MM-dd"), idPadre == null ? "null" : "'" + idPadre + "'", idProyecto, tarea.nombre, tarea.notas);
                }
                else
                {
                    query = "insert into Tarea (id_tarea, \"idEncargado\", \"id_tareaPadre\", id_proyecto, nombre, nota) values ('{0}', '{1}', {2}, '{3}', '{4}', '{5}')";
                    query = string.Format(query, tarea.codigo, tarea.encargado == null ? "null" : tarea.encargado.id, idPadre == null ? "null" : "'" + idPadre + "'", idProyecto, tarea.nombre, tarea.notas);
                }
            }
            db.conectar();
            bool result = db.executeNonQuery(query);

            db.desconectar();
            return(result);
        }
Beispiel #11
0
        private static List <Tarea> consultarTareaHijas(long tareaPadre, string id_proyecto, bool isTarea)
        {
            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;
            if (isTarea)
            {
                tareas = DbConnection.consultar(new Consulta().Select("*").From("Tarea t")
                                                .Where(
                                                    String.Format("id_proyecto = {0} AND \"id_tareaPadre\" IS NULL AND EXISTS ({1})", id_proyecto,
                                                                  new Consulta().Select("*").From("tareaporseccion ts")
                                                                  .Where(String.Format("t.id_tarea = ts.id_tarea and ts.id_seccion = '{0}'", tareaPadre)).Get()))
                                                .OrderBy("t.id_tarea").Get(), 8);
            }
            else
            {
                tareas = DbConnection.consultar(new Consulta().Select("*").From("Tarea").Where(String.Format("\"id_tareaPadre\" = '{0}' ", tareaPadre)).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();
                long     id         = 0;
                if (Int64.TryParse(datosTarea[0], out id))
                {
                    t.codigo = datosTarea[0];
                    if (isTarea)
                    {
                        t.tareas = consultarTareaHijas(id, id_proyecto, false);
                    }
                }
                Usuario encargado = DAOUsuario.consultarUsuario(datosTarea[1]);
                if (encargado == null)
                {
                    Console.WriteLine("tarea" + t.codigo + "no tiene encargado");
                }
                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);
        }