void SaveProduct(Product product)
 {
     if (product.IsValid()) // if is valid
     {
         _productRepository.Add(product);
         //_productRepository.UnitOfWork.Commit();
     }
     else //if not valid, throw validation errors
         throw new ApplicationValidationErrorsException(product.GetInvalidMessages());
 }
 /// <summary>
 /// Sets a product in this order line
 /// </summary>
 /// <param name="product">The related product for this order line</param>
 public void SetProduct(Product product)
 {
     //fix identifiers
     this.ProductId = product.Id;
     this.Product = product;
 }