Exemple #1
0
 private void btnConfirmer_Click(object sender, RoutedEventArgs e)
 {
     //Récupère tout les enfants de type RadioButton de wrapMontant et enregistre selui sélectionné dans btnChecked.
     RadioButton btnChecked = wrapMontant.Children.OfType<RadioButton>().FirstOrDefault(r => r.IsChecked == true);
     int valeurRadio;
     //Prend la valeur en string du contenu du radioButton.
     string stringContent = btnChecked.Content.ToString();
     //Convertir le string en int, c'est le montant du don, enlève le dernier caractère car c'est le signe de dollard.
     bool IsInt = int.TryParse(stringContent.Remove(stringContent.Length - 1), out valeurRadio);
     if (IsInt)
     {
         valeurDon = valeurRadio;
         //Méthode qui affiche les labels de messages d'erreurs au dessus des champs avec des données erronnées.
         MontreLabelErreur();
         //Si tout les champs sont valides
         if (isNomGood && isNoCarteGood && isExpirationGood && isCSCGood)
         {
             //Crée un nouveau objet Don avec la valeur des champs et le mode de paiement (le type de carte détecté).
             Don don = new Don(txtProprietaire.Text, valeurDon, modePaiement);
             //Si l'utilisateur n'est pas connecté à un compte, fait juste insérer le don dans la base de données avec le service.
             if (String.IsNullOrWhiteSpace(App.MembreCourant.NomUtilisateur))
                 donService.Insert(don);
             else
                 //Sinon appel la méthode qui peut associer le compte membre avec son don.
                 donService.Insert(App.MembreCourant, don);
             //Méthode qui vide tout les champs de données.
             VideChamps();
             //Affiche la fenêtre de reçu du don qui viend d'être envoyé.
             (new FenetreRecuDon(don)).ShowDialog();
         }
         else
             //Si au moins un champ n'est pas valide, joue un beep d'erreur de microsoft.
             SystemSounds.Beep.Play();
     }
 }
 public ActionResult Delete(int id, Don don)
 {
     ds.Delete(ds.Get(e => e.DonId == id));
     ds.Commit();
     return(RedirectToAction("Index"));
 }
        private void ProcessVerificationResponse(string verificationResponse)
        {
            if (verificationResponse.Equals("VERIFIED"))
            {
                MessageBox.Show(verificationResponse);

                //Verifier si ce donateur est deja dans notre BD
                bool     donateurExistant = false;
                Donateur donateur         = new Donateur();
                foreach (Donateur d in Singleton.Instance.db.Donateurs)
                {
                    //Si donateur trouvé, le récupérer
                    if (d.emailDonateur == Request.Form["payer_email"])
                    {
                        donateur         = d;
                        donateurExistant = true;
                        break;
                    }
                }
                //Si donateur pas trouvé, l'ajouter à la BD
                if (donateurExistant == false)
                {
                    donateur.nomDonateur      = Request.Form["last_name"];
                    donateur.prenomDonateur   = Request.Form["first_name"];
                    donateur.adresseDonateur  = Request.Form["address_street"];
                    donateur.villeDonateur    = Request.Form["address_city"];
                    donateur.provinceDonateur = Request.Form["address_state"];
                    donateur.cpDonateur       = Request.Form["address_zip"];
                    donateur.emailDonateur    = Request.Form["payer_email"];

                    try
                    {
                        Singleton.Instance.db.Donateurs.Add(donateur);
                        Singleton.Instance.db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
                string id = Request.Form["item_name"];

                //Ajouter le Don a partir du Donateur.

                MessageBox.Show(id);
                int    idLevee         = Int32.Parse(id);
                string idTransactionId = Request.Form["txn_id"];
                string montant         = Request.Form["mc_gross"];
                double montantDouble   = Double.Parse(montant);

                Don don = new Don();
                don.dateDon        = DateTime.Today;
                don.montantDon     = montantDouble;
                don.idDonateur     = donateur.idDonateur;
                don.idLeveeFonds   = idLevee;
                don.numTransaction = idTransactionId;

                try
                {
                    Singleton.Instance.db.Dons.Add(don);
                    Singleton.Instance.db.SaveChanges();

                    //Updater le montant obtenu dans la Levee de Fonds et le Projet
                    LeveeFond levee = Singleton.Instance.db.LeveeFonds.Find(idLevee);
                    levee.montantObtenu += montantDouble;
                    levee.Projet.totalFondsCollectes += montantDouble;
                    try
                    {
                        Singleton.Instance.db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            else if (verificationResponse.Equals("INVALID"))
            {
                //Log for manual investigation
            }
            else
            {
                //Log error
            }
        }