Exemple #1
0
        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());
            }
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }