コード例 #1
0
        public async Task <IHttpActionResult> Create(CreateRentalDto createRental)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if ((createRental.MovieIds?.Count() ?? 0) == 0)
            {
                ModelState.AddModelError(nameof(CreateRentalDto.MovieIds), "Select at least one movie.");
                return(BadRequest(ModelState));
            }

            try
            {
                var rentals = mapper.Map <IEnumerable <Rental> >(createRental);
                await rentalService.CreateAsync(rentals);

                return(Ok(new { Message = "Success!" }));
            }
            catch (ValidationException e)
            {
                ModelState.AddModelError(e.Property, e.Message);
                return(BadRequest(ModelState));
            }
        }
コード例 #2
0
        public async Task <IActionResult> Create(CreateRentalDto input)
        {
            var newGuid = Guid.NewGuid();
            await _mediatorService.Send(new AddRentalCommand(newGuid, input.ClientGuid, input.BoardGameGuid,
                                                             input.ChargedDeposit));

            return(new OkObjectResult(new { newGuid }));
        }
コード例 #3
0
        public async Task <ActionResult> CreateRentalAsync([FromBody] CreateRentalDto rental)
        {
            BuildUserPrincipal();
            rental.UserId = ApiUser.Id;

            var result = await _rentalService.CreateRentalAsync(rental);

            return(StatusCode((int)HttpStatusCode.Created, Json(JsonResultData.Success(result))));
        }
コード例 #4
0
        public async Task <GetRentalDto> CreateRentalAsync(CreateRentalDto item, CancellationToken ct = default)
        {
            var newItem = _mapper.Map <Rental>(item);

            _unitOfWork.RentalRepository.Create(newItem);

            await _unitOfWork.CommitAsync(ct);

            return(_mapper.Map <GetRentalDto>(newItem));
        }