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())); }
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); }