Beispiel #1
0
        public async Task <bool> getExamenCortas(string asignatura, string numPreguntas)
        {
            List <PreguntaInterface> preguntasExamen = new List <PreguntaInterface>();
            string response = await Comunicacion.getExamen(AplicationSettings.getToken(), asignatura, "sa", numPreguntas);

            JObject o = JObject.Parse(response);

            if ((string)o.SelectToken("error") == "200")
            {
                AplicationSettings.setIdTest((string)o.SelectToken("test"));
                JArray preguntas = (JArray)o.SelectToken("data");
                foreach (var p in preguntas)
                {
                    preguntasExamen.Add(new PreguntaCortaRespuesta(Convert.ToInt32((string)p.SelectToken("pk")),
                                                                   (string)p.SelectToken("enunciado"),
                                                                   (string)p.SelectToken("respuestaCorta"),
                                                                   Convert.ToInt32((string)p.SelectToken("tema"))));
                }
                if (getExanenCompletado != null)
                {
                    getExanenCompletado(this, new ExamenEventArgs(preguntasExamen));
                }
                return(true);
            }


            return(false);
        }
Beispiel #2
0
        public async Task <bool> sendResultadoExamen(string asignatura, int numRespuestasCorrectas, int numeroPreguntas, List <PreguntaRespondidaInterface> lista, long tiempo, string tipoExamen)
        {
            string json = "";
            List <RespuestaPregunta> list = new List <RespuestaPregunta>();

            if (tipoExamen == "na")
            {
                list = RespuestaPregunta.parseRespuestaPregunta(lista.Cast <PreguntaRespondida>().ToList());
            }
            else if (tipoExamen == "ma")
            {
                list = RespuestaPregunta.parseRespuestaPregunta(lista.Cast <PreguntaMultiRespondida>().ToList());
            }
            else if (tipoExamen == "pa")
            {
                list = RespuestaPregunta.parseRespuestaPregunta(lista.Cast <PreguntaParejasRespondida>().ToList());
            }
            else if (tipoExamen == "sa")
            {
                list = RespuestaPregunta.parseRespuestaPregunta(lista.Cast <PreguntaRespondidaCorta>().ToList());
            }
            else
            {
                return(false);
            }
            json = JsonConvert.SerializeObject(list);

            string response = await Comunicacion.sendResults(AplicationSettings.getToken(), AplicationSettings.getIdTest(), json, tiempo + "", numRespuestasCorrectas + "", tipoExamen);

            //Continuar por aqui...

            return(true);
        }
Beispiel #3
0
        public async Task <bool> getThemeFromServer(string asignatura)
        {
            List <Tema> temasAsignatura = new List <Tema>();
            string      response        = await Comunicacion.getTemaAsignatura(AplicationSettings.getToken(), asignatura);

            JObject o = JObject.Parse(response);

            if ((string)o.SelectToken("error") == "200")
            {
                JArray temas = (JArray)o.SelectToken("data");
                foreach (var t in temas)
                {
                    temasAsignatura.Add(new Tema(Convert.ToInt32((string)t.SelectToken("pk")),
                                                 (string)t.SelectToken("nombre"),
                                                 Convert.ToInt32(asignatura)));
                }

                if (getTemasServerCompletado != null)
                {
                    getTemasServerCompletado(this, new TemaEventServerArgs(temasAsignatura));
                }

                DB_Tema.insertAll(temasAsignatura);

                return(true);
            }
            return(false);
        }
        public async Task <bool> updateMensajesTablon(int idInit, int idFin, int idFaculty)
        {
            string response = await Comunicacion.updateMessages(AplicationSettings.getToken(), idInit + "", idFin + "", idFaculty + "");

            JObject json = JObject.Parse(response);

            if ((string)json.SelectToken("error") == "200")
            {
                List <UpdateMensajeTablon> listUpdate = new List <UpdateMensajeTablon>();
                JArray mensajeJArray = (JArray)json.SelectToken("data");
                foreach (var m in mensajeJArray)
                {
                    listUpdate.Add(new UpdateMensajeTablon(Convert.ToInt32((string)m.SelectToken("pk")),
                                                           Convert.ToInt32((string)m.SelectToken("num_fav")),
                                                           Convert.ToBoolean((string)m.SelectToken("user_favorited")),
                                                           Convert.ToBoolean((string)m.SelectToken("borrado"))));
                }

                dataBase.updateInfoMensajesTablon(listUpdate);

                if (updateMensajesTablonCompletado != null)
                {
                    updateMensajesTablonCompletado(this, new UpdateMensajesEventArgs(listUpdate));
                }

                return(true);
            }

            return(false);
        }
Beispiel #5
0
        public static async Task <List <Asignatura> > getAsignaturaFavoritasFromServer(string token)
        {
            string result = await Comunicacion.getAsignaturasFavoritas(token);

            List <Asignatura> ret = new List <Asignatura>();
            JObject           o   = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                BD_AsignaturaExamen.borrarTodas();
                JArray asignaturas = (JArray)o["data"];
                foreach (var a in asignaturas)
                {
                    Asignatura agregar = new Asignatura(Convert.ToInt32((string)a.SelectToken("pk")),
                                                        (string)a.SelectToken("nombre"),
                                                        (string)a.SelectToken("abreviatura"),
                                                        Convert.ToInt32((string)a.SelectToken("facultad")),
                                                        (string)a.SelectToken("anno"));
                    ret.Add(agregar);
                    BD_AsignaturaExamen.insert(agregar);
                }
            }

            return(ret);
        }
        public async Task <bool> borrarMensaje(string idMensaje)
        {
            string response = await Comunicacion.deleteMensaje(AplicationSettings.getToken(), idMensaje);

            JObject json = JObject.Parse(response);

            if ((string)json.SelectToken("error") == "200")
            {
                return(true);
            }
            return(false);
        }
        public async Task <bool> getMensajesTablonFromServer(string idFacultad)
        {
            List <MensajeTablon> mensajesNuevos = new List <MensajeTablon>();
            var    asd      = dataBase.getMAXIdFormMensajeTablon(idFacultad);
            string response = await Comunicacion.getMensajes(AplicationSettings.getToken(), dataBase.getMAXIdFormMensajeTablon(idFacultad) + "", idFacultad);

            JObject json = JObject.Parse(response);

            if ((string)json.SelectToken("error") == "200")
            {
                List <int> idUsuariosDistintos = new List <int>();

                JArray jArray = (JArray)json["data"];
                foreach (var mensaje in jArray)
                {
                    JObject userInfo        = (JObject)mensaje.SelectToken("usuario");
                    string  asdasdasdsa     = (string)userInfo.SelectToken("image");
                    int     idUsuarioActual = Convert.ToInt32((string)userInfo.SelectToken("pk"));
                    mensajesNuevos.Add(new MensajeTablon(
                                           Convert.ToInt32((string)mensaje.SelectToken("pk")),
                                           idUsuarioActual,
                                           (string)userInfo.SelectToken("username"),
                                           (string)mensaje.SelectToken("texto"),
                                           //Comunicacion.baseURL  +  (string)userInfo.SelectToken("image"),
                                           Comunicacion.baseURL + "media/users/pic_image_" + (string)userInfo.SelectToken("pk") + ".jpg",
                                           Convert.ToInt32((string)mensaje.SelectToken("fecha_creacion")),
                                           Convert.ToInt32(idFacultad),
                                           Convert.ToInt32((string)mensaje.SelectToken("num_fav")),
                                           Convert.ToBoolean((string)mensaje.SelectToken("user_favorited"))));
                    if (idUsuariosDistintos.Contains(idUsuarioActual))
                    {
                        idUsuariosDistintos.Add(idUsuarioActual);
                    }
                }

                dataBase.insertAll(mensajesNuevos);

                if (getMensajesTablonServerCompletado != null)
                {
                    getMensajesTablonServerCompletado(this, new MensajesTablonServerEventArgs(mensajesNuevos));
                }
                return(true);
            }
            else if ((string)json.SelectToken("error") == "201")
            {
                if (getMensajesTablonServerCompletado != null)
                {
                    getMensajesTablonServerCompletado(this, new MensajesTablonServerEventArgs(mensajesNuevos));
                }
            }
            return(false);
        }
        public async Task <bool> favMesajeTablon(MensajeTablon message)
        {
            string response = await Comunicacion.favoriteMessage(AplicationSettings.getToken(), message.identificador + "");

            JObject json = JObject.Parse(response);

            if ((string)json.SelectToken("error") == "200")
            {
                dataBase.updateMessage(message);
                return(true);
            }
            return(false);
        }
Beispiel #9
0
        public static async Task <bool> deleteAsingaturaFavorito(string token, Asignatura asignatura)
        {
            string result = await Comunicacion.borrarAsignaturasFavoritas(token, asignatura.identificador + "");

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                BD_AsignaturaExamen.deleteAsignatura(asignatura);
                return(true);
            }
            return(false);
        }
        public static async Task <bool> LoguearUsuario(string usuario, string contraseña)
        {
            string result = await Comunicacion.loguearUsuario(usuario, contraseña);

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                //AplicationSettings.setToken((string)o.SelectToken("token").SelectToken("token"));
                //return true;
                savesPropertys(o);
                return(true);
            }
            return(false);
        }
        public static async Task <bool> CambiarFacultad(string idFacultad, string pass)
        {
            string result = await Comunicacion.cambiarFacultad(AplicationSettings.getToken(), pass, idFacultad);

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                return(true);
            }
            else
            {
                AplicationSettings.setErrorServer((string)o.SelectToken("error_msg"));
                return(false);
            }
        }
        public static async Task <bool> CambiarContraseña(string antiguaPass, string nuevaPass)
        {
            string result = await Comunicacion.cambiarContraseña(AplicationSettings.getToken(), antiguaPass, nuevaPass);

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                return(true);
            }
            else
            {
                AplicationSettings.setErrorServer((string)o.SelectToken("error_msg"));
                return(false);
            }
        }
        public static async Task <bool> RegistrarUsuario(string usuario, string contraseña, string correo, string uni, string facul, string model, string platform, string displaysize)
        {
            string result = await Comunicacion.registrarUsuario(usuario, contraseña, correo, uni, facul, model, platform, displaysize);

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                savesPropertys(o);
                return(true);
            }
            else if ((string)o.SelectToken("error") == "406")
            {
                AplicationSettings.setErrorServer((string)o.SelectToken("error_msg"));
            }
            return(false);
        }
        public static async Task <bool> RegistrarUsuario(string usuario, string contraseña, string correo, string uni, string facul)
        {
            string result = await Comunicacion.registrarUsuario(usuario, contraseña, correo, uni, facul);

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                AplicationSettings.setToken((string)o.SelectToken("token"));
                return(true);
            }
            else if ((string)o.SelectToken("error") == "406")
            {
                AplicationSettings.setErrorServer((string)o.SelectToken("error_msg"));
            }
            return(false);
        }
        public static async Task <bool> ExisteEmail(string email)
        {
            string result = await Comunicacion.consultaEmail(email);

            JObject o = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                if ((string)o.SelectToken("available") == "0")
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            return(false);
        }
        public async Task <bool> postMensajeTablon(string mensaje, string idFacultad)
        {
            string response = await Comunicacion.postMensaje(AplicationSettings.getToken(), mensaje, idFacultad);

            JObject json = JObject.Parse(response);

            if ((string)json.SelectToken("error") == "200")
            {
                List <MensajeTablon> mensajesNuevos = new List <MensajeTablon>();
                //HAY QUE PONER EL ID DEL USUARIO CORRECTO!!!!
                JArray mensajeJArray = (JArray)json.SelectToken("data");

                foreach (var mensajeJson in mensajeJArray)
                {
                    mensajesNuevos.Add(new MensajeTablon(Convert.ToInt32((string)mensajeJson.SelectToken("pk")),
                                                         Convert.ToInt32((string)mensajeJson.SelectToken("usuario").SelectToken("pk")),
                                                         (string)mensajeJson.SelectToken("usuario").SelectToken("username"),
                                                         mensaje,
                                                         Comunicacion.baseURL + "media/users/pic_image_" + (string)mensajeJson.SelectToken("usuario").SelectToken("pk") + ".jpg",
                                                         Convert.ToInt32((string)mensajeJson.SelectToken("fecha_creacion")),
                                                         Convert.ToInt32(idFacultad),
                                                         0,
                                                         false));
                }

                //dbConn = new SQLiteConnection(DB_PATH);
                //dbConn.InsertAll(mensajesNuevos);
                if (AplicationSettings.GetAnonimo())
                {
                    mensajesNuevos[0].nombre = "Anónimo";
                    mensajesNuevos[0].foto   = Comunicacion.baseURL + "media/users/no_image.png";
                }
                dataBase.insertAll(mensajesNuevos);

                if (getMensajesTablonServerCompletado != null)
                {
                    getMensajesTablonServerCompletado(this, new MensajesTablonServerEventArgs(mensajesNuevos));
                }

                return(true);
            }
            return(false);
        }
Beispiel #17
0
        public static async Task <List <Asignatura> > getAsignaturas(string token, string año, string facultad)
        {
            string result = await Comunicacion.getAsignaturas(token, año, facultad);

            List <Asignatura> ret = new List <Asignatura>();
            JObject           o   = JObject.Parse(result);

            if ((string)o.SelectToken("error") == "200")
            {
                JArray asignaturas = (JArray)o["data"];
                foreach (var a in asignaturas)
                {
                    ret.Add(new Asignatura(Convert.ToInt32((string)a.SelectToken("pk")),
                                           (string)a.SelectToken("nombre"),
                                           (string)a.SelectToken("abreviatura"),
                                           Convert.ToInt32(facultad),
                                           año));
                }
            }
            BD_AsignaturaCurso.insertAll(ret);
            return(ret);
        }