using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class ButtonGridView : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {

   }
protected void grdSample_RowCommand(object sender, GridViewCommandEventArgs e)
{
   // Sprawdź, które polecenie wygenerowało to zdarzenie
   if (e.CommandName == "AddCart")
   {
      // Pobierz indeks wiersza, który wygenerował zdarzenie
      int rowIndex = Convert.ToInt32(e.CommandArgument);

      // Pobierz zbiór wartości kluczy wiersza
      DataKey rowKeys = grdSample.DataKeys[rowIndex];

      // Pobierz isbn i tytuł z wartości kluczy
      string isbn = (string)rowKeys.Values["Isbn"];
      string title = (string)rowKeys.Values["Title"];

      // Dodaj książke do koszyk
      AddBookToCart(isbn, title);
   }
}

private void AddBookToCart(string isbn, string title)
{
   // pobierz koszyk dla tej sesji
   ArrayList cart = (ArrayList)Session["cart"];
   // Jeśli koszyka nie ma w sesji, utwórz go
   if (cart == null)
   {
      cart = new ArrayList();
   }
   
   // Sprawdź, czy w koszyku nie ma już tego numeru isbn
   foreach (CartItem ci in cart)
   {
      if (ci.Isbn == isbn)
         return;
   }

   // Utwórz element koszyka i dodaj go do koszyka
   CartItem item = new CartItem(isbn, title);
   cart.Add(item);

   // Zachowaj zaktualizowany koszyk w sesji 
   Session["cart"] = cart;

   // Powiąż kontrolkę GridView z koszykiem
   grdCart.DataSource = cart;
   grdCart.DataBind();
}


}
