Exemplo n.º 1
0
        public async Task <ActionResult <AuctionModel> > Post([FromBody] CreateAuctionResource auctionBody)
        {
            var auction = await _auctionService.CreateAuction(auctionBody);

            var result = _mapper.Map <AuctionModel>(auction);

            return(CreatedAtAction(nameof(Get), new { id = result.Id }, result));
        }
 public static Auction MapAsNewEntity(this CreateAuctionResource model)
 {
     return(new Auction
     {
         Name = model.Name,
         EndDate = model.EndDate
     });
 }
        public async Task <ActionResult <AuctionResource> > Post(CreateAuctionResource model, CancellationToken cancellationToken)
        {
            await this.cache.RemoveAsync("AllHotels", cancellationToken);

            var entity = model.MapAsNewEntity();

            this.context.Auctions.Add(entity);
            await this.context.SaveChangesAsync(cancellationToken);

            return(this.CreatedAtAction("Get", new { id = entity.Id }, entity.MapAsResource()));
        }
Exemplo n.º 4
0
        public async Task <AuctionResource> CreateAuction(CreateAuctionResource auction)
        {
            var validator        = new CreateAuctionResourceValidator();
            var validationResult = await validator.ValidateAsync(auction);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors);
            }

            var auctionData = _mapper.Map <CreateAuctionResource, Auction>(auction);

            await _unitOfWork.Auctions.AddAsync(auctionData);

            await _unitOfWork.CommitAsync();

            var auctionModel = _mapper.Map <Auction, AuctionResource>(auctionData);

            return(auctionModel);
        }