private void BtnTransactionWithdraw_Click(object sender, RoutedEventArgs e) { if (Calculate("minus", CbFromAccount, _currentUser)) { entities.Transaction transaction = new entities.Transaction { UserId = _currentUser.Id, RecieverUserId = _currentUser.Id, AccountNumber = _fromAccountNumber, RecieverAccountNumber = _fromAccountNumber, TransactionDate = DateTime.Now, Amount = double.Parse(TbAmount.Text) }; SaveAndRefresh(transaction); } }
private void SaveAndRefresh(entities.Transaction newTran) { _currentUser.Transactions.Add(newTran); _tempFromAccount.Balance = _tempFromAccountBalance; DbGlobals.ctx.Users.AddOrUpdate(_currentUser); DbGlobals.ctx.SaveChanges(); LBalanceOfFromAccount.Content = string.Format("{0:C}", _tempFromAccountBalance); if (CbToAccount.SelectedIndex == CbFromAccount.SelectedIndex) { LBalanceOfToAccount.Content = string.Format("{0:C}", _tempFromAccountBalance); } /*LvTransaction.ItemsSource = _currentUser.Transactions.ToList<entities.Transaction>();*/ LvTransaction.ItemsSource = (from t in DbGlobals.ctx.Transactions where t.Account.UserId == _currentUser.Id || t.Account2.UserId == _currentUser.Id select t).ToList(); LvTransaction.Items.Refresh(); }
private void BtnTransactionTransfer_Click(object sender, RoutedEventArgs e) { if (CbFromAccount.SelectedIndex != -1) { if (Calculate("minus", CbFromAccount, _currentUser)) { if (RbToYourAccount.IsChecked == true) { if (CbToAccount.SelectedIndex != -1) { if ((AccountTypeEnum)CbFromAccount.SelectedItem != (AccountTypeEnum)CbToAccount.SelectedItem) { if (Calculate("plus", CbToAccount, _currentUser)) { entities.Transaction transaction = new entities.Transaction { UserId = _currentUser.Id, RecieverUserId = _currentUser.Id, AccountNumber = _fromAccountNumber, RecieverAccountNumber = _toAccountNumber, TransactionDate = DateTime.Now, Amount = double.Parse(TbAmount.Text) }; SaveAndRefresh(transaction); } } else { MessageBox.Show("Please select a different To Account"); } } else { MessageBox.Show("Please select a To Account"); } } else if (RbToOtherUserAccount.IsChecked == true) { /*if ((!double.TryParse(TbAmount.Text, out double amount) || amount <= 0)) * { * MessageBox.Show("amount must be positive number"); * }*/ if (_fromAccountNumber != TbToOtherAccount.Text) { List <Account> result = null; string tempAccountNumb = TbToOtherAccount.Text; result = (from a in DbGlobals.ctx.Accounts where a.AccountNumber == tempAccountNumb select a).ToList <Account>(); if (result.Count != 0) { List <User> recieverUsers = null; int tempId = result[0].UserId; recieverUsers = (from u in DbGlobals.ctx.Users where u.Id == tempId select u).ToList <User>(); entities.Transaction transaction = new entities.Transaction { UserId = _currentUser.Id, RecieverUserId = result[0].UserId, AccountNumber = _fromAccountNumber, RecieverAccountNumber = TbToOtherAccount.Text, TransactionDate = DateTime.Now, Amount = double.Parse(TbAmount.Text) }; SaveAndRefresh(transaction); foreach (var account in recieverUsers[0].Accounts) { if (account.AccountNumber == TbToOtherAccount.Text) { account.Balance += double.Parse(TbAmount.Text); } } recieverUsers[0].Transactions.Add(transaction); DbGlobals.ctx.Users.AddOrUpdate(recieverUsers[0]); DbGlobals.ctx.SaveChanges(); } else { MessageBox.Show("User id can't be found"); } } else { MessageBox.Show("Please input another account number"); } } else { MessageBox.Show("Please select a To Account"); } } } else { MessageBox.Show("Please select a From Account"); } }