Exemple #1
0
 public PaymentsWindow(ConnectionSettings connectionSettings)
 {
     _connectionSettings = Guard.GetNotNull(connectionSettings, "connectionSettings");
     InitializeComponent();
     Filter      = new PaymentsFilter(connectionSettings);
     DataContext = Filter;
     CountPages();
     InitTable();
     SetFiltersToNull();
 }
Exemple #2
0
        public void Init()
        {
            _filter = new PaymentsFilter
            {
                UserId = "97190759-1638-42fa-abb7-1ac97111978d"
            };

            var logFactory = LoggerFactory.Create(builder => builder.AddConsole());

            _log = logFactory.CreateLogger <AllPaymentsValidator>();
        }
Exemple #3
0
        public async Task <ResponseModel> GetPayments([FromBody] PaymentsFilter filter)
        {
            try
            {
                //given the data in the filter, the user gets a collection of processed payments.
                var process = await _actionService.ProcessAction <AllPaymentsActionProvider>(filter);

                return(new GlobalResultToResponse <IEnumerable <RepoModel.Payment> >().MapToDestination <Payment>(process));
            }
            catch (Exception ex)
            {
                _log.LogError(500, ex.Message);
                throw;
            }
        }
Exemple #4
0
        public async Task <IReadOnlyList <IPaymentRequest> > GetByFilterAsync(PaymentsFilter paymentsFilter)
        {
            var filter = nameof(PaymentRequestEntity.PartitionKey)
                         .PropertyEqual(PaymentRequestEntity.ByMerchant.GeneratePartitionKey(paymentsFilter.MerchantId))
                         .And(nameof(PaymentRequestEntity.Initiator).PropertyEqual(LykkePayConstants.ApiPaymentRequestInitiator));

            if (paymentsFilter.Statuses.Any())
            {
                var localFilter = string.Empty;
                foreach (var status in paymentsFilter.Statuses)
                {
                    localFilter = localFilter.OrIfNotEmpty(nameof(PaymentRequestEntity.Status).PropertyEqual(status.ToString()));
                }
                filter = filter.AndIfNotEmpty(localFilter);
            }

            if (paymentsFilter.ProcessingErrors.Any())
            {
                var localFilter = string.Empty;
                foreach (var processingError in paymentsFilter.ProcessingErrors)
                {
                    localFilter = localFilter.OrIfNotEmpty(nameof(PaymentRequestEntity.ProcessingError).PropertyEqual(processingError.ToString()));
                }
                filter = filter.AndIfNotEmpty(localFilter);
            }

            if (paymentsFilter.DateFrom.HasValue)
            {
                filter = filter.AndIfNotEmpty(nameof(PaymentRequestEntity.CreatedOn).DateGreaterThanOrEqual(paymentsFilter.DateFrom.Value));
            }

            if (paymentsFilter.DateTo.HasValue)
            {
                filter = filter.AndIfNotEmpty(nameof(PaymentRequestEntity.CreatedOn).DateLessThanOrEqual(paymentsFilter.DateTo.Value));
            }

            var tableQuery = new TableQuery <PaymentRequestEntity>().Where(filter);

            var result = await _storage.WhereAsync(tableQuery);

            return(Mapper.Map <List <Core.Domain.PaymentRequests.PaymentRequest> >(result));
        }
Exemple #5
0
        public void PaymentsFilterHelper_GetPayments_ProductName_Successful()
        {
            //Mock
            var mockRepo = new Mock <IPaymentRepository>();

            mockRepo.Setup(r => r.GetMongoQueryable()).Returns(_payments);
            //Arrange and Act
            var filter = new PaymentsFilter
            {
                UserId      = _userId.ToString(),
                ProductName = "Product Test"
            };

            var result = mockRepo.Object.GetMongoQueryable().GetPaymentsQueryable(filter);

            //Assert
            Assert.IsTrue(result != null);
            Assert.IsTrue(result.ToList().Any());
            Assert.AreEqual(result.FirstOrDefault()?.PaymentId, _payments.FirstOrDefault()?.PaymentId);
        }
Exemple #6
0
 public async Task <IReadOnlyList <IPaymentRequest> > GetByFilterAsync(PaymentsFilter paymentsFilter)
 {
     return(await _paymentRequestRepository.GetByFilterAsync(paymentsFilter));
 }
Exemple #7
0
        public static IQueryable <payment_gateway_repository.Model.Payment> GetPaymentsQueryable(this IQueryable <payment_gateway_repository.Model.Payment> payments, PaymentsFilter filter)
        {
            if (payments == null)
            {
                throw new ArgumentOutOfRangeException(nameof(payments), "There are no payments to filter.");
            }

            var result = payments.Where(x => x.UserId == new Guid(filter.UserId));

            if (filter.StartDate != default && filter.EndDate != default)
            {
                result = result.Where(d => d.Created >= filter.StartDate && d.Created <= filter.EndDate);
            }
            if (!string.IsNullOrEmpty(filter.CardNumber))
            {
                result = result.Where(c => c.CardDetails.CardNumber == filter.CardNumber);
            }
            if (!string.IsNullOrEmpty(filter.ProductId))
            {
                result = result.Where(p => p.ProductId == filter.ProductId);
            }
            if (!string.IsNullOrEmpty(filter.ProductName))
            {
                result = result.Where(p => p.ProductName == filter.ProductName);
            }

            return(result);
        }