Gift Certificate Activation
Posted: Wed Dec 17, 2008 1:12 pm
Is it possible to have a gift certificate automatically activated if/when the payment method is approved, or the order is marked as paid?
Thanks,
Thanks,
Code: Select all
void CheckedOut(object sender, CheckedOutEventArgs e)
{
..............................................................................
..............................................................................
..............................................................................
//Activate GiftCertificate
Order order = OrderDataSource.Load(e.OrderId, false);
if (order != null)
{
if (order.OrderStatus.Name == "Completed")
{
foreach (OrderItem orderItem in order.Items)
{
if (orderItem.OrderItemType == OrderItemType.Product)
{
if (orderItem.Product.IsGiftCertificate)
{
GiftCertificateCollection giftCertificates = GiftCertificateDataSource.LoadForOrderItem(orderItem.OrderItemId);
if (giftCertificates.Count > 0)
{
IGiftCertKeyProvider provider = new DefaultGiftCertKeyProvider();
foreach (GiftCertificate giftCertificate in giftCertificates)
{
giftCertificate.SerialNumber = provider.GenerateGiftCertificateKey();
giftCertificate.AddActivatedTransaction();
giftCertificate.Save();
}
}
}
}
}
}
}
}