예제 #1
0
        public ActionResult Profil(string ancienEmail, string login, string email, string ancienMdp, string nom, string prenom, string telephone, string mdp, string mdp2)
        {
            ViewBag.Login     = login;
            ViewBag.Email     = email;
            ViewBag.Nom       = nom;
            ViewBag.Prenom    = prenom;
            ViewBag.Telephone = telephone;
            ViewBag.Mdp       = mdp;
            ViewBag.AncienMdp = ancienMdp;

            StringBuilder messageFabrique = new StringBuilder();

            ClientDAL clientDAL = new ClientDAL();
            Client    client    = clientDAL.Connexion(ancienEmail, ancienMdp);
            bool      erreur    = false;

            if (client == null)
            {
                messageFabrique.Append("L'ancien mot de passe n'est pas correct.");
                erreur            = true;
                ViewBag.AncienMdp = "";
            }
            else
            {
                int verifClientId = clientDAL.ExisteLogin(login);
                if (verifClientId != 0 && verifClientId != Client.Id)
                {
                    ViewBag.Login = "";
                    messageFabrique.Append("Le nouveau nom d'utilisateur est déjà utilisé.\n");
                    erreur = true;
                }
                verifClientId = clientDAL.ExisteEmail(email);
                if (verifClientId != 0 && verifClientId != Client.Id)
                {
                    ViewBag.Email = "";
                    messageFabrique.Append("Le nouvel Email est déjà utilisé.\n");
                    erreur = true;
                }
                string nouveauMdp = "";
                if (mdp == "" && mdp2 == "")
                {
                    nouveauMdp = ancienMdp;
                }
                else if (VerifMdp(mdp, mdp2))
                {
                    nouveauMdp = mdp;
                }
                else
                {
                    ViewBag.Mdp = "";
                    messageFabrique.Append("Mauvais choix de mots de passe. (minimum 8 caractères et identiques)");
                    erreur = true;
                }
                if (!erreur)
                {
                    if (clientDAL.Modification(client.Id, nouveauMdp, login, email, nom, prenom, telephone) == 1)
                    {
                        messageFabrique.Append("La modification du profil a bien été prise en compte.");
                        Client = clientDAL.Connexion(email, nouveauMdp);
                    }
                    else
                    {
                        messageFabrique.Append("Une erreur s'est produite lors de la mise à jour de vos données");
                        erreur = true;
                    }
                }
            }
            string message = messageFabrique.ToString();

            if (erreur)
            {
                TempData["message"] = new Message(message, TypeMessage.Erreur);
            }
            else
            {
                TempData["message"] = new Message(message, TypeMessage.Ok);
            }

            CommandeDAL commandeDAL = new CommandeDAL();

            ViewBag.RemiseTotalClient = commandeDAL.RemiseTotaleClient(Client.Id); //todo vérifier si code utile
            return(View(Client));
        }