protected override void SetupDependencies() { OnDependency <IReportingRepository>() .Setup(x => x.Save(It.IsAny <ClosedAccountReport>())) .Callback <ClosedAccountReport>(a => SaveClosedAccountReportObject = a); OnDependency <IReportingRepository>() .Setup(x => x.Save(It.IsAny <ClosedAccountDetailsReport>())) .Callback <ClosedAccountDetailsReport>(a => SaveClosedAccountDetailsReportObject = a); }
public void Execute(ClosedAccountCreatedEvent theEvent) { var closedAccount = new ClosedAccountReport(theEvent.AccountId, theEvent.ClientId, theEvent.AccountName, theEvent.AccountNumber); var closedAccountDetails = new ClosedAccountDetailsReport(theEvent.AccountId, theEvent.ClientId, theEvent.AccountName, 0, theEvent.AccountNumber); _reportingRepository.Save(closedAccount); _reportingRepository.Save(closedAccountDetails); foreach (var ledger in theEvent.Ledgers) { var split = ledger.Value.Split(new[] { '|' }); var amount = Convert.ToDecimal(split[0]); var account = split[1]; _reportingRepository.Save(new LedgerReport(Guid.NewGuid(), theEvent.AccountId, GetDescription(ledger.Key, account), amount)); } }