public Product Update(Product product)
        {
            ProductRepository       productRepository;
            ProductCategoryDetailBO productCategoryDetailBO;

            BlobFileBO blobFileBO;

            try
            {
                productRepository       = new ProductRepository(_loggerFactory, _config);
                productCategoryDetailBO = new ProductCategoryDetailBO(_loggerFactory, _config);
                blobFileBO = new BlobFileBO(_loggerFactory, _config);

                if (product.ID == 0)
                {
                    throw new Exception("ID diferente de 0, avalie a utilização do POST");
                }
                else
                {
                    productRepository.Update(product);
                    productCategoryDetailBO.Save(product.ID, product.ProductCategoryDetails);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(product);
        }
        public Product Get(long id)
        {
            ProductRepository       productRepository;
            ProductCategoryDetailBO productCategoryDetailBO;
            BlobFileBO blobFileBO;

            Product product;

            try
            {
                productRepository       = new ProductRepository(_loggerFactory, _config);
                productCategoryDetailBO = new ProductCategoryDetailBO(_loggerFactory, _config);
                blobFileBO = new BlobFileBO(_loggerFactory, _config);

                product = productRepository.Get(id);
                product.ProductCategoryDetails = productCategoryDetailBO.Get(product.ID);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(product);
        }