Example #1
0
        public void RemplirGv()
        {
            List <Contact> lc = new List <Contact>();

            // Masquage du champ auto_id
            gvListeContacts.Columns[0].Visible = false;

            // Si l'API est disponible
            if (fc.token != null)
            {
                maRequete.RecupererContacts(fc.token);

                // Récupération des contacts
                String json = maRequete.GetResult();
                lc = JsonConvert.DeserializeObject <List <Contact> >(json);

                // Suppression des contacts dans la base locale
                db.SupprimerContactsUser(fc.user.id);

                // Enregistrement des contacts dans la base locale
                foreach (Contact c in lc)
                {
                    db.EnregistrerContact(c);
                }

                u = fc.user;

                gvListeContacts.AutoGenerateEditButton   = true;
                gvListeContacts.AutoGenerateDeleteButton = true;
            }

            SqlDataSourceContacts.SelectParameters["user_id"].DefaultValue = u.id.ToString();
        }
        protected void tbEnvoyer_Click(object sender, EventArgs e)
        {
            Connexion connexion = new Connexion(tbEmail.Text, tbMdp.Text);
            Requete   maRequete = new Requete();
            Boolean   connecte  = maRequete.SeConnecter(connexion);
            DataBase  db        = new DataBase();
            User      u         = db.RecupererUser(tbEmail.Text, tbMdp.Text);

            // Si l'utilisateur est connecté via l'API
            if (connecte)
            {
                String        json    = maRequete.GetResult();
                FluxConnexion monFlux = JsonConvert.DeserializeObject <FluxConnexion>(json);

                // Si l'utilisateur n'existe pas en BDD locale
                if (u.name == null)
                {
                    u.id       = monFlux.user.id;
                    u.name     = monFlux.user.name;
                    u.email    = monFlux.user.email;
                    u.password = tbMdp.Text;
                    db.EnregistrerUser(u);
                }
                // Si l'id user a changé (création d'un nouveau compte avec le même email et le même mot de passe)
                else if (u.id != monFlux.user.id)
                {
                    long old_id = u.id;
                    u.id = monFlux.user.id;
                    db.ModifierUser(u, old_id);
                }

                Session["FluxConnexion"] = monFlux;
                Response.Redirect("ListeContacts.aspx");
            }
            else
            {
                // Si l'utilisateur est connecté en local
                if (u != null)
                {
                    Session["User"] = u;
                    Response.Redirect("ListeContacts.aspx");
                }
            }
        }