Esempio n. 1
0
        public void MakeTransaction_ShouldMakeTransactionBetweenTwoAccounts()
        {
            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.MakeTransaction(100, data.First(), data.Last());
            Assert.AreEqual(7400, data.First().Balance);
        }
Esempio n. 2
0
        //Run when "Transfer" button is clicked. Creates transfer, make operation between accounts and send saves to the database via TransferController.
        private void btnTransfer_Click(object sender, EventArgs e)
        {
            decimal accNo   = Convert.ToDecimal(txtTransferFrom.Text);
            var     accSend = accController.Get(accNo).FirstOrDefault();

            txtName.Text = accSend.Name;
            decimal b1            = Convert.ToDecimal(accSend.Balance);
            decimal totalbal      = Convert.ToDecimal(txtTransfer.Text);
            decimal transferaccNo = Convert.ToDecimal(txtTransferDestination.Text);

            if (b1 > totalbal)
            {
                var accRecieve = accController.Get(transferaccNo).FirstOrDefault();
                accController.MakeTransaction(totalbal, accSend, accRecieve);
                Transfer transfer = new Transfer();
                {
                    transfer.AccountNo  = Convert.ToDecimal(txtTransferFrom.Text);
                    transfer.ToTransfer = Convert.ToDecimal(txtTransferDestination.Text);
                    transfer.Date       = DateTime.UtcNow.ToString();
                    transfer.Name       = txtName.Text;
                    transfer.Balance    = Convert.ToDecimal(txtTransfer.Text);
                }
                transferController.Add(transfer);
                MessageBox.Show($"Успешeно преведохте {transfer.Balance}лв. по сметката на {accRecieve.Name}!");
            }
        }