public async Task <bool> PaymentIsNowFullyReceived(Guid importNotificationId, decimal credit) { var price = await chargeCalculator.GetValue(importNotificationId); var balance = await TotalPaid(importNotificationId) + credit; return(price - balance <= 0); }
public ImportNotificationTransactionCalculatorTests() { chargeCalculator = A.Fake<IImportNotificationChargeCalculator>(); repository = A.Fake<IImportNotificationTransactionRepository>(); transactionCalculator = new ImportNotificationTransactionCalculator(repository, chargeCalculator); A.CallTo(() => repository.GetTransactions(A<Guid>.Ignored)).Returns(transactions); A.CallTo(() => chargeCalculator.GetValue(A<Guid>.Ignored)).Returns(TotalCredits); }
public ImportNotificationTransactionCalculatorTests() { chargeCalculator = A.Fake <IImportNotificationChargeCalculator>(); repository = A.Fake <IImportNotificationTransactionRepository>(); transactionCalculator = new ImportNotificationTransactionCalculator(repository, chargeCalculator); A.CallTo(() => repository.GetTransactions(A <Guid> .Ignored)).Returns(transactions); A.CallTo(() => chargeCalculator.GetValue(A <Guid> .Ignored)).Returns(TotalCredits); }
public async Task <ConfirmNumberOfShipmentsChangeData> HandleAsync(GetChangeNumberOfShipmentConfrimationData message) { return(new ConfirmNumberOfShipmentsChangeData { NotificationId = message.NotificationId, CurrentNumberOfShipments = await shipmentsHistotyRepository.GetCurrentNumberOfShipments(message.NotificationId), CurrentCharge = await notificationChargeCalculator.GetValue(message.NotificationId), NewCharge = await notificationChargeCalculator.GetValueForNumberOfShipments(message.NotificationId, message.NumberOfShipments) }); }
public async Task <AccountOverviewData> HandleAsync(GetImportNotificationAccountOverview message) { var assessment = await notificationAssessmentRepository.GetByNotification(message.ImportNotificationId); var charge = await chargeCalculator.GetValue(message.ImportNotificationId); var transactions = await transactionRepository.GetTransactions(message.ImportNotificationId); var totalPaid = await transactionCalculator.TotalPaid(message.ImportNotificationId); return(new AccountOverviewData { TotalCharge = charge, TotalPaid = totalPaid, Transactions = transactions.Select(t => mapper.Map <TransactionRecordData>(t)).ToArray(), PaymentReceived = assessment.Dates.PaymentReceivedDate }); }