public void SearchGQ(string keyWord)
 {
     Thread.Sleep(2000);
     KeywordTextBox.SendKeys(keyWord);
     SearchButton1.Click();
 }
        public void SearchGlobalQuestions(DataRow dr)
        {
            string keyWord = string.Empty;

            SelectQuestionTypePage qTypePage = new SelectQuestionTypePage(driver);
            DataTable dt;

            switch (dr["GQType"].ToString())
            {
            case "Single Line Text Box":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQSingleLineTextBox", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_SingleLineTextBox(dt.Rows[0]);
                break;

            case "Multi Line Text Area":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQMultiLineTextArea", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_MultiLineTextArea(dt.Rows[0]);
                break;

            case "Select Single Item from a List":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQSelectSingleItem", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_SelectSingleItem(dt.Rows[0]);
                break;

            case "Select Multiple Items from a List":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQSelectMultipleItems", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_SelectMultipleitems(dt.Rows[0]);
                break;

            case "Numeric":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQNumeric", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_Numeric(dt.Rows[0]);
                break;

            case "Yes or No":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQYesorNo", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_YesorNo(dt.Rows[0]);
                break;

            case "Date":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQDate", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_Date(dt.Rows[0]);
                break;

            case "File Upload":
                dt      = ExcelData.GetData_DataTable("ER_TESTDATA", "GQFileUpload", "KeyName", "Default");
                keyWord = qTypePage.CreateGQ_FileUpload(dt.Rows[0]);
                break;

            default:
                break;
            }

            if (dr["Advanced Search"].ToString() == "No")
            {
                ExtentReport.test.Log(LogStatus.Info, "Searching Global Questions for the keyword - " + keyWord + " in Global Questions List Page");
                SearchGQ(keyWord);
            }
            else
            {
                ExtentReport.test.Log(LogStatus.Pass, "Advanced Searching Global Questions for the keyword - " + keyWord + " in Global Questions List Page");
                Thread.Sleep(2000);
                KeywordTextBox.SendKeys(keyWord);
                ShowAdvancedSearchButton.Click();
                Thread.Sleep(2000);
                if (dr["Date"].ToString() == "Yes")
                {
                    DateCheckbox.Click();
                }
                if (dr["File Upload"].ToString() == "Yes")
                {
                    FileUploadCheckbox.Click();
                }
                if (dr["Select Multiple Items from a List"].ToString() == "Yes")
                {
                    SelectMultipleItemsfromaListCheckbox.Click();
                }
                if (dr["Numeric"].ToString() == "Yes")
                {
                    NumericCheckbox.Click();
                }
                if (dr["Ordered Preference"].ToString() == "Yes")
                {
                    OrderedPreferenceCheckbox.Click();
                }
                if (dr["Multi Line Text Area"].ToString() == "Yes")
                {
                    MultiLineTextAreaCheckbox.Click();
                }
                if (dr["Select Single Item from a List"].ToString() == "Yes")
                {
                    SelectSingleItemfromaListCheckbox.Click();
                }
                if (dr["Single Line Text Box"].ToString() == "Yes")
                {
                    SingleLineTextBoxCheckbox.Click();
                }
                if (dr["Yes or No"].ToString() == "Yes")
                {
                    YesorNoCheckbox.Click();
                }
                if (dr["Label"].ToString() == "Yes")
                {
                    LabelCheckbox.Click();
                }
                DateRangeTextBox.SendKeys(dr["Date Range"].ToString());
                Thread.Sleep(2000);
                ApplyButton.Click();
                BaseMethods.DdlSelectByText(IsActiveDropDownList, dr["Is Active"].ToString());
                SearchButton2.Click();
            }
            Thread.Sleep(2000);
            IList <IWebElement> searchedList = driver.FindElements(By.XPath("//table[@class='table table-nga footable footableConfigurable base-list-table default footable-loaded']/tbody/tr"));
            bool searchResult = false;

            for (int i = 0; i < searchedList.Count; i++)
            {
                if (searchedList[i].Text.Contains(keyWord) && searchedList[i].Text.Contains(dr["GQType"].ToString().Trim()))
                {
                    searchResult = true;
                }
            }
            Assert.IsTrue(searchResult, "Searching Global Questions for the keyword - " + keyWord + " in Global Questions List Page is Unsuccessful");
            ExtentReport.test.Log(LogStatus.Pass, "Searching Global Questions for the keyword - " + keyWord + " in Global Questions List Page is Successful");
        }