public async Task <IActionResult> AddBeer([FromBody] UpdateBeerRequest beer) { if (ModelState.IsValid) { var entity = new BeerEntity() { Abv = beer.Abv, Name = beer.Name, BreweryId = beer.BreweryId }; await _beersRepository.Add(entity); /* * await _beersRepository.Add(new BeerEntity() * { * Abv = beer.Abv, * Name = beer.Name, * BreweryId = beer.BreweryId * }); */ //return StatusCode((int)System.Net.HttpStatusCode.Created); return(new StatusCodeResult((int)System.Net.HttpStatusCode.Created)); } else { return(BadRequest()); } }
public ActionResult <ApiUpdateBeerViewModel> UpdateBeer([FromBody][FromRoute] UpdateBeerRequest request) { var useCase = new UpdateBeerUseCase(_catalog); var presenter = new ApiUpdateBeerPresenter(); useCase.Execute(request, presenter); var vm = presenter.ViewModel; return(vm.HttpCode == 201 ? Ok(vm) : (ActionResult)BadRequest(vm)); }
public UpdateBeerResponse UpdateBeer(UpdateBeerRequest updateBeerRequest) { var response = new UpdateBeerResponse() { BaseResponse = CreateBaseResponse(updateBeerRequest.BaseRequest) }; response.BaseResponse = VerifyBaseRequest(updateBeerRequest.BaseRequest, response.BaseResponse); if (response.BaseResponse.ResponseStatus == ResponseStatus.Failure) { response.Beer = null; return(response); } var beer = _beerRepository.UpdateBeer(updateBeerRequest.Beer); response.Beer = beer; return(response); }
public void Execute(UpdateBeerRequest request, IUpdateBeerPresenter presenter) { var response = new UpdateBeerResponse(); var validator = new UpdateBeerValidator(_catalog); var validationResult = validator.Validate(request); if (!validationResult.IsValid) { response.Data = null; response.Errors = validationResult.Errors .Select(e => new KeyValuePair <string, string>(e.PropertyName, e.ErrorMessage)) .ToDictionary(x => x.Key, x => x.Value); } else { var beer = _catalog.GetOneBeer(request.Id); var toUpdate = new BeerModel( beer.Id.Value, beer.CreatedAt.Value, DateTime.Now, request.Label, request.Description, request.Stock ); var updated = _catalog.UpdateBeer(toUpdate); response.Data = updated; response.Errors = null; } presenter.Present(response); }