private List <DamageProductDetailProvider> requisitionDetailEntityList()
        {
            List <DamageProductDetailProvider> requisitionDetailProviderList = new List <DamageProductDetailProvider>();

            foreach (GridViewRow row in gvRequisition.Rows)
            {
                DamageProductDetailProvider obj = new DamageProductDetailProvider();

                HiddenField hfRowProductID = (HiddenField)row.FindControl("hfProductID");
                TextBox     txtQuantity    = (TextBox)row.FindControl("txtQuantity");
                TextBox     txtRemarks     = (TextBox)row.FindControl("txtRemarks");
                ImageButton btnAddOrDelete = (ImageButton)row.FindControl("btnDeleteSelectedRowLSE");

                Label lblProductName = (Label)row.FindControl("lblProduct");

                TextBox txtPresentStock = (TextBox)row.FindControl("txtPresentStock");

                obj.ProductID      = hfRowProductID.Value.Toint();
                obj.DamageQuantity = txtQuantity.Text.ToDecimal();
                obj.PresentStock   = txtPresentStock.Text.ToDecimal();
                obj.Remarks        = txtRemarks.Text.ToString();

                if (obj.DamageQuantity <= 0)
                {
                    throw new Exception("Please input required quantity");
                }

                requisitionDetailProviderList.Add(obj);
            }
            return(requisitionDetailProviderList);
        }
        protected void btnAddRow_Click(object sender, EventArgs e)
        {
            this.AlertNone(lblMsg);
            AjaxControlToolkit.ComboBox ddlProductValidation = (AjaxControlToolkit.ComboBox)UC_ProductSearch1.FindControl("ddlProduct");
            if (ddlProductValidation.SelectedValue == "")
            {
                MessageHelper.ShowAlertMessage("Select Product!");
                return;
            }
            string productName = ddlProductValidation.SelectedItem.Text;
            int    productID   = ddlProductValidation.SelectedValue.Toint();

            List <DamageProductDetailProvider> providerList = new List <DamageProductDetailProvider>();

            #region new list
            DamageProductDetailProvider obj = new DamageProductDetailProvider();

            providerList.Add(obj);
            #endregion
        }
        protected void btnDeleteSelectedRowLSE_Click(object sender, EventArgs e)
        {
            ImageButton btnDelete      = sender as ImageButton;
            GridViewRow selectedRow    = (GridViewRow)btnDelete.NamingContainer;
            HiddenField hfDeleteProdID = (HiddenField)selectedRow.FindControl("hfProductID");
            List <DamageProductDetailProvider> purchaseLedgerDetailsProviderList = new List <DamageProductDetailProvider>();

            foreach (GridViewRow row in gvRequisition.Rows)
            {
                DamageProductDetailProvider obj = new DamageProductDetailProvider();

                HiddenField hfRowProductID = (HiddenField)row.FindControl("hfProductID");
                Label       lblProductName = (Label)row.FindControl("lblProduct");
                TextBox     txtRequirement = (TextBox)row.FindControl("txtRequirement");
                Label       lblTotalAmount = (Label)row.FindControl("lblTotalAmount");
                ImageButton btnAddOrDelete = (ImageButton)row.FindControl("btnDeleteSelectedRowLSE");

                TextBox txtPresentStock = (TextBox)row.FindControl("txtPresentStock");
                TextBox txtRemarks      = (TextBox)row.FindControl("txtRemarks");

                if (hfRowProductID.Value != hfDeleteProdID.Value)
                {
                    obj.ProductID      = hfRowProductID.Value.Toint();
                    obj.ProductName    = lblProductName.Text.ToString();
                    obj.DamageQuantity = txtRequirement.Text.ToDecimal();

                    obj.PresentStock = txtPresentStock.Text.ToDecimal();
                    obj.Remarks      = txtRemarks.Text.ToString();

                    purchaseLedgerDetailsProviderList.Add(obj);
                }
            }
            gvRequisition.DataSource = purchaseLedgerDetailsProviderList;
            gvRequisition.DataBind();

            if (gvRequisition.Rows.Count == 0)
            {
                ddlProductDivision.Enabled = true;
            }
        }
        protected void btnAdd_OnClick(object sender, EventArgs e)
        {
            this.AlertNone(lblMsg);
            ProductProvider productProvider = new ProductProvider();

            AjaxControlToolkit.ComboBox ddlProductValidation = (AjaxControlToolkit.ComboBox)UC_ProductSearch1.FindControl("ddlProduct");
            string measurementUnit = productProvider.GetMeasurementUnit(ddlProductValidation.SelectedValue.Toint());

            if (ddlProductValidation.SelectedValue == "")
            {
                MessageHelper.ShowAlertMessage("Select Product!");
                lblMsg.Focus();
                return;
            }
            List <DamageProductDetailProvider> purchaseLedgerDetailsProviderList = new List <DamageProductDetailProvider>();

            foreach (GridViewRow row in gvRequisition.Rows)
            {
                DamageProductDetailProvider obj = new DamageProductDetailProvider();

                HiddenField hfRowProductID    = (HiddenField)row.FindControl("hfProductID");
                Label       lblProductName    = (Label)row.FindControl("lblProduct");
                TextBox     txtRequirement    = (TextBox)row.FindControl("txtRequirement");
                TextBox     txtUnit           = (TextBox)row.FindControl("txtUnit");
                TextBox     txtMonthlyConsume = (TextBox)row.FindControl("txtMonthlyConsume");
                TextBox     txtPresentStock   = (TextBox)row.FindControl("txtPresentStock");
                TextBox     txtRemarks        = (TextBox)row.FindControl("txtRemarks");
                Label       lblTotalAmount    = (Label)row.FindControl("lblTotalAmount");
                ImageButton btnAddOrDelete    = (ImageButton)row.FindControl("btnDeleteSelectedRowLSE");

                if (hfRowProductID.Value == ddlProductValidation.SelectedValue)
                {
                    MessageHelper.ShowAlertMessage("This product already exists!");
                    return;
                }
                if (txtRequirement.Text.ToDecimal() <= 0)
                {
                    MessageHelper.ShowAlertMessage("Enter Quantity!");
                    return;
                }
                obj.ProductID           = hfRowProductID.Value.Toint();
                obj.ProductName         = lblProductName.Text.ToString();
                obj.DamageQuantity      = txtRequirement.Text.ToDecimal();
                obj.MeasurementUnitName = txtUnit.Text.ToString();
                obj.MonthlyConsumeQty   = txtMonthlyConsume.Text.ToDecimal();
                obj.PresentStock        = txtPresentStock.Text.ToDecimal();
                obj.Remarks             = txtRemarks.Text.ToString();

                purchaseLedgerDetailsProviderList.Add(obj);
            }
            AjaxControlToolkit.ComboBox ddlProduct = (AjaxControlToolkit.ComboBox)UC_ProductSearch1.FindControl("ddlProduct");
            string productName = ddlProduct.SelectedItem.Text;
            int    productID   = ddlProduct.SelectedValue.Toint();

            DamageProductDetailProvider obj2 = new DamageProductDetailProvider();

            obj2.ProductID           = productID;
            obj2.ProductName         = productName;
            obj2.MeasurementUnitName = measurementUnit;
            obj2.PresentStock        = productProvider.GetPresentStock(obj2.ProductID);
            purchaseLedgerDetailsProviderList.Add(obj2);

            if (!divGridForLSE.Visible)
            {
                divGridForLSE.Visible = true;
            }
            gvRequisition.DataSource = purchaseLedgerDetailsProviderList;
            gvRequisition.DataBind();
            ddlProductDivision.Enabled = false;
            RadioButtonList rbProductType = (RadioButtonList)UC_ProductSearch1.FindControl("rbProductType");

            rbProductType.Enabled = false;
        }