nopCommerce version 3.0
I had to modify the PrepareProductVariantModel method to disable the buy button for product that are going to be available in the future.
var nowUtc = DateTime.UtcNow;
if (productVariant.AvailableStartDateTimeUtc > nowUtc)
{
model.AddToCart.DisableBuyButton = true;
model.AddToCart.DisableWishlistButton = true;
productVariant.ManageInventoryMethod = ManageInventoryMethod.ManageStock;
productVariant.DisplayStockAvailability = true;
productVariant.StockQuantity = 0;
model.StockAvailability = productVariant.FormatStockMessage(_localizationService);
}
nopCommerce version 3.0