コード例 #1
0
        public void Convert_colletion_failed_transaction_dto_to_entity_should_work()
        {
            // Arrange
            List <FailedTransactionDto> dtos = new List <FailedTransactionDto>();

            for (int i = 0; i < 5; i++)
            {
                var dto = new FailedTransactionDto
                {
                    TermsConsent    = true,
                    NewsletterOptin = true
                };
                dtos.Add(dto);
            }


            // Act
            var entities = _mapper.toEntities <FailedTransaction>(dtos).ToList();

            //Assert
            for (int i = 0; i < 5; i++)
            {
                Assert.AreEqual <bool>(dtos[i].TermsConsent, entities[i].TermsConsent);
                Assert.AreEqual <bool>(dtos[i].NewsletterOptin, entities[i].NewsletterOptin);
            }
        }
コード例 #2
0
        private async Task <(bool, string)> ProceedToParticipationSyncRetryProcess(ParticipationDto participation, CrmData crmData, Configurations configuration)
        {
            var success    = false;
            var consumerId = string.Empty;

            // Store locally
            var failed = new FailedTransactionDto
            {
                Id = Guid.NewGuid(),
                ParticipationId = participation.Id,
                TermsConsent    = true,
                NewsletterOptin = participation.NewsletterOptin,
                CreatedDate     = DateTimeOffset.UtcNow
            };

            _failedTransactionService.Create(failed);

            // Another attempt
            var reSyncResponse = await _scheduler.RetryParticipationSyncImmediately(crmData, configuration, true);

            var typedResponse = (CrmResponse)reSyncResponse;

            success = typedResponse.Data.Success;

            if (success)
            {
                var currentParticipation = _participationService.GetParticipation(participation.Id);

                currentParticipation.Status       = ParticipationStatus.PARTICIPATION_RETRY_SUCCESS.ToString();
                currentParticipation.ApiStatus    = typedResponse.Data.ApiStatus.ToString();
                currentParticipation.ConsumerId   = typedResponse.Data.Data.ConsumerId;
                currentParticipation.ApiMessage   = typedResponse.Data.ApiMessage;
                currentParticipation.ModifiedDate = DateTimeOffset.UtcNow;
                _participationService.UpdateParticipation(currentParticipation);

                _failedTransactionService.Delete(failed.Id);

                consumerId = typedResponse.Data.Data.ConsumerId;
            }
            else
            {
                var currentParticipation = _participationService.GetParticipation(participation.Id);

                currentParticipation.Status       = ParticipationStatus.PARTICIPATION_RETRY_FAILED.ToString();
                currentParticipation.ModifiedDate = DateTimeOffset.UtcNow;
                _participationService.UpdateParticipation(currentParticipation);
            }

            return(success, consumerId);
        }
コード例 #3
0
        public void Convert_failed_transaction_dto_to_entity_should_work()
        {
            // Arrange
            var dto = new FailedTransactionDto
            {
                TermsConsent    = true,
                NewsletterOptin = true
            };

            // Act
            var entity = _mapper.toEntity <FailedTransaction>(dto);

            //Assert
            Assert.AreEqual <bool>(dto.TermsConsent, entity.TermsConsent);
            Assert.AreEqual <bool>(dto.NewsletterOptin, entity.NewsletterOptin);
        }
コード例 #4
0
 public async Task <bool> DeleteAsync(FailedTransactionDto failedTransaction)
 => await Task.Run(() => Delete(_mapper.toEntity <FailedTransaction>(failedTransaction), true) > 0);
コード例 #5
0
 public bool Delete(FailedTransactionDto failedTransaction)
 => Delete(_mapper.toEntity <FailedTransaction>(failedTransaction), true) > 0;
コード例 #6
0
 public async Task <bool> UpdateAsync(FailedTransactionDto failedTransaction)
 {
     failedTransaction.ModifiedDate = DateTimeOffset.UtcNow;
     return(await Task.Run(() => Update(_mapper.toEntity <FailedTransaction>(failedTransaction), true) > 0));
 }
コード例 #7
0
 public bool Update(FailedTransactionDto failedTransaction)
 {
     failedTransaction.ModifiedDate = DateTimeOffset.UtcNow;
     return(Update(_mapper.toEntity <FailedTransaction>(failedTransaction), true) > 0);
 }
コード例 #8
0
 public async Task <bool> AddAsync(FailedTransactionDto failedTransaction)
 {
     failedTransaction.Id          = failedTransaction.Id != default ? failedTransaction.Id : Guid.NewGuid();
     failedTransaction.CreatedDate = DateTimeOffset.UtcNow;
     return(await Task.Run(() => Add(_mapper.toEntity <FailedTransaction>(failedTransaction), true) > 0));
 }
コード例 #9
0
 public bool Add(FailedTransactionDto failedTransaction)
 {
     failedTransaction.Id          = failedTransaction.Id != default ? failedTransaction.Id : Guid.NewGuid();
     failedTransaction.CreatedDate = DateTimeOffset.UtcNow;
     return(Add(_mapper.toEntity <FailedTransaction>(failedTransaction), true) > 0);
 }
コード例 #10
0
 public bool Create(FailedTransactionDto transaction)
 {
     return(_failedRepository.Add(transaction));
 }
コード例 #11
0
 public static FailedTransaction toEntity(this FailedTransactionDto failedTransactionDto)
 => AutoMapper.Mapper.Map <FailedTransactionDto, FailedTransaction>(failedTransactionDto);