Ejemplo n.º 1
0
        private void BtnTransfert_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (double.Parse(TxtMontantDuTransfert.Text) > 100000)
                {
                    MessageBox.Show("Le montant du transfert ne peut exceder 100000$");
                    TxtMontantDuTransfert.Text = String.Empty;
                    return;
                }
                if ((CmbTransfert.Text == null) || (TxtMontantDuTransfert.Text == null))
                {
                    MessageBox.Show("Les champs ne doivent pas etre vide");
                    return;
                }
                if (double.Parse(TxtMontantDuTransfert.Text) <= 0)
                {
                    MessageBox.Show("Vous devez rentrer un montant superieur a 0$");
                    TxtMontantDuTransfert.Text = String.Empty;
                    return;
                }
                for (int i = 0; i < clients.ListesClients.Count; i++)
                {
                    if (MainWindow.id == clients.ListesClients[i].ID && CmbTransfert.Text == "Cheque" && clients.ListesClients[i].TypeDeCompte == 'C')
                    {
                        if (double.Parse(TxtMontantDuTransfert.Text) > clients.ListesClients[i].Balance)
                        {
                            MessageBox.Show($"Le montant du transfert ne peut pas etre superieur au solde du compte cheque");
                            TxtMontantDuTransfert.Text = string.Empty;
                            CmbTransfert.Text          = String.Empty;
                            return;
                        }

                        double MontantTransfert = double.Parse(TxtMontantDuTransfert.Text);
                        clients.ListesClients[i].Balance = clients.ListesClients[i].Balance - MontantTransfert;
                        clients.Save();
                        for (int j = 0; j < clients.ListesClients.Count; j++)
                        {
                            if (MainWindow.id == clients.ListesClients[j].ID && CmbTransfert.Text == "Cheque" && clients.ListesClients[j].TypeDeCompte == 'E')
                            {
                                clients.ListesClients[j].Balance = clients.ListesClients[j].Balance + MontantTransfert;
                                //Appel de la methode pour sauvegarder le client
                                clients.Save();
                                //instaure les attribut de Transaction avant de les sauvegarder
                                Transaction transaction2 = new Transaction();
                                transaction2.Date = DateTime.Now;
                                transaction2.TypeDeTransaction = "Transfert";
                                transaction2.Montant           = double.Parse(TxtMontantDuTransfert.Text);
                                transaction2.Balance           = double.Parse(TxtCompteCheque.Text);
                                transaction2.TypeDeCompte      = CmbTransfert.Text;
                                transaction2.ID = MainWindow.id;
                                //Sauvegarde dans un fichier texte
                                transactions.AjouterTransaction(transaction2);


                                TxtCompteCheque.Text = clients.ListesClients[i].Balance.ToString();
                                TxtSoldeEpargne.Text = clients.ListesClients[j].Balance.ToString();
                                break;
                            }
                        }
                        break;
                    }
                    //Si tout les criteres de validation sont accepter ...
                    if (MainWindow.id == clients.ListesClients[i].ID && CmbTransfert.Text == "Epargne" && clients.ListesClients[i].TypeDeCompte == 'E')
                    {//Si tout ces criteres sont aussi accepter...
                        if (double.Parse(TxtMontantDuTransfert.Text) > clients.ListesClients[i].Balance)
                        {
                            MessageBox.Show("Le montant du transfert ne peut pas etre superieur au solde du compte épargne");
                            TxtMontantDuTransfert.Text = string.Empty;
                            return;
                        }

                        double MontantTransfert = double.Parse(TxtMontantDuTransfert.Text);
                        clients.ListesClients[i].Balance = clients.ListesClients[i].Balance - MontantTransfert;
                        clients.Save();

                        for (int j = 0; j < clients.ListesClients.Count; j++)
                        {
                            if (MainWindow.id == clients.ListesClients[j].ID && CmbTransfert.Text == "Epargne" && clients.ListesClients[j].TypeDeCompte == 'C')
                            {
                                clients.ListesClients[j].Balance = clients.ListesClients[j].Balance + MontantTransfert;
                                clients.Save();
                                TxtCompteCheque.Text = clients.ListesClients[j].Balance.ToString();
                                TxtSoldeEpargne.Text = clients.ListesClients[i].Balance.ToString();
                                Transaction transaction = new Transaction();
                                transaction.Date = DateTime.Now;
                                transaction.TypeDeTransaction = "Transfert";
                                transaction.Montant           = double.Parse(TxtMontantDuTransfert.Text);
                                transaction.Balance           = double.Parse(TxtSoldeEpargne.Text);
                                transaction.TypeDeCompte      = CmbTransfert.Text;
                                transaction.ID = MainWindow.id;
                                transactions.AjouterTransaction(transaction);


                                break;
                            }
                        }
                    }
                }
                MessageBox.Show("Transaction Acceptée");
                TxtMontantDuTransfert.Text = string.Empty;
            }
            catch
            {
                MessageBox.Show("Erreur 10");
            }
        }