Пример #1
0
        public async Task <ActionResult> MakeBid(int id, [FromBody] MakeBidResource bid)
        {
            var lotToUpdate = await _lotService.GetLotById(id);

            if (lotToUpdate.Bid >= bid.Bid)
            {
                return(BadRequest("new bid must be bigger then old"));
            }
            LotResource lot = new LotResource();

            lot.Bid     = bid.Bid;
            lot.BidUser = bid.UserId;

            await _lotService.MakeBid(id, lot);

            return(NoContent());
        }
Пример #2
0
        public async Task MakeBid(int lotToBeUpdatedId, LotResource lot)
        {
            var validator        = new MakeBidResourceValidator();
            var validationResult = await validator.ValidateAsync(lot);

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

            var actualLot = await _unitOfWork.Lots.GetByIdAsync(lotToBeUpdatedId);

            if (actualLot == null)
            {
                throw ExceptionBuilder.Create("Lot with provided Id does not exist");
            }

            actualLot.Bid     = (lot.Bid != 0) ? lot.Bid : actualLot.Bid;
            actualLot.BidUser = (!string.IsNullOrEmpty(lot.BidUser)) ? lot.BidUser : actualLot.BidUser;

            await _unitOfWork.CommitAsync();
        }