//This method always convert to dollar // 1 dollar = 0,9 euro public static Product convertPriceFromUnit(Product product, CurrencyUnitEnum.Units productUnits) { switch (productUnits) { case CurrencyUnitEnum.Units.Euro: product.Price = Math.Round(product.Price*(decimal) (0.90),2); return product; default: //case productUnits is empty or dollar no convertion needed return product; } }
// PUT: api/Products/5 public IHttpActionResult Put(int id, CurrencyUnitEnum.Units priceUnit, [FromBody]Product product) { try { if (product == null) { return BadRequest("Product cannot be null"); } if (!ModelState.IsValid) { return BadRequest(ModelState); } product = CurrencyUtils.convertPriceFromUnit(product, priceUnit); var updatedProduct = repository.Save(id, product); if (updatedProduct == null) { return NotFound(); } return Ok(); } catch (Exception e) { return InternalServerError(e); } }