private void LegalPersonsDataGrid_OnCellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { if (SelectedLegalPersonClient != null) { using (var repo = new LegalPersonClientRepository()) { repo.Update(SelectedLegalPersonClient); repo.Save(); } } }
private void RemoveLegalPersonClientButton_OnClick(object sender, RoutedEventArgs e) { using (var repo = new LegalPersonClientRepository()) { repo.RemoveClient(SelectedLegalPersonClient); repo.Save(); repo.Update(SelectedLegalPersonClient); } LegalPersonClients.Remove(SelectedLegalPersonClient); }
private void TransferPhysicalPersonMoneyButton_OnClick(object sender, RoutedEventArgs e) { MoneyTransferWindow moneyTransferWindow = new MoneyTransferWindow(); using (var physicalPersonClientRepo = new PhysicalPersonClientRepository()) using (var legalPersonClientRepo = new LegalPersonClientRepository()) { PhysicalPersonClient client = (PhysicalPersonClient)PhysicalPersonsDataGrid.SelectedItem; moneyTransferWindow.SenderAccountIdComboBox.ItemsSource = physicalPersonClientRepo.GetAllClientAccounts(client.Id); moneyTransferWindow.SenderAccountIdComboBox.DisplayMemberPath = "Id"; var allClients = new List <IClient>(); allClients.AddRange(physicalPersonClientRepo.GetClients()); allClients.AddRange(legalPersonClientRepo.GetClients()); moneyTransferWindow.RecipientClientNamesComboBox.ItemsSource = allClients; moneyTransferWindow.RecipientClientNamesComboBox.DisplayMemberPath = "DisplayName"; if (moneyTransferWindow.ShowDialog() == true) { IAccount accountFrom = (IAccount)moneyTransferWindow.SenderAccountIdComboBox.SelectedValue; IAccount accountTo = (IAccount)moneyTransferWindow.RecipientAccountsIdComboBox.SelectedValue; try { AccountManager accountManager = new AccountManager(); accountManager.TransferMoney(accountFrom, accountTo, moneyTransferWindow.Amount); physicalPersonClientRepo.Save(); legalPersonClientRepo.Save(); } catch (HimselfTransferException exception) { MessageBox.Show($"Произошла ошибка: {exception.Message}\n" + $"Перевод с клиента {accountFrom.ClientId} со счета {accountFrom.Id} клиенту {accountTo.ClientId} на счет {accountTo.Id}"); } catch (InsufficientAmountsException exception) { MessageBox.Show($"Произошла ошибка: {exception.Message}\nСуммма денег на счету: {exception.Amount}"); } catch (CurrencyMismatchException exception) { MessageBox.Show($"Произошла ошибка: {exception.Message}\n" + $"Валюта счета отправителя: {exception.Sender}, валюта счета получателя: {exception.Recipient}"); } catch (Exception exception) { MessageBox.Show($"Произошла ошибка: {exception.Message} Выполняем завершение программы."); throw; } } } }
private void ShowAllLegalPersonAccountsMenuItem_OnClick(object sender, RoutedEventArgs e) { if (SelectedLegalPersonClient == null) { MessageBox.Show("Выберите клиента корректным образом!"); return; } var accountsWindow = new AccountsWindow(); accountsWindow.Title = $"Все счета клиента: {SelectedLegalPersonClient.DisplayName}"; using (var repo = new LegalPersonClientRepository()) { accountsWindow.AccountsDataGrid.DataContext = repo.GetAllClientAccounts(SelectedLegalPersonClient.Id); accountsWindow.ShowDialog(); } }
public ClientsWindow() { InitializeComponent(); //TestData testData = new TestData(); //testData.FillAllTables(); using (var repo = new PhysicalPersonClientRepository()) { PhysicalPersonClients = new ObservableCollection <PhysicalPersonClient>(repo.GetClients()); PhysicalPersonsDataGrid.DataContext = this; } using (var repo = new LegalPersonClientRepository()) { LegalPersonClients = new ObservableCollection <LegalPersonClient>(repo.GetClients()); LegalPersonsDataGrid.DataContext = this; } rate = new Rate(); }
private void AddNewLegalPersonClientButton_OnClick(object sender, RoutedEventArgs e) { var addingClientWindow = new AddingLegalPersonClientWindow(); if (addingClientWindow.ShowDialog() == true) { using (var repo = new LegalPersonClientRepository()) { ClientType clientType = Convert.ToBoolean(addingClientWindow.IsVipCheckBox.IsChecked) ? ClientType.Vip : ClientType.Usual; var client = new LegalPersonClient(addingClientWindow.CompanyNameTextBox.Text, clientType); LegalPersonClients.Add(client); repo.AddClient(client); repo.Save(); } } }
private void OpenLegalPersonDepositButton_OnClick(object sender, RoutedEventArgs e) { AddingAnyAccountWindow accountWindow = new AddingAnyAccountWindow(); if (LegalPersonsDataGrid.CurrentItem != null) { LegalPersonClient client = (LegalPersonClient)LegalPersonsDataGrid.SelectedItem; if (accountWindow.ShowDialog() == true) { using (var repo = new LegalPersonClientRepository()) { repo.AddDeposit(client.Id, accountWindow.Currency, accountWindow.Amount, accountWindow.Period, accountWindow.WithCapitalization, rate.CalcLegalPersonDepositRate(client.Type)); } } } else { MessageBox.Show("Выберите нужного клиента!"); } }
private void ShowAccountHistoryMenuItem_OnClick(object sender, RoutedEventArgs e) { var historyWindow = new AccountHistoryWindow(); var account = (IAccount)AccountsDataGrid.SelectedValue; if (account is PhysicalPersonAccount) { using (var repo = new PhysicalPersonClientRepository()) { historyWindow.HistoryDataGrid.ItemsSource = repo.GetAccountHistory(account.Id); } } else { using (var repo = new LegalPersonClientRepository()) { historyWindow.HistoryDataGrid.ItemsSource = repo.GetAccountHistory(account.Id); } } historyWindow.ShowDialog(); }
private void OpenLegalPersonAccountButton_OnClick(object sender, RoutedEventArgs e) { AddingAnyAccountWindow accountWindow = new AddingAnyAccountWindow(); accountWindow.CapitalizationCheckBox.IsEnabled = false; accountWindow.PeriodTextBox.IsEnabled = false; if (LegalPersonsDataGrid.CurrentItem != null) { LegalPersonClient client = (LegalPersonClient)LegalPersonsDataGrid.SelectedItem; if (accountWindow.ShowDialog() == true) { using (var repo = new LegalPersonClientRepository()) { repo.AddAccount(client.Id, accountWindow.Currency, accountWindow.Amount); } } } else { MessageBox.Show("Выберите нужного клиента!"); } }