コード例 #1
0
        public async Task <ActionResult <CreateAuctionResponse> > Create([FromForm] CreateAuctionRequest request)
        {
            _logger.LogInformation("Call post on /api/Auction");

            var auctionModel = new Auction(request.Title, request.StartDate, request.EndDate);
            await _auctionService.AddSlotsToAuction(auctionModel, request.Slots);

            await _auctionRepository.AddAsync(auctionModel, new CancellationToken(false));

            var response = new CreateAuctionResponse(request.CorrelationId());

            response.Auction = Mapper.Map <Auction, AuctionDto>(auctionModel);

            return(Ok(response));
        }
コード例 #2
0
        public async Task Create([FromBody] CreateAuctionRequest createRequest)
        {
            //TODO: id assignemnt of scoped auction item - responsability?

            var auctionItems = new Domain.AuctionItem[createRequest.AuctionItems.Length];

            for (int i = 0; i < createRequest.AuctionItems.Length; i++) //Mapping
            {
                var requestAuctionItem = createRequest.AuctionItems[i];

                auctionItems[i] = new Domain.AuctionItem(i, requestAuctionItem.Name, requestAuctionItem.Description, requestAuctionItem.ReservedPrice);
            }

            await _mediator.Send(new CreateAuctionCommand(createRequest.Name, auctionItems));
        }