Esempio n. 1
0
    public void btnConnexion_click(Object sender, EventArgs e)
    {
        String typeUtilisateur = null;
        String courriel        = tbCourriel.Text;
        String MDP             = tbMDP.Text;

        if (dbContext.PPClients.Where(c => c.AdresseEmail == courriel).Any())
        {
            typeUtilisateur = "C";
        }
        else if (dbContext.PPVendeurs.Where(v => v.AdresseEmail == courriel).Any())
        {
            typeUtilisateur = "V";
        }
        else if (dbContext.PPGestionnaires.Where(g => g.courriel == courriel).Any())
        {
            typeUtilisateur = "G";
        }

        bool   verdictConnexion = false;
        String url = "";

        int codeErreur = typeUtilisateur != null?LibrairieLINQ.connexionOK(courriel, MDP, typeUtilisateur) : 401;

        if (typeUtilisateur != null)
        {
            if (typeUtilisateur == "C" && codeErreur == 400)
            {
                verdictConnexion = true;
                List <String> lstInfos = LibrairieLINQ.infosBaseClient(courriel);
                Session["TypeUtilisateur"] = "C";
                Session["NoClient"]        = lstInfos[0];
                Session["Nom"]             = lstInfos[1];
                Session["Prenom"]          = lstInfos[2];
                Session["Courriel"]        = lstInfos[3];
                url = "~/Pages/AccueilClient.aspx?";

                PPClients client = dbContext.PPClients.Where(c => c.AdresseEmail == courriel).Single();
                if (client.DateDerniereConnexion != null)
                {
                    if (client.DateDerniereConnexion.Value.Date != DateTime.Now.Date)
                    {
                        client.NbConnexions++;
                        client.DateDerniereConnexion = DateTime.Now;
                    }
                }
                else
                {
                    client.NbConnexions++;
                    client.DateDerniereConnexion = DateTime.Now;
                }

                try
                {
                    dbContext.SaveChanges();
                }
                catch { }
            }
            else if (typeUtilisateur == "V" && codeErreur == 400)
            {
                verdictConnexion = true;
                List <String> lstInfos = LibrairieLINQ.infosBaseVendeur(courriel);
                Session["TypeUtilisateur"] = "V";
                Session["NoVendeur"]       = lstInfos[0];
                Session["NomAffaire"]      = lstInfos[1];
                Session["Nom"]             = lstInfos[2];
                Session["Prenom"]          = lstInfos[3];
                Session["Courriel"]        = lstInfos[4];
                url = "~/Pages/ConnexionVendeur.aspx?";
            }
            else if (typeUtilisateur == "G" && codeErreur == 400)
            {
                verdictConnexion           = true;
                Session["TypeUtilisateur"] = "G";
                url = "~/Pages/AcceuilGestionnaire.aspx?";
            }
        }

        if (verdictConnexion)
        {
            if (cbSeSouvenir.Checked)
            {
                HttpCookie cookie = new HttpCookie("idPetitesPuces");
                cookie.Value   = courriel;
                cookie.Expires = DateTime.MaxValue;
                Response.Cookies.Add(cookie);
            }

            Response.Redirect(url, true);
        }
        else
        {
            tbCourriel.CssClass = "form-control erreur";
            tbMDP.CssClass      = "form-control erreur";

            alert_erreur.Visible = true;
            if (codeErreur == 401)
            {
                lblMessageErreur.Text = "Courriel ou mot de passe incorrect";
            }
            else if (codeErreur == 402)
            {
                lblMessageErreur.Text = "Impossible d'établir une connexion";
            }
            else if (codeErreur == 403)
            {
                lblMessageErreur.Text = "Demande en attente d'acceptation";
            }
        }
    }