// 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); }
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(); }
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); }
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); }
public void UpdateDonationBatch(DonationBatchDto donationBatchDto) { _batchRepository.UpdateDonationBatch(_mapper.Map <MpDonationBatch>(donationBatchDto)); }
public DonationBatchDto SaveDonationBatch(DonationBatchDto donationBatchDto) { var mpBatch = _batchRepository.CreateDonationBatch(_mapper.Map <MpDonationBatch>(donationBatchDto)); return(_mapper.Map <DonationBatchDto>(mpBatch)); }