public GetAllBeersResponse GetAllBeers(GetAllBeersRequest getAllBeersRequest) { _logger.Debug("Entering Get All Beers"); var response = new GetAllBeersResponse() { BaseResponse = CreateBaseResponse(getAllBeersRequest.BaseRequest) }; _logger.Debug("Base Response created"); response.BaseResponse = VerifyBaseRequest(getAllBeersRequest.BaseRequest, response.BaseResponse); if (response.BaseResponse.ResponseStatus == ResponseStatus.Failure) { response.Beers = null; return(response); } var beers = _beerRepository.GetAllBeers(); response.Beers = beers; return(response); }
public BeersResponse GetBeers() { var client = new BeerWithSoapServiceClient(); var getAllBeersRequest = new GetAllBeersRequest { BaseRequest = new BaseRequest { APIKey = "ILoveBeer", ClientCode = "TonyaZen", RequestId = Guid.NewGuid().ToString(), Version = "V1" } }; try { var response = client.GetAllBeers(getAllBeersRequest); if (response.BaseResponse.ResponseStatus == ResponseStatus.Success) { client.Close(); return(new BeersResponse { Success = true, Beers = _mapper.MapBeers(response.Beers) }); } Logger.ErrorFormat("Get Beers failed for " + $"client: {getAllBeersRequest.BaseRequest.ClientCode}. " + $"RequestID: {getAllBeersRequest.BaseRequest.RequestId}. " + $"Error from Service: {response.BaseResponse.TechnicalErrorMessage}."); return(new BeersResponse { Success = false, Message = response.BaseResponse.DisplayErrorMessage, Beers = new List <Beer>() }); } catch (Exception ex) { Logger.ErrorFormat("Get Beers failed for " + $"client: {getAllBeersRequest.BaseRequest.ClientCode}. " + $"RequestID: {getAllBeersRequest.BaseRequest.RequestId}. " + $"Exception: {ex}."); client.Abort(); return(new BeersResponse { Success = false, Message = "We're sorry, there was a problem getting your beers. :(", Beers = new List <Beer>() }); } }
public ActionResult <ApiGetAllBeersViewModel> GetAllBeers([FromQuery] GetAllBeersRequest request) { var useCase = new GetAllBeersUseCase(_catalog); var presenter = new ApiGetAllBeersPresenters(); useCase.Execute(request, presenter); var vm = presenter.ViewModel; return(vm.HttpCode == 204 ? NoContent() : (ActionResult)Ok(vm)); }
public void ItShouldReturnAllTheBeers(int?page, int?perPage) { var request = new GetAllBeersRequest { Page = page, PerPage = perPage }; var getAllBeersUseCase = new GetAllBeers(_catalog); getAllBeersUseCase.Execute(request, this); Assert.Equal(2, Response.Beers.Count); }
public void Execute(GetAllBeersRequest request, IGetAllBeersPresenter presenter) { var beers = _catalog.GetAllBeers(); FilterService <BeerModel> .ApplyPaginationFilter(ref beers, request.Page ?? 1, request.PerPage ?? 50); if (request.CreatedAt != null) { FilterService <BeerModel> .ApplyDateFilters(ref beers, request.CreatedAt, nameof(BeerModel.CreatedAt)); } if (request.LastUpdate != null) { FilterService <BeerModel> .ApplyDateFilters(ref beers, request.LastUpdate, nameof(BeerModel.LastUpdate)); } if (request.Label != null) { FilterService <BeerModel> .ApplyStringFilters(ref beers, request.Label, nameof(BeerModel.Label)); } if (request.Description != null) { FilterService <BeerModel> .ApplyStringFilters(ref beers, request.Description, nameof(BeerModel.Description)); } if (request.Stock != null) { FilterService <BeerModel> .ApplyNumberFilters(ref beers, request.Stock, nameof(BeerModel.Stock)); } if (request.Sorts != null) { // FilterService<BeerModel>.ApplySortFilters(ref beers, request.Sorts); beers = beers; } else { beers = beers.OrderByDescending(b => b.CreatedAt.Value); } var count = beers.Count(); var data = beers.ToList(); presenter.Present(new GetAllBeersResponse { Data = data, Page = request.Page ?? 1, PerPage = request.PerPage ?? 50, Total = count }); }
public ActionResult GetAllBeers([FromQuery] GetAllBeersRequest request) { var useCase = new GetAllBeers(_catalog); var presenter = new ApiGetAllBeersPresenter(); useCase.Execute(request, presenter); var viewModel = presenter.ViewModel; if (viewModel.HttpCode == 200) { return(Ok(viewModel)); } return(NoContent()); }