Kit issues during checkout in 7.06 ?
Posted: Mon Feb 21, 2011 7:13 pm
When I have a kit in the shopping cart and the customer clicks remove from cart the individual products are still in that cart. Any ideas what is causing this ?
http://forums.ablecommerce.com/
Code: Select all
protected void BasketGrid_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
Basket basket;
int index;
switch (e.CommandName)
{
case "SaveItem":
basket = Token.Instance.User.Basket;
index = basket.Items.IndexOf(AlwaysConvert.ToInt(e.CommandArgument.ToString()));
if ((index > -1))
{
basket.Items.MoveToWishlist(index, Token.Instance.User.PrimaryWishlist);
}
break;
case "DeleteItem":
basket = Token.Instance.User.Basket;
index = basket.Items.IndexOf(AlwaysConvert.ToInt(e.CommandArgument.ToString()));
if ((index > -1))
{
basket.Items.DeleteAt(index);
}
break;
case "DeleteCouponItem":
basket = Token.Instance.User.Basket;
index = basket.Items.IndexOf(AlwaysConvert.ToInt(e.CommandArgument.ToString()));
if ((index > -1))
{
BasketItem bitem = basket.Items[index];
if (bitem.OrderItemType == OrderItemType.Coupon)
{
basket.Items.DeleteAt(index);
foreach (BasketCoupon cpn in basket.BasketCoupons)
{
if (cpn.Coupon.CouponCode == bitem.Sku)
{
basket.BasketCoupons.Remove(cpn);
cpn.Delete();
basket.BasketCoupons.Save();
break;
}
}
}
}
break;
}
}
Code: Select all
protected void BasketGrid_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
Basket basket = Token.Instance.User.Basket;
int index;
switch (e.CommandName)
{
case "SaveItem":
index = basket.Items.IndexOf(AlwaysConvert.ToInt(e.CommandArgument.ToString()));
if ((index > -1))
{
basket.Items.MoveToWishlist(index, Token.Instance.User.PrimaryWishlist);
}
break;
case "DeleteItem":
index = basket.Items.IndexOf(AlwaysConvert.ToInt(e.CommandArgument.ToString()));
if ((index > -1))
{
basket.Items.DeleteAt(index);
}
break;
case "DeleteCouponItem":
index = basket.Items.IndexOf(AlwaysConvert.ToInt(e.CommandArgument.ToString()));
if ((index > -1))
{
BasketItem bitem = basket.Items[index];
if (bitem.OrderItemType == OrderItemType.Coupon)
{
basket.Items.DeleteAt(index);
foreach (BasketCoupon cpn in basket.BasketCoupons)
{
if (cpn.Coupon.CouponCode == bitem.Sku)
{
basket.BasketCoupons.Remove(cpn);
cpn.Delete();
basket.BasketCoupons.Save();
break;
}
}
}
}
break;
}
// remove orphaned items
for (int i = basket.Items.Count - 1; i >= 0; i--)
{
int parentId = basket.Items[i].ParentItemId;
if (parentId != 0 && basket.Items.IndexOf(parentId) < 0)
{
basket.Items.DeleteAt(i);
}
}
}