This is probably because you are adding the Master Version of the product instead of the Live Version. Since version 6.0 we have introduced content lifecycle to Ecommerce and passing the Master Version typically results in giving you this inventory message. Here is the code that you need to use the only difference is calling LifeCycle.GetLive, and in my example id is the current id that results in your error message right now.
CartOrder currentCartOrder =
Product productMaster = CatalogManager.GetProduct(
Product product = CatalogManager.Lifecycle.GetLive(productMaster)
OptionsDetails optionDetails =
OrdersManager.AddToCart(currentCartOrder, product, optionDetails, 1);
Have in mind that the TryGetShoppingCartForUser is an extension method that we already have, but to use it you would need to implement IOrdersControl in your class. I would recommend this as a way of getting the current CartOrder as opposed to writing your own method, as it makes better use of our code.
Hope this helps!
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking
system and vote to affect the priority of the items