void PopulateParameters()
        {
            LabTest selectedLab = (LabTest)Session[SessionKey.SelectedLab];

            LabTestId                  = selectedLab.Id;
            labelTestName.Text         = selectedLab.Name;
            gridParamMaster.DataSource = mGr.GetLabTestParameters(selectedLab.Id);
            gridParamMaster.DataBind();
        }
        protected void LabNameChanged(object sender, EventArgs e)
        {
            //  textSelectLab.Text = "";
            //   DataSet ds = this.RequestedTests;
            //DataTable dt = ds.Tables["LabTest"];

            LabOrder _order = this.OrderedLabs;

            int    _testId;
            string _testname         = "";
            string _refId            = "";
            string _testDepartmentId = "";
            string _testDepartment   = "";
            string _group            = "";

            this.isDataEntry = false;
            int _paramCount;

            if (hdCustID.Value != "")
            {
                String[] itemCodes = hdCustID.Value.Split(';');
                if (itemCodes.Length == 7)
                {
                    _testId           = Convert.ToInt32(itemCodes[0]);
                    _testname         = itemCodes[1].ToString();
                    _refId            = itemCodes[2].ToString();
                    _paramCount       = Convert.ToInt32(itemCodes[3]);
                    _group            = itemCodes[4].ToString();
                    _testDepartmentId = itemCodes[5].ToString();
                    _testDepartment   = itemCodes[6].ToString();

                    bool proceed = false;
                    proceed = (null == _order.OrderedTest || _order.OrderedTest.Count == 0 || !_order.OrderedTest.Exists(o => o.TestId == _testId));

                    //DataRow thisRow = null;
                    //if (dt.Rows.Count > 0)
                    //{
                    //    thisRow = dt.AsEnumerable()
                    //       .DefaultIfEmpty(null)
                    //       .FirstOrDefault(r => r["TestId"].ToString() == _testId.ToString());
                    //}
                    if (!proceed || _paramCount == 0)
                    {
                        ((TextBox)sender).Text = "";
                        hdCustID.Value         = "";
                        this.isDataEntry       = false;
                        return;
                    }
                    this.LabTestId       = _testId;
                    this.LabTestName     = _testname;
                    this.DepartmentId    = Convert.ToInt32(_testDepartmentId);
                    this.Department      = _testDepartment;
                    this.TestReferenceId = _refId;
                    this.ParameterCount  = _paramCount;

                    List <TestParameter> parameters = labMgr.GetLabTestParameters(_testId);

                    DataTable thisTest = this.SelectedTestParameters;
                    thisTest.Rows.Clear();
                    parameters.ForEach(p =>
                    {
                        DataRow paramRow = thisTest.NewRow();
                        paramRow.SetField("TestOrderId", -1);
                        paramRow.SetField("ResultId", -1);
                        paramRow.SetField("LabOrderId", -1);
                        paramRow.SetField("TestId", _testId);
                        paramRow.SetField("ParameterId", p.Id);
                        paramRow.SetField("UserId", this.UserId);
                        paramRow.SetField("ResultDate", DBNull.Value);
                        paramRow.SetField("ParameterName", p.Name);
                        paramRow.SetField("TestName", _testname);
                        paramRow.SetField("DataType", p.DataType);
                        thisTest.Rows.Add(paramRow);
                    });
                    thisTest.AcceptChanges();
                    this.SelectedTestParameters = thisTest;
                    this.isDataEntry            = true;
                    this.BindTestParameterResults();
                }
            }
        }