public IHttpActionResult Get(int id)
        {
            try
            {
                // throw new Exception("Invalid operation occured");
                Product product;
                var productRepository = new ProductRepository();
                if (id > 0)
                {
                    var res = productRepository.Retrieve();
                    product = res.Find(x => x.ProductId.Equals(id));
                    if (product == null) return NotFound();
                }
                else
                {
                    product = productRepository.Create();
                }
                return Ok(product);
            }
            catch (Exception ex)
            {

                return InternalServerError(ex);
            }
        }
 public IHttpActionResult Get()
 {
     try
     {
         var productRepository = new ProductRepository();
         return Ok(productRepository.Retrieve().AsQueryable());
     }
     catch (Exception ex)
     {
         return InternalServerError(ex);
     }
 }
        // POST api/product
        public IHttpActionResult Post([FromBody]Product product)
        {
            try
            {
                if (product == null)
                    return BadRequest("Product can not be null");

                if (!ModelState.IsValid) return BadRequest(ModelState);

                var productReppstory = new ProductRepository();

                var newProduct = productReppstory.Save(product);

                if (newProduct == null)
                    return Conflict();

                return Created(Request.RequestUri + newProduct.ProductId.ToString(), newProduct);
            }
            catch (Exception ex)
            {
                return InternalServerError(ex);
            }
        }
        // PUT api/product/5
        public IHttpActionResult Put(int id, [FromBody]Product product)
        {
            try
            {
                if (product == null) return BadRequest("Product can not be null");

                if (!ModelState.IsValid) return BadRequest(ModelState);

                var productReppstory = new ProductRepository();
                var updatedProduct = productReppstory.Save(id, product);
                if (updatedProduct == null) NotFound();

                return Ok("Product Updated");
            }
            catch (Exception ex)
            {
                return InternalServerError(ex);
            }
        }