コード例 #1
0
        public void PurchaseCommand_should_exceute()
        {
            var cut    = new PurchaseCommand("order", 1.25M, 1, 1);
            var actual = cut.Execute();

            actual.Should().BeTrue();
        }
コード例 #2
0
        public async Task <IActionResult> Index(PurchaseCommand command, string displayUrl)
        {
            try
            {
                command.CurrencyUrl        = displayUrl;
                command.UserId             = CurrentUserService.UserId;
                var(purchaseId, pricePaid) = await Mediator.Send(command);

                var callBackUrl = Url.Action("Verify", "Purchase", new { purchaseId }, Request.Scheme);
                var redirect    = await _paymentService.Pay(pricePaid, callBackUrl);

                return(Redirect(redirect));
            }
            catch (ValidationException exception)
            {
                foreach (var(key, value) in exception.Errors)
                {
                    ModelState.AddModelError(key, value[0]);
                }
                return(View(command));
            }
            catch (NotFoundException exception)
            {
                return(NotFound(exception.Message));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Purchase([FromBody] PurchaseCommand command)
        {
            _logger.LogInformation($"{command}");

            var purchase = await _mediator.Send(command);

            return(Ok(purchase));
        }
コード例 #4
0
        public Task <CommandResult> Purchase([FromBody] PurchaseDTO purchaseDTO)
        {
            var command = new PurchaseCommand
            {
                PurchaseId   = Guid.NewGuid().ToString(),
                PurchaseDate = purchaseDTO.PurchaseDate
            };

            command.LineItems = new List <LineItemCommand>();

            foreach (PurchaseItemDTO purchaseItemDTO in purchaseDTO.PurchaseItems ?? new List <PurchaseItemDTO>())
            {
                command.LineItems.Add(new LineItemCommand
                {
                    ProductId         = purchaseItemDTO.ProductId,
                    ProductName       = purchaseItemDTO.ProductName,
                    PurchaseQuantity  = purchaseItemDTO.Quantity,
                    PurchaseUnitName  = purchaseItemDTO.UnitName,
                    PurchaseUnitPrice = purchaseItemDTO.UnitPrice
                });
            }

            return(commandBus.Send <PurchaseCommand, CommandResult>(command));
        }
コード例 #5
0
 public async Task <ActionResult <PurchaseViewModel> > Purchase([FromBody] PurchaseCommand command)
 {
     return(Ok(await Mediator.Send(command)));
 }
コード例 #6
0
 private void TogglePurchaseCommandEnabled(bool enabled)
 {
     _isPurchaseCommandEnabled = enabled;
     PurchaseCommand.RaiseCanExecuteChanged();
 }
コード例 #7
0
 public async Task <IActionResult> Purchase([FromBody] PurchaseCommand command)
 {
     return(await ProcessCommand(command));
 }