示例#1
0
        public async Task <ActionResult <GetPaymentDto> > Get(int id)
        {
            var command = new GetPaymentQuery(id);
            var result  = await _mediatr.Send(command);

            return(result != null ? (ActionResult)Ok(new { Message = "success", data = result }) : NotFound(new { Message = "not found" }));
        }
 public GetPaymentHandlerTests()
 {
     _mockEvents            = new List <IEvent <Payment> >();
     _mockEventStore        = new Mock <IEventStore <Payment> >();
     _sut                   = new GetPaymentHandler(_mockEventStore.Object);
     _mockQuery             = new GetPaymentQuery(Guid.Empty);
     _mockCancellationToken = new CancellationToken();
 }
        public void Handle_GivenInvalidId_ThrowsException()
        {
            var query = new GetPaymentQuery
            {
                Id = 99
            };

            FluentActions.Invoking(() =>
                                   SendAsync(query)).Should().Throw <NotFoundException>();
        }
        public void Handle_GivenInvalidId_ThrowsException()
        {
            var query = new GetPaymentQuery
            {
                Id = 99
            };

            var sut = new GetPaymentQueryHandler(_repository, Mapper);

            Assert.ThrowsAsync <NotFoundException>(() =>
                                                   sut.Handle(query, CancellationToken.None));
        }
        public async Task Handle_GivenValidId_ReturnsCorrectVm()
        {
            var query = new GetPaymentQuery
            {
                Id = 1
            };

            var sut = new GetPaymentQueryHandler(_repository, Mapper);

            var result = await sut.Handle(query, CancellationToken.None);

            result.Should().BeOfType <PaymentVm>();
            result.Id.Should().Be(1);
        }
        public async Task <IActionResult> Get([Required, NotEmptyGuid] Guid id)
        {
            var merchantId = _httpContext.HttpContext.User.Identity.Name;
            var query      = new GetPaymentQuery(id, merchantId);

            // The mediator routes this query to the GetPaymentQueryHandler.cs
            var payment = await _mediator.Send(query);

            if (payment == null)
            {
                return(NotFound());
            }

            return(Ok(new PaymentResponse(payment)));
        }
        public async Task ShouldGetPaymentById()
        {
            var paymentId = await SendAsync(new CreatePaymentCommand
            {
                Name = "Do yet another thing for Get By id."
            });

            var query = new GetPaymentQuery
            {
                Id = paymentId
            };

            var result = await SendAsync(query);

            result.Should().BeOfType <PaymentVm>();
            result.Id.Should().Be(paymentId);
        }
        public async Task <GetPaymentResult> HandleAsync(GetPaymentQuery query)
        {
            var payment = await _paymentRepository.FindBy(query.PaymentId);

            if (payment == null)
            {
                return(new ErrorResult($"There is no payment with id: {query.PaymentId}"));
            }

            var cardNumber = _cryptoService.Decrypt(payment.CardNumber, payment.EncriptionKey);

            return(new SuccessResult
            {
                CardNumber = cardNumber.Mask(),
                Amount = payment.Amount,
                PaymentDate = payment.CreatedDate,
                PaymentStatus = payment.PaymentStatus,
                Currency = payment.Currency
            });
        }
示例#9
0
        public async Task <ActionResult> GetById(int id)
        {
            var notif = new GetPaymentQuery(id);

            return(Ok(await _mediatr.Send(notif)));
        }
示例#10
0
 public async Task <Payment> Handle(GetPaymentQuery request, CancellationToken cancellationToken)
 {
     return(await _repository.GetAsync(request.Id));
 }
        public async Task <ActionResult <GetPaymentDto> > GetCustomerById(int id)
        {
            var result = new GetPaymentQuery(id);

            return(Ok(await _mediatr.Send(result)));
        }