public ProductDTO addProduct(ProductDTO product)
 {
     if (productDataAccessProvider.GetProducts(p => p.ProductId == product.ProductId, false).Any())
     {
         throw new BusinessException("Product id already exists");
     }
     else if (productDataAccessProvider.GetProducts(p => p.Name == product.Name, false).Any())
     {
         throw new BusinessException("Product name already exists");
     }
     else
     {
         return(mapper.getDTO(productDataAccessProvider.AddProduct(mapper.getEntity(product, categoryDataAccessProvider.GetCategory(product.CategoryId)))));
     }
 }