private void SetBidderItemDetail()
        {
            bidd = Session["bidder"] as Bidder;
            int index = 0;

            foreach (DataGridItem dgi in dgItemDetail.Items)
            {
                int id = (int)dgItemDetail.DataKeys[dgi.ItemIndex];

                BidderItemDetail detail;
                if (id > 0)
                {
                    detail = bidd.GetBidderItemDetail(id);
                }
                else
                {
                    detail = (BidderItemDetail)bidd.BidderItemDetails[index];
                }


                TextBox txtQty = dgi.FindControl("txtQty") as TextBox;
                detail.Qty = Convert.ToInt32(txtQty.Text);
                TextBox txtUnitCost = dgi.FindControl("txtUnitCost") as TextBox;
                detail.UnitCost = Convert.ToDecimal(txtUnitCost.Text);
                TextBox txtTotalCost = dgi.FindControl("txtTotalCost") as TextBox;
                detail.TotalCost = Convert.ToDecimal(txtTotalCost.Text);
                bidd.BidderItemDetails.Add(detail);
                index++;
            }
            Master.ShowMessage(new AppMessage("Bidder Items successfully saved!", Chai.WorkflowManagment.Enums.RMessageType.Info));
        }
        protected void dgItemDetail_UpdateCommand(object source, DataGridCommandEventArgs e)
        {
            bidd = Session["bidd"] as Bidder;
            int id = (int)dgItemDetail.DataKeys[e.Item.ItemIndex];
            BidderItemDetail biddet;

            // Chai.WorkflowManagment.CoreDomain.Requests.BidderItemDetail detail = _presenter.CurrentBidAnalysisRequest.GetBidder(bidd.Id).GetBidderItemDetail(id);
            if (id > 0)
            {
                biddet = bidd.GetBidderItemDetail(id);
            }
            else
            {
                biddet = bidd.BidderItemDetails[e.Item.ItemIndex];
            }

            try
            {
                biddet.Bidder = biddet.Bidder;
                DropDownList ddlItem        = e.Item.FindControl("ddlItemAcc") as DropDownList;
                ItemAccount  itemEdtAccount = _presenter.GetItemAccount(Convert.ToInt32(ddlItem.SelectedValue));
                biddet.ItemAccount = itemEdtAccount;

                TextBox txtItemDescription = e.Item.FindControl("txtDescription") as TextBox;
                biddet.ItemDescription = txtItemDescription.Text;
                TextBox txtQty = e.Item.FindControl("txtEdtQty") as TextBox;
                biddet.Qty = Convert.ToInt32(txtQty.Text);
                TextBox txtUnitCost = e.Item.FindControl("txtEdtUnitCost") as TextBox;
                biddet.UnitCost  = Convert.ToDecimal(txtUnitCost.Text);
                biddet.TotalCost = Convert.ToInt32(txtQty.Text) * Convert.ToDecimal(txtUnitCost.Text);


                dgItemDetail.EditItemIndex = -1;

                BindItemdetailGrid(biddet.Bidder);

                decimal cost = 0;
                if (_presenter.CurrentBidAnalysisRequest.Bidders.Count > 0)
                {
                    foreach (Bidder detail in _presenter.CurrentBidAnalysisRequest.Bidders)
                    {
                        if (detail.Rank == 1)
                        {
                            foreach (BidderItemDetail biddetail in detail.BidderItemDetails)
                            {
                                cost = cost + biddetail.TotalCost;
                            }
                        }
                        ;
                    }
                }
                _presenter.CurrentBidAnalysisRequest.TotalPrice = cost;
                txtTotal.Text = _presenter.CurrentBidAnalysisRequest.TotalPrice.ToString();
                pnlBidItem_ModalPopupExtender.Show();
                Master.ShowMessage(new AppMessage("Bidder Item Successfully Updated", Chai.WorkflowManagment.Enums.RMessageType.Info));
            }
            catch (Exception ex)
            {
                Master.ShowMessage(new AppMessage("Error: Unable to Add BidderItem " + ex.Message, Chai.WorkflowManagment.Enums.RMessageType.Error));
            }
        }