示例#1
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.");
     }
 }
示例#2
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());
        }
示例#3
0
 private void TextURL_KeyUp(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         //执行重定向
         string url = textURL.Text.Trim();
         RedirectEvent?.Invoke(url);
     }
 }
示例#4
0
        private void DoAddToCart()
        {
            MenuDataLayer layer      = new MenuDataLayer();
            Formule       form       = layer.GetOne(_menu.Type);
            Menu          ChosenMenu = new Menu()
            {
                Boisson = _menu.Boisson,
                Dessert = _menu.Dessert,
                Plat    = _menu.Plat,
                Price   = form.Prix,
                Name    = $"Formule {form.Label} à {form.Prix} euros"
            };

            Session.Instance().Panier.Add(ChosenMenu);
            RedirectEvent?.Invoke(new ChoixMenu());
        }
示例#5
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());
            }
        }
示例#6
0
 internal void TravelTo(string target, int port)
 {
     _redirectEvent = new RedirectEvent { Target = target, Port = port };
     HandleTravelRequest();
 }