public async Task <Response <ProductDetailResponse> > GetByUrl(GetProductDetailByUrlRequest request) { var products = await _uow.Products.FindManyAsync(x => x.UrlName == request.UrlName && x.IsActive); if (products.IsEmpty()) { return(new Response <ProductDetailResponse>( ResponseStatus.NotFound, null, $"Product with urlName: {request.UrlName} was not found")); } var product = products.First(); var availabilities = await _productSharedService.GetProductAvailabilities(product); return(new Response <ProductDetailResponse>(ResponseStatus.Ok, _mapService.MapProductDetail(product, availabilities))); }
public async Task <IHttpActionResult> GetByUrl([FromUri] GetProductDetailByUrlRequest request) { var response = await _productService.GetByUrl(request); return(new CreateResult(response)); }