public void InsertSingleNewTransaction_WithCombinationsOfStartAndTransactValues_ReturnsExpectedBalance(double startingValue, double transactionValue, double expectedValue) { // Arrange IBankAccountDailyBalances dailyBalances = new BankAccountDailyBalances(startingValue); FinancialTransactionDto transaction = new FinancialTransactionDto(DateTime.Parse("01/01/2020 00:00:00"), "Ledger", transactionValue, "Company"); // Act dailyBalances.InsertSingleNewTransaction(transaction); // Assert dailyBalances.LastDailyEndingBalance.ShouldEqual(expectedValue); }
// GET: FinancialTransaction/Create public ActionResult Create(Guid?accountId) { if (accountId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var transaction = new FinancialTransactionDto() { Date = DateTime.Now.Date, Money = new ValueObjects.Finance.Money(0, "CAN"), AccountId = accountId.Value }; return(View(transaction)); }
public ActionResult Edit(FinancialTransactionDto transaction) { RequestResultArgs requestResult = null; _callback.Completed += (args) => requestResult = args; var cmd = new UpdateFinancialTransactionCommand(transaction); _commandProcessor.Execute(cmd); if (!requestResult.Succeeded) { this.SetErrorMessageContents(requestResult.MessageContents); return(View(transaction)); } return(RedirectToAction("Index", new { accountId = transaction.AccountId })); }
public void ForEach_SingleDailyBalance_EachDailyBalanceIsSeen() { // Arrange IBankAccountDailyBalances dailyBalances = new BankAccountDailyBalances(0.0); FinancialTransactionDto transaction = new FinancialTransactionDto(DateTime.Parse("01/01/2020 00:00:00"), "Ledger", 20.0, "Company"); dailyBalances.InsertSingleNewTransaction(transaction); var expectedBalances = dailyBalances.GetAllDailyBalances(); List <DateTime> expectedDays = new List <DateTime>(); List <DateTime> visitedDays = new List <DateTime>(); dailyBalances.ForEach(dailyBalance => expectedDays.Add(dailyBalance.Date)); // Act dailyBalances.ForEach(dailyBalance => visitedDays.Add(dailyBalance.Date)); // Assert visitedDays.Count.ShouldEqual(expectedBalances.Count); expectedDays.ShouldEqual(visitedDays); }
public ActionResult DeleteConfirmed(FinancialTransactionDto transaction) { if (transaction == null || transaction.Id == null || transaction.AccountId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RequestResultArgs requestResult = null; _callback.Completed += (args) => requestResult = args; var cmd = new RemoveFinancialTransactionCommand(transaction.Id, transaction.AccountId); _commandProcessor.Execute(cmd); if (!requestResult.Succeeded) { this.SetErrorMessageContents(requestResult.MessageContents); return(View(transaction)); } return(RedirectToAction("Index", new { accountId = transaction.AccountId })); }