Esempio n. 1
0
        public async Task <IActionResult> AddProduct([HttpTrigger(AuthorizationLevel.Function, "post", Route = "products")] HttpRequest request)
        {
            var productModel = await request.DeserializeBody <ProductEditableModel>();

            var newProduct = new Product(productModel.Name, productModel.Price);

            repository.AddProduct(newProduct);

            return(ActionResults.Created($"/api/products/{newProduct.Id}", newProduct));
        }
        public async Task <IActionResult> AddReview([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "reviews/{productId}")] HttpRequest request, string productId)
        {
            var reviewModel = await request.DeserializeBody <ReviewRequestModel>();

            var review = new Review(reviewModel.NumberOfStarts, reviewModel.Description);

            repository.AddProductReview(productId, review);

            return(ActionResults.Created());
        }
        public async Task <IActionResult> AddPromotion([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "promotions")] HttpRequest request)
        {
            var promotionRequest = await request.DeserializeBody <AddPromotionRequestModel>();

            var promotionRequestValidation = promotionRequest.Validate();

            if (promotionRequestValidation.Any())
            {
                return(new BadRequestObjectResult(promotionRequestValidation));
            }

            repository.AddPromotion(new Promotion(promotionRequest));

            return(ActionResults.Created());
        }