public void MakeDebitTransaction_ShouldWithdrawalMoneyFromAccount() { DateTime date = DateTime.UtcNow; var data = new List <UserAccount>() { new UserAccount(1, "Georgi Georgiev", "11/06/2000", "0878444484", "bul Bulgaria 4", "Smolyan", "Smolyan", "Male", "married", null, null, 7500, date.ToString()), new UserAccount(2, "Ivan Ivanov", "22/11/2001", "0878171711", "bul Bulgaria 3", "Smolyan", "Smolyan", "Male", "married", null, null, 5000, date.ToString()) }.AsQueryable(); var mockSet = new Mock <DbSet <UserAccount> >(); mockSet.As <IQueryable <UserAccount> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <UserAccount> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <UserAccount> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <UserAccount> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock <banking_dbContext>(); mockContext.Setup(c => c.UserAccount).Returns(mockSet.Object); var service = new UserAccountController(mockContext.Object); data.ToList().ForEach(a => service.Add(a)); service.MakeDebitTransaction(100, data.First()); Assert.AreEqual(7400, data.First().Balance); }
//Run when "Save" button is clicked. Get information for the detalis of UserAccount and update them with specified data private void btnSave_Click(object sender, EventArgs e) { Debit debit = new Debit(); { debit.Date = lblDate.Text; debit.AccountNo = Convert.ToDecimal(txtAccNum.Text); debit.Name = txtName.Text; debit.OldBalance = Convert.ToDecimal(txtOldBalance.Text); debit.Mode = comboBox1.SelectedItem.ToString(); debit.DebAmount = Convert.ToDecimal(txtDepositAmount.Text); } debitController.Add(debit); decimal accNo = Convert.ToDecimal(txtAccNum.Text); var accountReciever = accController.Get(accNo).FirstOrDefault(); accController.MakeDebitTransaction(debit.DebAmount, accountReciever); MessageBox.Show($"Успешeно изтеглихте {debit.DebAmount.ToString()}лв. от сметката на {debit.Name}!"); }