public GetProductOptionResponse GetProductOption(GetProductOptionRequest request) { var response = new GetProductOptionResponse { Errors = new List <Error>() }; try { response.ProductOption = Repository.GetProductOption(request.Id); } catch (Exception ex) { response.Errors.Add( new Error { CustomisedMessage = "Unable to get product option", StackTrace = ex.StackTrace, SystemMessage = ex.Message, }); Logger.Fatal(request); Logger.Fatal(response, ex); } return(response); }
public async Task <GetProductOptionResponse> Handle(GetProductOptionRequest request) { var productOption = await _productOptionRepository.Get(request.ProductId, request.OptionId); return(new GetProductOptionResponse { ProductOption = productOption }); }
public async Task <IHttpActionResult> GetProductOption(Guid productId, Guid optionId) { var request = new GetProductOptionRequest { ProductId = productId, OptionId = optionId }; var response = await _productOptionsHandler.Handle(request); if (response.ProductOption == null) { return(NotFound()); } return(Ok(response.ProductOption)); }