Beispiel #1
0
        public async Task <ActionResult <ProductResponseModel> > GetById(string id)
        {
            if (!ProductId.IsValidId(id))
            {
                return(BadRequest()); // https://stackoverflow.com/q/3290182/291299
            }

            var productId = new ProductId(id);

            var productResult = await productsService.GetById(User, productId);

            if (productResult.Result == ServiceResult.NotFound)
            {
                return(NotFound());
            }

            if (productResult.Result == ServiceResult.Forbidden)
            {
                return(Forbid());
            }

            return(Ok(productResult.Value.MapToProductResponseModel()));
        }
Beispiel #2
0
        public ActionResult <Product> GetById(string id)
        {
            if (!ProductId.IsValidId(id))
            {
                return(BadRequest()); // https://stackoverflow.com/q/3290182/291299
            }

            var productId = new ProductId(id);

            var product = repository.GetById(productId);

            if (product == null)
            {
                return(NotFound());
            }

            if (!product.CanRead(User))
            {
                return(Forbid());
            }

            return(Ok(product));
        }
 public void ProductIdShouldReject(string id)
 {
     Assert.False(ProductId.IsValidId(id));
 }