protected void BtnProceed_Click(object sender, EventArgs e) { if (Page.IsValid) { Dictionary <PurchaseOrder, List <Item_PurchaseOrder> > purchaseItemList = new Dictionary <PurchaseOrder, List <Item_PurchaseOrder> >(pComparer); for (int i = 0; i < GvreorderItems.Rows.Count; i++) { PurchaseOrder pOrder = new PurchaseOrder(); GridViewRow gvRow = GvreorderItems.Rows[i]; if (((CheckBox)gvRow.FindControl("CbxItem")).Checked) { DropDownList splrControl = (DropDownList)gvRow.FindControl("ddlSupplierList"); ListItem suplierInfo = splrControl.SelectedItem; pOrder.SupplierCode = suplierInfo.Value; Label amntlbl = (Label)gvRow.FindControl("lblAmount"); if (!purchaseItemList.ContainsKey(pOrder)) { pOrder.OrderDate = DateTime.Now.Date; pOrder.ApprovedBy = Convert.ToInt32(ddlsupervisorNames.SelectedItem.Value); pOrder.ExpectedDate = DateTime.ParseExact(txtDate.Text, "d", CultureInfo.InvariantCulture); pOrder.Status = "Pending"; pOrder.TotalAmount += decimal.Parse(amntlbl.Text, System.Globalization.NumberStyles.Currency); pOrder.RequestedBy = (int)Session["empID"]; purchaseItemList.Add(pOrder, null); } Item_PurchaseOrder pItems = new Item_PurchaseOrder(); Label itemlbl = (Label)gvRow.FindControl("lblItemCode"); pItems.ItemCode = itemlbl.Text; pItems.PurchaseOrderID = pOrder.PurchaseOrderID; TextBox qtyTxtBx = (TextBox)gvRow.FindControl("txtReorderQty"); pItems.OrderQty = Convert.ToInt32(qtyTxtBx.Text); Label priceLbl = (Label)gvRow.FindControl("lblPrice"); pItems.ItemCode = itemlbl.Text; pItems.Amount = pItems.OrderQty * decimal.Parse(priceLbl.Text, System.Globalization.NumberStyles.Currency); List <Item_PurchaseOrder> ItemList = null; if (purchaseItemList[pOrder] != null) { ItemList = purchaseItemList[pOrder]; ItemList.Add(pItems); purchaseItemList[pOrder] = ItemList; } else { ItemList = new List <Item_PurchaseOrder>(); ItemList.Add(pItems); purchaseItemList[pOrder] = ItemList; } } } if (purchaseItemList.Count == 0) { ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox", "<script language='javascript'>alert('" + "Please select items first!" + "');</script>"); } else { pCtrlr.AddPurchaseOrder(purchaseItemList); Session["ReorderItem"] = null; ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox", "<script language='javascript'>alert('" + "Purchase Done, Awaiting Approval!" + "');</script>"); Response.Redirect(LoginController.PurchaseOrderListURI); } } }