How to Subtract 1 From a Orginal Count in an ASP.Net GridView

I have a gridview that contains a count (which is Quantity) where i have a button that adds a row under the original row and i need the sub row's count (Quantity) to subtract one from the orginal row Quantity.

EX: Before button click

Orgianl row = 3

After click

Orginal row = 2
Subrow = 1

Code

ASP.Net

/

// FUNCTION : Adds a new subrow

protected void gvParent_RowCommand(object sender, GridViewCommandEventArgs e)

{

   if (e.CommandName.Equals("btn_AddRow", StringComparison.OrdinalIgnoreCase))

   {

      // Get the row that was clicked (index 0. Meaning that 0 is 1, 1 is 2 and so on)

      // Objects can be null, Int32s cannot not.

     // Int16 = 2 bytes long (short)

     // Int32 = 4 bytes long (int)

    // Int64 = 8 bytes long (long)

     int i = Convert.ToInt32(e.CommandArgument);

 

   // create a DataTable based off the view state

   DataTable dataTable = (DataTable)ViewState["gvParent"];

   for (int part = 0; part < dataTable.Rows.Count; part++)

   {

         int oldQuantity = Convert.ToInt32(dataTable.Rows[i]["Quantity"]);

         string partNumber = dataTable.Rows[i]["ProductDescription"].ToString();

         string description = dataTable.Rows[i]["Description"].ToString();

         string dateOrdered = dataTable.Rows[i]["GTRI_DateSubmittedtoPurchasing"].ToString();

         string estShipDate = dataTable.Rows[i]["Gtri_EstShipDate"].ToString();

         string actualShipDate = dataTable.Rows[i]["Gtri_ActualShipDate"].ToString();

         string trackingNumb = dataTable.Rows[i]["GTRI_TrackingNumbers"].ToString();

         string serialNumb = dataTable.Rows[i]["Gtri_SerialNumber"].ToString();

         int oldQuantitySubtract = Convert.ToInt32(dataTable.Rows[part]["Quantity"]);

         string curentPartNumbers = dataTable.Rows[part]["ProductDescription"].ToString();

         string currentDescription = dataTable.Rows[part]["Description"].ToString();

         string currentDateOrdered = dataTable.Rows[part]["GTRI_DateSubmittedtoPurchasing"].ToString();

         string currentEstShipDate = dataTable.Rows[part]["Gtri_EstShipDate"].ToString();

         string currentActualShipDate = dataTable.Rows[part]["Gtri_ActualShipDate"].ToString();

         string currentTrackingNumb = dataTable.Rows[part]["GTRI_TrackingNumbers"].ToString();

         string currentSerialNumb = dataTable.Rows[part]["Gtri_SerialNumber"].ToString();

         if (partNumber.Equals(curentPartNumbers, StringComparison.OrdinalIgnoreCase) && oldQuantitySubtract > 1)

         {

             dataTable.Rows[part]["Quantity"] = oldQuantitySubtract - 1;

            // Instert a new row at a specific index

            DataRow dtAdd = dataTable.NewRow();\

            for (int k = 0; k < dataTable.Columns.Count; k++)

            dtAdd[k] = dataTable.Rows[part][k];

            dataTable.Rows.InsertAt(dtAdd, i + 1);

            break;

            //dataTable.Rows.Add(dtAdd);

        }

    }

   // Rebind the data

   gvParent.DataSource = dataTable;

   gvParent.DataBind();

}