Example #1
0
        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);
 }
Example #3
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 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
            });
        }