コード例 #1
0
        private void AddButton_OnClick(object sender, RoutedEventArgs e)
        {
            using (var db = new BankingContext())
            {
                try
                {
                    if (VornameTextBox.Text == "" || NachnameTextBox.Text == "" || AdresseTextBox.Text == "" ||
                        PlzTextBox.Text == "" || OrtTextBox.Text == "" || DatenschutzCheckbox.IsChecked == false)
                    {
                        throw new IsEmptyException();
                    }

                    var plz         = Convert.ToInt32(PlzTextBox.Text);
                    var datenschutz = DatenschutzCheckbox.IsChecked == true;
                    db.Add(new Kunde.Kunde(VornameTextBox.Text, NachnameTextBox.Text, AdresseTextBox.Text, plz,
                                           OrtTextBox.Text, TelefonNummerTextBox.Text,
                                           datenschutz)); //TODO:Ueberpruefung ob bereits ein Kunde mit den Werten vorhanden ist
                    db.SaveChanges();
                    MessageBox.Show("Kunde angelegt!");
                }
                catch (IsEmptyException)
                {
                    MessageBox.Show("Alle Felder müssen ausgefüllt sein!");
                }
                finally
                {
                    db.Dispose();
                }
            }
        }
コード例 #2
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }
コード例 #3
0
        private void ZinsBerechnenButton_OnClick(object sender, RoutedEventArgs e)
        {
            using (var db = new BankingContext())
            {
                try
                {
                    var selectedItem = (Konto.Konto)DataGrid.SelectedItem;
                    if (DataGrid.SelectedItem == null)
                    {
                        throw new IsEmptyException();
                    }

                    var zins = selectedItem.BerechneZins();

                    var result = MessageBox.Show($"Der Zinssatz Beträgt {zins} €, möchten sie ihn anwenden?", "Löschen",
                                                 MessageBoxButton.YesNo);

                    switch (result)
                    {
                    case MessageBoxResult.Yes:
                        selectedItem.VerrechneZins(zins);
                        var konto = db.KontoSet.Where(s => s == selectedItem).ToList();
                        foreach (var k in konto)
                        {
                            k.VerrechneZins(zins);
                        }

                        db.SaveChanges();
                        MessageBox.Show("Angewendet!!");
                        break;

                    case MessageBoxResult.No:
                        MessageBox.Show("Abgebrochen!!");
                        break;
                    }
                }
                catch (IsEmptyException)
                {
                    MessageBox.Show("Es wurde keine Item ausgewählt!");
                }
                finally
                {
                    db.Dispose();
                }
            }
        }
コード例 #4
0
        private void EinzahlenButton_OnClick(object sender, RoutedEventArgs e)
        {
            using (var db = new BankingContext())
            {
                try
                {
                    if (EmpfaengerKonotTextbox.Text == "" || BetragTextbox.Text == "")
                    {
                        throw new IsEmptyException();
                    }

                    var betrag = Convert.ToDouble(BetragTextbox.Text);
                    var g1     = db.KontoSet.Where(k => k.KontoNummer == EmpfaengerKonotTextbox.Text);
                    foreach (var giro in g1)
                    {
                        giro.TransactionsList.Add(new Transaktion(betrag, giro.KontoNummer, Types.Einzahlung,
                                                                  "Einzahlung"));
                        giro.Betrag += betrag;
                    }

                    db.SaveChanges();
                    MessageBox.Show($"{betrag}€ wurde in Konto {EmpfaengerKonotTextbox.Text} einbezahlt!");
                    ResetForm();
                }
                catch (FormatException)
                {
                    MessageBox.Show("Kontonummer Existiert nicht!");
                }
                catch (IsEmptyException)
                {
                    MessageBox.Show("Fehlende Angaben!!");
                }
                finally
                {
                    db.Dispose();
                }
            }
        }
コード例 #5
0
 private void SelectionCombobox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     using (var db = new BankingContext())
     {
         try
         {
             if (GiroItem.IsSelected)
             {
                 var listing = db.GiroKontoSet.ToList();
                 DataGrid.ItemsSource = listing;
             }
             else if (FestgeldItem.IsSelected)
             {
                 var listing = db.FestgeldKontoSet.ToList();
                 DataGrid.ItemsSource = listing;
             }
             else if (TagesgeldItem.IsSelected)
             {
                 var listing = db.TagesgeldKontoSet.ToList();
                 DataGrid.ItemsSource = listing;
             }
             else if (SpargeldItem.IsSelected)
             {
                 var listing = db.SparKontoSet.ToList();
                 DataGrid.ItemsSource = listing;
             }
         }
         catch (Exception exception)
         {
             MessageBox.Show(exception.ToString());
         }
         finally
         {
             db.Dispose();
         }
     }
 }
コード例 #6
0
        private void UpdateButton_OnClick(object sender, RoutedEventArgs e)
        {
            using (var db = new BankingContext())
            {
                if (GiroItem.IsSelected)
                {
                    var objects = db.KontoSet.ToList();
                    var list    = objects.Where(b => b.GetType() == typeof(GiroKonto))
                                  .ToList(); //Muss gemacht werden da EFC aktuell kein durchsuchen nach Type erlaubt
                    DataGrid.ItemsSource = list;
                }
                else if (FestgeldItem.IsSelected)
                {
                    var objects = db.KontoSet.ToList();
                    var list    = objects.Where(b => b.GetType() == typeof(FestgeldKonto))
                                  .ToList(); //Muss gemacht werden da EFC aktuell kein durchsuchen nach Type erlaubt
                    DataGrid.ItemsSource = list;
                }
                else if (TagesgeldItem.IsSelected)
                {
                    var objects = db.KontoSet.ToList();
                    var list    = objects.Where(b => b.GetType() == typeof(TagesgeldKonto))
                                  .ToList(); //Muss gemacht werden da EFC aktuell kein durchsuchen nach Type erlaubt
                    DataGrid.ItemsSource = list;
                }
                else if (SpargeldItem.IsSelected)
                {
                    var objects = db.KontoSet.ToList();
                    var list    = objects.Where(b => b.GetType() == typeof(SparKonto))
                                  .ToList(); //Muss gemacht werden da EFC aktuell kein durchsuchen nach Type erlaubt
                    DataGrid.ItemsSource = list;
                }

                db.Dispose();
            }
        }
コード例 #7
0
        private void GenerateButton_OnClick(object sender, RoutedEventArgs e)
        {
            KontoauszugTextbox.Text = "";
            using (var db = new BankingContext())
            {
                try
                {
                    if (KontoNummerTextbox.Text == "")
                    {
                        throw new NoTextException();
                    }

                    var kontoList = db.TransaktionsSet.Where(s => s.Empfaenger == KontoNummerTextbox.Text);
                    if (!kontoList.Any())
                    {
                        throw new IsEmptyException();
                    }
                    foreach (var t in kontoList)
                    {
                        KontoauszugTextbox.Text += t.ToString();
                    }
                }
                catch (IsEmptyException)
                {
                    MessageBox.Show("Kontonummer Falsch!");
                }
                catch (NoTextException)
                {
                    MessageBox.Show("Es wurde keine Kontonummer eingegeben!");
                }
                finally
                {
                    db.Dispose();
                }
            }
        }
コード例 #8
0
 public void Dispose()
 {
     _context.Dispose();
 }
コード例 #9
0
        private void AuszahlenButton_OnClick(object sender, RoutedEventArgs e)
        {
            using (var db = new BankingContext())
            {
                try
                {
                    if (BetragTextbox.Text == "" || KonotonummerTextbox.Text == "" || PinTextbox.Password == "")
                    {
                        throw new IsEmptyException();
                    }

                    var correct = false;
                    var betrag  = Convert.ToDouble(BetragTextbox.Text) * -1;
                    var g1      = db.KontoSet.Where(k => k.KontoNummer == KonotonummerTextbox.Text).ToList();

                    if (!g1.Any())
                    {
                        throw new IsEmptyException();
                    }
                    foreach (var k in g1)
                    {
                        if (Crypto.DecryptPin(k.Pin) == PinTextbox.Password)
                        {
                            //TODO:Kontouebeziehung beachten Wird spaeter Implementiert siehe Konto Klasse
                            k.TransactionsList.Add(new Transaktion(betrag, k.KontoNummer, Types.Auszahlung,
                                                                   "Auszahlung"));
                            k.Betrag += betrag;
                            correct   = true;
                        }
                        else
                        {
                            throw new FalsePinException();
                        }
                    }

                    if (correct)
                    {
                        db.SaveChanges();

                        MessageBox.Show($"{betrag * -1}€ wurde von Konto {KonotonummerTextbox.Text} ausbezahlt!");
                        ResetForm();
                    }
                }
                catch (IsEmptyException)
                {
                    MessageBox.Show("Fehlende Informationen");
                }
                catch (FalsePinException)
                {
                    MessageBox.Show("Pin Falsch!!");
                }
                catch (KontoIsEmptyException)
                {
                    MessageBox.Show("Konto Kann nicht überzogen werden!");
                }
                finally
                {
                    db.Dispose();
                }
            }
        }
コード例 #10
0
        private void UeberweisenButton_OnClick(object sender, RoutedEventArgs e)
        {
            using (var db = new BankingContext())
            {
                try
                {
                    if (EmpfaengerKonotTextbox.Text == "" || SenderKontoTextbox.Text == "" || BetragTextbox.Text == "")
                    {
                        throw new NoTextException();
                    }

                    var betrag = Convert.ToDouble(BetragTextbox.Text);
                    var g2     = db.KontoSet.Where(k => k.KontoNummer == EmpfaengerKonotTextbox.Text);
                    var g1     = db.KontoSet.Where(k => k.KontoNummer == SenderKontoTextbox.Text);
                    if (!g2.Any() || !g1.Any())
                    {
                        throw new IsEmptyException();
                    }

                    if (BeschreibungTextbox.Text == string.Empty)
                    {
                        foreach (var giro in g2)
                        {
                            giro.TransactionsList.Add(new Transaktion(betrag, EmpfaengerKonotTextbox.Text,
                                                                      Types.Ueberweisung, "Überweisung von: " + SenderKontoTextbox.Text));
                            giro.Betrag = giro.Betrag + betrag;
                        }
                    }
                    else
                    {
                        foreach (var giro in g2)
                        {
                            giro.TransactionsList.Add(new Transaktion(betrag, EmpfaengerKonotTextbox.Text,
                                                                      Types.Ueberweisung,
                                                                      "Überweisung von: " + SenderKontoTextbox.Text + " Beschreibung: " +
                                                                      BeschreibungTextbox.Text));
                            giro.Betrag = giro.Betrag + betrag;
                        }
                    }


                    betrag = betrag * -1;
                    if (BeschreibungTextbox.Text == string.Empty)
                    {
                        foreach (var giro in g1)
                        {
                            giro.TransactionsList.Add(new Transaktion(betrag, SenderKontoTextbox.Text,
                                                                      Types.Ueberweisung, ""));
                            giro.Betrag = giro.Betrag + betrag;
                        }
                    }
                    else
                    {
                        foreach (var giro in g1)
                        {
                            giro.TransactionsList.Add(new Transaktion(betrag, SenderKontoTextbox.Text,
                                                                      Types.Ueberweisung, "Überweisung: " + BeschreibungTextbox.Text));
                            giro.Betrag = giro.Betrag + betrag;
                        }
                    }


                    db.SaveChanges();
                    betrag = betrag * -1;
                    MessageBox.Show(
                        $"{betrag}€ wurde von Konto {SenderKontoTextbox.Text} nach {EmpfaengerKonotTextbox.Text} Konto überwiesen!");
                    ResetForm();
                }
                catch (NoTextException)
                {
                    MessageBox.Show("Fehlende Angaben!");
                }
                catch (IsEmptyException)
                {
                    MessageBox.Show("Empfänger- oder Senderkonto existieren nicht!");
                }
                finally
                {
                    db.Dispose();
                }
            }
        }