public static void AddDownloadableFileToProduct(Guid productId, Guid documentId)
{
string providerName = "SystemLibrariesProvider";
CatalogManager catalogManager = CatalogManager.GetManager();
LibrariesManager librariesManager = LibrariesManager.GetManager(providerName);
ContentLinksManager contentLinksManager = ContentLinksManager.GetManager();
Product product = catalogManager.GetProduct(productId);
Document document = librariesManager.GetDocument(documentId);
ProductFile file = new ProductFile();
file.Id = document.Id;
file.Title = document.Title;
file.FileSize = document.TotalSize.ToString();
file.FileName = document.FilePath;
file.UploadedDate = document.DateCreated.ToString();
file.Url = document.Url;
product.Files.Add(file);
catalogManager.SaveChanges();
ContentLink contentLink = contentLinksManager.CreateContentLink("ProductFile", product, document);
contentLinksManager.SaveChanges();
}