Exemple #1
0
        public async Task <bool> Handle(GetProductDetailRequest request, IOutputPort <GetProductDetailResponse> outputPort)
        {
            var product = await repository.GetProductById(request.Id);

            if (product != null)
            {
                outputPort.Handle(new GetProductDetailResponse(product.Id, product.Name, product.Description, product.Price, product.Category, true));
                return(true);
            }
            outputPort.Handle(new GetProductDetailResponse(false, $"ProductId - {request.Id} was not found"));
            return(false);
        }
Exemple #2
0
        public async Task <Response <ProductDetailResponse> > Get(GetProductDetailRequest request)
        {
            var product = await _uow.Products.FindAsync(new Guid(request.ProductId));

            if (product == null || !product.IsActive)
            {
                return(new Response <ProductDetailResponse>(ResponseStatus.NotFound, null, $"Product with id: {request.ProductId} was not founded"));
            }


            var availabilities = await _productSharedService.GetProductAvailabilities(product);

            return(new Response <ProductDetailResponse>(ResponseStatus.Ok, _mapService.MapProductDetail(product, availabilities)));
        }
Exemple #3
0
        public async Task <IHttpActionResult> Get([FromUri] GetProductDetailRequest request)
        {
            var response = await _productService.Get(request);

            return(new CreateResult(response));
        }