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