Esempio n. 1
0
        // This function creates the batch in MP, then returns the object so that the deposit can be added to the batch
        public DonationBatchDto CreateDonationBatch(List <PaymentDto> charges, string depositName,
                                                    DateTime eventTimestamp, string transferKey)
        {
            var batch = new DonationBatchDto()
            {
                BatchName           = depositName,
                SetupDateTime       = eventTimestamp,
                BatchTotalAmount    = 0,
                ItemCount           = 0,
                BatchEntryType      = _batchEntryTypeValue,
                FinalizedDateTime   = eventTimestamp,
                DepositId           = null,
                ProcessorTransferId = transferKey
            };

            foreach (var charge in charges)
            {
                var mpDonation = _donationRepository.GetDonationByTransactionCode(charge.TransactionId);

                // Add the charge amount to the batch total amount
                batch.ItemCount++;
                batch.BatchTotalAmount += decimal.Parse(charge.Amount.Amount);
                batch.Donations.Add(_mapper.Map <DonationDto>(mpDonation));
            }

            return(batch);
        }
Esempio n. 2
0
        public void ShouldUpdateDonationBatchObject()
        {
            var batch = new DonationBatchDto
            {
                BatchTotalAmount = 20
            };

            var mpBatch = new MpDonationBatch
            {
                Id = 123,
                BatchTotalAmount = 30
            };

            var batchnew = new DonationBatchDto
            {
                Id = 123,
                BatchTotalAmount = 30,
                DepositId        = 12
            };

            _batchRepository.Setup(r => r.CreateDonationBatch(It.IsAny <MpDonationBatch>())).Returns(mpBatch);
            _mapper.Setup(m => m.Map <MpDonationBatch>(It.IsAny <DonationBatchDto>())).Returns(mpBatch);
            _mapper.Setup(m => m.Map <DonationBatchDto>(It.IsAny <MpDonationBatch>())).Returns(batchnew);

            _fixture.UpdateDonationBatch(batch);

            _batchRepository.Verify();
        }
Esempio n. 3
0
        public void ShouldSaveDonationBatchObject()
        {
            var batch = new DonationBatchDto
            {
                BatchTotalAmount = 20
            };

            var mpBatch = new MpDonationBatch
            {
                Id = 123,
                BatchTotalAmount = 20
            };

            var batchnew = new DonationBatchDto
            {
                Id = 123,
                BatchTotalAmount = 20
            };

            _batchRepository.Setup(r => r.CreateDonationBatch(It.IsAny <MpDonationBatch>())).Returns(mpBatch);
            _mapper.Setup(m => m.Map <MpDonationBatch>(It.IsAny <DonationBatchDto>())).Returns(mpBatch);
            _mapper.Setup(m => m.Map <DonationBatchDto>(It.IsAny <MpDonationBatch>())).Returns(batchnew);

            var result = _fixture.SaveDonationBatch(batch);

            Assert.Equal(result.Id, mpBatch.Id);
            Assert.Equal(result.BatchTotalAmount, mpBatch.BatchTotalAmount);
        }
Esempio n. 4
0
        public void ShouldCreateDonationBatchObject()
        {
            var timestamp     = DateTime.Now;
            var donationsMock = MpDonationsMock.CreateList();
            var chargesMock   = PaymentDtoMock.CreateList();
            var expectedBatch = new DonationBatchDto
            {
                BatchName           = "depositName",
                SetupDateTime       = timestamp,
                BatchTotalAmount    = 90,
                ItemCount           = 3,
                BatchEntryType      = 10,
                FinalizedDateTime   = timestamp,
                DepositId           = null,
                ProcessorTransferId = "transferId"
            };

            _donationRepository.Setup(r => r.GetDonationByTransactionCode("1a")).Returns(donationsMock[0]);
            _donationRepository.Setup(r => r.GetDonationByTransactionCode("2b")).Returns(donationsMock[0]);
            _donationRepository.Setup(r => r.GetDonationByTransactionCode("3c")).Returns(donationsMock[0]);

            var result = _fixture.CreateDonationBatch(chargesMock, "depositName", timestamp, "transferId");

            Assert.Equal(expectedBatch.SetupDateTime, timestamp);
            Assert.Equal(expectedBatch.FinalizedDateTime, timestamp);
            Assert.Equal(expectedBatch.ItemCount, result.ItemCount);
            Assert.Equal(expectedBatch.BatchTotalAmount, result.BatchTotalAmount);
        }
Esempio n. 5
0
 public void UpdateDonationBatch(DonationBatchDto donationBatchDto)
 {
     _batchRepository.UpdateDonationBatch(_mapper.Map <MpDonationBatch>(donationBatchDto));
 }
Esempio n. 6
0
        public DonationBatchDto SaveDonationBatch(DonationBatchDto donationBatchDto)
        {
            var mpBatch = _batchRepository.CreateDonationBatch(_mapper.Map <MpDonationBatch>(donationBatchDto));

            return(_mapper.Map <DonationBatchDto>(mpBatch));
        }