예제 #1
0
        protected void DoPlaceOrder()
        {
            // Write to the Database
            ArchiveDataLayer layer = new ArchiveDataLayer();

            foreach (CartItem c in Session.Instance().Panier.Products)
            {
                layer.AddTransaction(c);
            }
            // Send an e-mail confirmation
            MailMessage message = new MailMessage()
            {
                Subject = "Votre commande chez Bon App !",
                Body    = Session.Instance().Panier.Invoice(),
                From    = new MailAddress("*****@*****.**")
            };

            message.To.Add(Session.Instance().user.Email);
            DefaultViewModel.SendMail(message);
            MessageBox.Show("La commande a été prise en compte. Un e-mail de confirmation vous a été envoyé.");

            // Empty the cart
            Session.Instance().Panier.Empty();

            // Redirect back
            RedirectEvent?.Invoke(new Acceuil());
        }
예제 #2
0
 protected void DoSignUp(PasswordBox box)
 {
     user.PasswordHash = DefaultViewModel.GetHashString(box.Password);
     if (IsValidEmail(user.Email))
     {
         UserDataLayer Layer  = new UserDataLayer();
         User          fromDb = Layer.GetOne(user.Email);
         if (fromDb.Email == null)
         {
             Layer.Create(user);
             MailMessage message = new MailMessage()
             {
                 Subject = "Bienvenue chez Bon App !",
                 Body    = "Merci d'avoir créé votre compte BonApp !\n\n" +
                           "Vos identifiants :\n" +
                           $"\tE-mail : \t{user.Email}" +
                           $"\tMot de passe : \t{box.Password}",
                 From = new MailAddress("*****@*****.**")
             };
             message.To.Add(user.Email);
             DefaultViewModel.SendMail(message);
             MessageBox.Show("Votre compte a bien été créé. Vous allez recevoir un e-mail de confirmation.");
             RedirectEvent?.Invoke(new Login());
         }
         else
         {
             MessageBox.Show("L'adresse e-mail spécifiée est déjà liée à un compte.");
         }
     }
     else
     {
         MessageBox.Show("L'adresse e-mail spécifiée n'est pas valide.");
     }
 }
예제 #3
0
        protected void DoLogin(PasswordBox box)
        {
            UserDataLayer Layer  = new UserDataLayer();
            User          fromDb = Layer.GetOne(user.Email);

            if (fromDb.Email == null)
            {
                MessageBox.Show("L'adresse e-mail n'a pas été reconnue.");
            }
            else if (fromDb.PasswordHash != DefaultViewModel.GetHashString(box.Password))
            {
                MessageBox.Show("Mauvais mot de passe.");
            }
            else
            {
                _user = fromDb;
                Session.Instance().user = _user;
                RedirectEvent?.Invoke(new Acceuil());
            }
        }