コード例 #1
0
        /// <summary>
        /// Adds a Measurement to a Product.
        /// </summary>
        /// <param name="addMeasurementToProductMV">AddMeasurementToProductModelView containing the data of the Measurement instance being added.</param>
        /// <returns>GetProductModelView with updated Product information.</returns>
        /// <exception cref="ResourceNotFoundException">Thrown when the Product could not be found.</exception>
        public GetProductModelView addMeasurementToProduct(AddMeasurementModelView addMeasurementToProductMV)
        {
            ProductRepository productRepository = PersistenceContext.repositories().createProductRepository();
            Product           product           = PersistenceContext.repositories().createProductRepository().find(addMeasurementToProductMV.productId);

            if (product == null)
            {
                throw new ResourceNotFoundException(string.Format(ERROR_UNABLE_TO_FIND_PRODUCT_BY_ID, addMeasurementToProductMV.productId));
            }

            Measurement measurement = MeasurementModelViewService.fromModelView(addMeasurementToProductMV);

            product.addMeasurement(measurement);

            product = productRepository.update(product);

            return(ProductModelViewService.fromEntity(product));
        }
コード例 #2
0
        public ActionResult addMeasurementToProduct(long productId, [FromBody] AddMeasurementModelView measurementModelView)
        {
            if (measurementModelView == null)
            {
                return(BadRequest(new SimpleJSONMessageService(INVALID_MEASUREMENT_DATA)));
            }

            measurementModelView.productId = productId;

            try {
                GetProductModelView productModelView = new core.application.ProductController().addMeasurementToProduct(measurementModelView);
                return(Created(Request.Path, productModelView));
            } catch (ResourceNotFoundException e) {
                return(NotFound(new SimpleJSONMessageService(e.Message)));
            } catch (ArgumentException e) {
                return(BadRequest(new SimpleJSONMessageService(e.Message)));
            } catch (Exception) {
                return(StatusCode(500, new SimpleJSONMessageService(UNEXPECTED_ERROR)));
            }
        }