所以我试图为Kentico 7网站创建折扣优惠券,我不确定我是否完全误解了DiscountCouponInfoProvider的工作方式,或者我是否咆哮完全错了树。
我目前使用的代码是:
var newCoupon = new DiscountCouponInfo {
//Fill in data fields here
};
DiscountCouponInfoProvider.SetDiscountCouponInfo(newCoupon);
这不会引发错误,但优惠券永远不会出现在数据库中。我用了几行
var result = DiscountCouponInfoProvider.GetDiscountCouponinfo();
传入我在创建优惠券时使用的相同ID,并将所有正确的信息存储在结果中。
我注意到DiscountCouponInfo类有一个插入方法
newCoupon.Insert();
可能更接近我正在寻找的东西,但还没有尝试过。
任何帮助将不胜感激。或者是Kentico 7 api参考的链接。每次我去寻找它时,我都会一直找到Kentico 8.1 api参考。
感谢。
答案 0 :(得分:1)
您可以通过访问CMS Desk>在Kentico UI中创建优惠券。电子商务>优惠券。但是,如果由于某种原因需要在UI之外创建它们,那么你就非常接近了。您将需要将Info对象与InfoProvider对象一起使用,如下所示:
// Instantiate an info object
DiscountCouponInfo dci = new DiscountCouponInfo();
// Set your properties
dci.DiscountCouponDisplayName = "Some text";
dci.DiscountCouponValue = 10;
//Update the DB with an InfoProvider object
DiscountCouponInfoProvider.SetDiscountCouponInfo(dci);
Info对象只是一个简单的数据容器,您可以实例化,填充数据,然后将其作为参数传递给InfoProvider对象。
然后,InfoProvider具有更新/创建记录等的方法。
您还可以使用Kentico DB中的数据填充Info对象,如下所示:
DiscountCouponInfo dci = new DiscountCouponInfoProvider.GetDiscountCouponInfo(DiscountCouponID);