public void AwardPage()
        {
            string parentWindow = driver.CurrentWindowHandle;

            Thread.Sleep(700);

            CommonUtils Cu = new CommonUtils(driver);

            Cu.AcceptAll_Cookies();

            if (AJAXCall.IsElementPresent(By.XPath("/html/body/div[1]/div/a")))
            {
                Dimisscookie_Message.Click();
            }
            Admin_SignIn.Click();

            Username.SendKeys("*****@*****.**");

            Password.SendKeys("Pobal123!");

            Thread.Sleep(1000);
            SignIn_Page.Click();

            MyApplicationsLink.Click();
            ViewApplications.Click();

            MyAwards_NCS();
        }
        public void Page_IncomeAssessedApplicant()
        {
            string parentWindow = driver.CurrentWindowHandle;

            Thread.Sleep(700);

            CommonUtils Cu = new CommonUtils(driver);

            Cu.AcceptAll_Cookies();

            if (AJAXCall.IsElementPresent(By.XPath("/html/body/div[1]/div/a")))
            {
                Dimisscookie_Message.Click();
            }
            Admin_SignIn.Click();

            Username.SendKeys("*****@*****.**");

            Password.SendKeys("Pobal123!");

            Thread.Sleep(1000);
            SignIn_Page.Click();


            MyApplicationsLink.Click();
            ViewApplications.Click();

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);

            NewApplication.Click();

            startIncomeAssessedApplication.Click();

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);


            Dataprivacystatement_label.Click();

            NextButton.Click();

            AJAXCall.WaitForAjax();


            Thread.Sleep(1000);
            SelectElement residentOption = new SelectElement(Resident);

            residentOption.SelectByText("No");

            AJAXCall.WaitForAjax();

            SelectElement EuCitizen = new SelectElement(Eyp_eucitizen);

            EuCitizen.SelectByText("No");

            AJAXCall.WaitForAjax();

            SelectElement EftaCitizen = new SelectElement(Eyp_eftacitizen);

            EftaCitizen.SelectByText("No");


            AJAXCall.WaitForAjax();

            SelectElement Asylumseeker = new SelectElement(Eyp_asylumrefugee);

            Asylumseeker.SelectByText("No");

            AJAXCall.WaitForAjax();

            SelectElement selfEmployed = new SelectElement(Eyp_employedinireland);

            selfEmployed.SelectByText("Yes");


            NextButton.Click();
            //AJAXCall.WaitForAjax();

            var address_0 = "17 The Blennicks, Rosses Point, Co.Silgo";

            TextBox_Address.SendKeys(address_0);


            Thread.Sleep(800);
            driver.FindElement(By.CssSelector(".autoaddress-button")).Click();

            Thread.Sleep(800);

            AJAXCall.WaitForAjax();

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            js.ExecuteScript("window.scrollBy(0, 500)", "");
            Thread.Sleep(800);
            //wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("NextButton")));

            ReportsGeneration._test.Log(AventStack.ExtentReports.Status.Pass, address_0 + "      " + "address details added successfully" + "      " + "PASSED");
            AJAXCall.WaitForAjax();
            if (AJAXCall.IsElementPresent(By.Id("btnNext")))
            {
                NextButton.Click();
            }
            Thread.Sleep(1000);

            SelectElement LivingWithPartner = new SelectElement(Eyp_livingwithpartner);

            LivingWithPartner.SelectByText("Yes");


            Eyp_livingwithpartnerdeclaration_label.Click();

            Eyp_partnerfirstname.SendKeys("Test");
            Eyp_partnerlastname.SendKeys("AddPartner");


            Eyp_partnerppsn.SendKeys("8967543AS");

            DOB_Calendar.SendKeys("18/11/1979");

            Eyp_partneremailaddress.SendKeys("*****@*****.**");

            NextButton.Click();


            /*  Eyp_firstname.SendKeys("Test");
             * Eyp_lastname.SendKeys("Automation");
             *
             * var ppsndigit = Constant_functions.RandomNumGeneration(7);
             *
             * var ppsnAlpha = Constant_functions.randomString(2);
             * var ppsn = ppsndigit + ppsnAlpha;
             *
             * Eyp_ppsn.SendKeys(ppsn);
             *
             * Eyp_ppsn.SendKeys("ZX");
             * var myDate = DateTime.Now;
             *
             * var newDate = myDate.AddYears(-8);
             *
             * var chickDOB = newDate.ToString("dd/MM/yyyy");
             * DOB_Calendar.SendKeys(chickDOB);
             *
             * SelectElement genderVateal = new SelectElement(Genderid);
             * genderVal.SelectByText("Female"); */

            CHICK_ApplicantPortal_Page Ap = new CHICK_ApplicantPortal_Page(driver);

            Ap.IncomeAccess_ApplicantPortal_ChildData();

            NextButton.Click();

            SelectElement partnerEmp = new SelectElement(Eyp_employmentstatusid);

            partnerEmp.SelectByText("Employed");

            Eyp_occupationname.SendKeys("Pobal");
            Eyp_occupationphone.SendKeys("0897654567");


            var emailId = Constant_functions.randomString(9);

            Eyp_occupationemailaddress.SendKeys(emailId + "@hotmail.com");


            Thread.Sleep(1000);
            TextBox_Address.SendKeys("16 Pearse Square, Greenpark Road, Bray, Co. Wicklow");



            driver.FindElement(By.XPath("//*[@id='AutoAddressControl']/div/button")).Click();

            Thread.Sleep(1000);

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);

            js.ExecuteScript("window.scrollBy(0, 500)", "");



            NextButton.Click();

            SelectElement partnerProfession = new SelectElement(Eyp_partneremploymentstatusid);

            partnerProfession.SelectByText("Education / Training");

            Thread.Sleep(1000);

            js.ExecuteScript("window.scrollBy(0, 500)", "");

            Thread.Sleep(1000);
            Eyp_partneroccupationname.SendKeys("Pobal CO.");


            Eyp_partneroccupationtitle.SendKeys("Masters");
            SelectElement Partnercourseleadtonfqaward = new SelectElement(Eyp_partnercourseleadtonfqaward);

            Partnercourseleadtonfqaward.SelectByText("Yes");


            SelectElement Partnernfqlevelid = new SelectElement(Eyp_partnernfqlevelid);

            Partnernfqlevelid.SelectByText("Level 8");


            NextButton.Click();

            SelectElement revenueAssist = new SelectElement(Eyp_revenuejointassessed);

            revenueAssist.SelectByText("Yes");

            SelectElement fastTrack = new SelectElement(Eyp_fasttrack);

            fastTrack.SelectByText("Yes");

            NextButton.Click();

            SelectElement Form12 = new SelectElement(Eyp_earnnonpayey1);

            Form12.SelectByText("Yes");
            SelectElement Declare_Form12 = new SelectElement(Eyp_Declare_earnnonpayey1);

            Declare_Form12.SelectByText("Yes");


            Eyp_incomeearnednonpayey1.SendKeys("200");

            SelectElement Partner_Form12 = new SelectElement(Eyp_earnnonpayey2);

            Partner_Form12.SelectByText("Yes");

            Eyp_incomeearnednonpayey2.SendKeys("300");

            NextButton.Click();

            SelectElement recvePaymentMaintenance = new SelectElement(Eyp_receivedmaintenance);

            recvePaymentMaintenance.SelectByText("No");


            Eyp_maintenancereceivedy1.SendKeys("400");

            Eyp_maintenancereceivedy2.SendKeys("200");

            SelectElement paidMaintenance = new SelectElement(Eyp_paidmaintenance);

            paidMaintenance.SelectByText("Yes");


            Eyp_maintenancepaidy1.SendKeys("200");
            Eyp_maintenancepaidy2.SendKeys("200");



            SelectElement Earnedincomeoutside = new SelectElement(Eyp_earnedincomeoutside);

            Earnedincomeoutside.SelectByText("Yes");


            Eyp_incomeoutsidey1.SendKeys("400");

            Eyp_incomeoutsidey2.SendKeys("200");

            SelectElement Privatepensioncontributed = new SelectElement(Eyp_privatepensioncontributed);

            Privatepensioncontributed.SelectByText("Yes");


            Eyp_privatepensioncontributiony1.SendKeys("300");
            Eyp_privatepensioncontributiony2.SendKeys("200");

            SelectElement Partnerreceivedmaintenance = new SelectElement(Eyp_partnerreceivedmaintenance);

            Partnerreceivedmaintenance.SelectByText("Yes");

            Eyp_partnermaintenancereceivedy1.SendKeys("200");
            Eyp_partnermaintenancereceivedy2.SendKeys("300");


            SelectElement Partnerpaidmaintenance = new SelectElement(Eyp_partnerpaidmaintenance);

            Partnerpaidmaintenance.SelectByText("Yes");


            Eyp_partnermaintenancepaidy1.SendKeys("300");
            Eyp_partnermaintenancepaidy2.SendKeys("200");

            SelectElement Partnerearnedincomeoutside = new SelectElement(Eyp_partnerearnedincomeoutside);

            Partnerearnedincomeoutside.SelectByText("Yes");


            Eyp_partnerincomeoutsidey1.SendKeys("300");

            Eyp_partnerincomeoutsidey2.SendKeys("300");

            SelectElement Partnerprivatepensioncontributed = new SelectElement(Eyp_partnerprivatepensioncontributed);

            Partnerprivatepensioncontributed.SelectByText("Yes");



            Eyp_partnerprivatepensioncontributiony1.SendKeys("200");

            Eyp_partnerprivatepensioncontributiony2.SendKeys("400");

            NextButton.Click();

            Assert.Equals(driver.Url, driver.Url);
            AJAXCall.WaitForAjax();

            Thread.Sleep(2000);
            js.ExecuteScript("window.scrollBy(0,document.body.scrollHeight)");

            NextButton.Click();
            Thread.Sleep(2000);

            IWebElement label = driver.FindElement(By.XPath("//label[@for='eyp_custodydeclaration']"));

            new Actions(driver).MoveToElement(label, 1, 1).Click().Perform();

            AJAXCall.WaitForAjax();

            Eyp_informationtruthfuldeclaration_label.Click();

            NextButton.Click();
            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();

            BtnModalSubmit.Click();
        }
        public void Chick_UniversalApplication_Subsidy(string CitizenOption)
        {
            string parentWindow = driver.CurrentWindowHandle;

            Thread.Sleep(700);

            CommonUtils Cu = new CommonUtils(driver);

            Cu.AcceptAll_Cookies();

            if (AJAXCall.IsElementPresent(By.XPath("/html/body/div[1]/div/a")))
            {
                Dimisscookie_Message.Click();
            }
            Admin_SignIn.Click();

            Username.SendKeys("*****@*****.**");

            Password.SendKeys("Pobal123!");

            Thread.Sleep(1000);
            SignIn_Page.Click();

            MyApplicationsLink.Click();
            ViewApplications.Click();

            //MyAwards_NCS();

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);

            NewApplication.Click();
            startUniversal_Application.Click();
            eyp_dataprivacystatement.Click();

            Thread.Sleep(1000);
            NextBtn.Click();

            switch (CitizenOption)
            {
            case "IrelandCitizen":

                SelectElement value1 = new SelectElement(eyp_irelandresident);
                value1.SelectByText("Yes");

                Console.WriteLine(CitizenOption);
                break;

            case "EUCitizen":
                SelectElement value2 = new SelectElement(eyp_irelandresident);
                value2.SelectByText("No");

                SelectElement value_EU = new SelectElement(Eyp_eucitizen);
                value_EU.SelectByText("Yes");

                Console.WriteLine(CitizenOption);
                break;

            case "SW_IC_NR_Citizen":
                SelectElement value3 = new SelectElement(eyp_irelandresident);
                value3.SelectByText("No");

                SelectElement value_EU_No = new SelectElement(Eyp_eucitizen);
                value_EU_No.SelectByText("No");

                SelectElement value_SW_IC_NR = new SelectElement(Eyp_eftacitizen);
                value_SW_IC_NR.SelectByText("Yes");

                Console.WriteLine(CitizenOption);
                break;

            case "Asylum_Seeker_RefugeeCitizen":

                SelectElement value4 = new SelectElement(eyp_irelandresident);
                value4.SelectByText("No");

                SelectElement value_EU_No_1 = new SelectElement(Eyp_eucitizen);
                value_EU_No_1.SelectByText("No");

                SelectElement value_SW_IC_NR_No = new SelectElement(Eyp_eftacitizen);
                value_SW_IC_NR_No.SelectByText("No");

                SelectElement value_Aslyum_Refugee = new SelectElement(Eyp_asylumrefugee);
                value_Aslyum_Refugee.SelectByText("Yes");

                Console.WriteLine(CitizenOption);
                break;

            case "Self_Employed":

                SelectElement value5 = new SelectElement(eyp_irelandresident);
                value5.SelectByText("No");

                SelectElement value_EU_No_2 = new SelectElement(Eyp_eucitizen);
                value_EU_No_2.SelectByText("No");

                SelectElement value_SW_IC_NR_No_1 = new SelectElement(Eyp_eftacitizen);
                value_SW_IC_NR_No_1.SelectByText("No");

                SelectElement value_Aslyum_Refugee_1 = new SelectElement(Eyp_asylumrefugee);
                value_Aslyum_Refugee_1.SelectByText("No");


                SelectElement value_Employed = new SelectElement(Eyp_Employed);
                value_Employed.SelectByText("Yes");

                Console.WriteLine(CitizenOption);
                break;

            default:
                Console.WriteLine("Default case");
                break;
            }



            NextBtn.Click();

            var address = "17 Bleach Road, Dún Brinn, Athy, Co.Kildare";

            addressSection.SendKeys(address);

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);
            driver.FindElement(By.CssSelector(".autoaddress-button")).Click();

            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            js.ExecuteScript("window.scrollBy(0, 500)", "");
            Thread.Sleep(1000);


            ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + "address details added successfully" + "      " + "PASSED");
            Thread.Sleep(800);
            if (AJAXCall.IsElementPresent(By.Id("btnNext")))
            {
                NextBtn.Click();
            }

            Thread.Sleep(2000);

            eyp_firstname.SendKeys("Test");
            eyp_lastname.SendKeys("Automation");

            var ppsndigit = Constant_functions.RandomNumGeneration(7);

            var ppsnAlpha = Constant_functions.randomString(2);
            var ppsn      = ppsndigit + ppsnAlpha;

            Eyp_ppsn.SendKeys(ppsn);

            Eyp_ppsn.SendKeys("AS");

            var myDate  = DateTime.Now;
            var newDate = myDate.AddYears(-1);

            var chickDOB = newDate.ToString("dd/MM/yyyy");

            DateOfBirth.SendKeys(chickDOB);

            SelectElement genderVal = new SelectElement(Genderid);

            genderVal.SelectByText("Female");

            Thread.Sleep(1000);
            SelectElement relToChild = new SelectElement(Eyp_relationshipapplicantid);

            relToChild.SelectByIndex(4);

            Thread.Sleep(1000);
            AJAXCall.WaitForAjax();

            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();

            if (AJAXCall.IsElementPresent(By.Id("//*[@id='nexteducationstage']")) && nextEduStage.Displayed)
            {
                SelectElement NextEduStage = new SelectElement(nextEduStage);

                myDate  = DateTime.Now;
                newDate = myDate.AddYears(+1);
                NextEduStage.SelectByIndex(3);

                Thread.Sleep(1000);
            }
            BtnSubmitChild.Click();

            Thread.Sleep(2000);
            driver.SwitchTo().DefaultContent();

            AJAXCall.WaitForReady(driver);

            Thread.Sleep(2000);
            NextBtn.Click();

            Thread.Sleep(1000);
            IWebElement chick_Number      = driver.FindElement(By.Id("eyp_id"));
            var         store_ChickNumber = chick_Number.GetAttribute("value");

            AJAXCall.WaitForAjax();

            Thread.Sleep(2000);
            js.ExecuteScript("window.scrollBy(0,document.body.scrollHeight)");

            NextBtn.Click();
            Thread.Sleep(2000);

            IWebElement label = driver.FindElement(By.XPath("//label[@for='eyp_custodydeclaration']"));

            new Actions(driver).MoveToElement(label, 1, 1).Click().Perform();



            AJAXCall.WaitForAjax();

            Eyp_informationtruthfuldeclaration_label.Click();

            NextBtn.Click();
            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();

            BtnModalSubmit.Click();
        }
        public void Chick_UniversalApplication_NoSubsidy()
        {
            string parentWindow = driver.CurrentWindowHandle;

            Thread.Sleep(700);

            CommonUtils Cu = new CommonUtils(driver);

            Cu.AcceptAll_Cookies();

            if (AJAXCall.IsElementPresent(By.XPath("/html/body/div[1]/div/a")))
            {
                Dimisscookie_Message.Click();
            }

            Username.SendKeys("*****@*****.**");

            Password.SendKeys("Pobal123!");

            Thread.Sleep(1000);
            SignIn_Page.Click();

            MyApplicationsLink.Click();
            ViewApplications.Click();

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);

            NewApplication.Click();
            startUniversal_Application.Click();
            eyp_dataprivacystatement.Click();

            Thread.Sleep(1000);
            NextBtn.Click();

            SelectElement value = new SelectElement(eyp_irelandresident);

            value.SelectByText("Yes");

            NextBtn.Click();

            var address = "17 Bleach Road, Dún Brinn, Athy, Co.Kildare";

            addressSection.SendKeys(address);

            AJAXCall.WaitForAjax();
            Thread.Sleep(1000);
            driver.FindElement(By.CssSelector(".autoaddress-button")).Click();

            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            js.ExecuteScript("window.scrollBy(0, 500)", "");
            Thread.Sleep(1000);


            ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + "address details added successfully" + "      " + "PASSED");
            Thread.Sleep(800);
            if (AJAXCall.IsElementPresent(By.Id("btnNext")))
            {
                NextBtn.Click();
            }

            Thread.Sleep(2000);

            eyp_firstname.SendKeys("Test");
            eyp_lastname.SendKeys("Automation");


            Eyp_ppsn.SendKeys("7865481TR");


            var myDate  = DateTime.Now;
            var newDate = myDate.AddYears(-3);

            var chickDOB = newDate.ToString("dd/MM/yyyy");

            DateOfBirth.SendKeys(chickDOB);
            SelectElement genderVal = new SelectElement(Genderid);

            genderVal.SelectByText("Female");

            Thread.Sleep(1000);
            SelectElement relToChild = new SelectElement(Eyp_relationshipapplicantid);

            relToChild.SelectByIndex(5);

            Thread.Sleep(1000);
            AJAXCall.WaitForAjax();
            if (AJAXCall.IsElementPresent(By.Id("initialeducationstage")) || Initialeducationstage.Displayed)
            {
                SelectElement EduStage = new SelectElement(Initialeducationstage);
                EduStage.SelectByText("ECCE / ECCE Eligible");
            }
            Thread.Sleep(1000);

            AJAXCall.WaitForAjax();
            if (AJAXCall.IsElementPresent(By.Id("eyp_movetonexteducationstage")) || EduStageDate_Option.Displayed)
            {
                SelectElement eduStageDate = new SelectElement(EduStageDate_Option);
                eduStageDate.SelectByText("Yes");
            }
            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();
            SelectElement NextEduStage = new SelectElement(nextEduStage);

            NextEduStage.SelectByIndex(3);

            Thread.Sleep(2000);
            myDate = DateTime.Now;

            newDate = myDate.AddYears(+1).AddDays(8);

            var nextyearDate = newDate.ToString("dd/MM/yyyy");

            dateNextEduStage.Click();

            dateNextEduStage.SendKeys(nextyearDate);


            BtnSubmitChild.Click();

            Thread.Sleep(2000);
            AJAXCall.WaitForAjax();

            if (AJAXCall.IsElementPresent(By.XPath("//*[@id='btnModalSubmit']")))
            {
                caretChild_Click.Click();
                Thread.Sleep(2000);
            }



            AJAXCall.WaitForReady(driver);

            Thread.Sleep(2000);
            NextBtn.Click();

            Thread.Sleep(1000);
            IWebElement chick_Number      = driver.FindElement(By.Id("eyp_id"));
            var         store_ChickNumber = chick_Number.GetAttribute("value");

            AJAXCall.WaitForAjax();

            Thread.Sleep(2000);
            js.ExecuteScript("window.scrollBy(0,document.body.scrollHeight)");

            NextBtn.Click();

            Thread.Sleep(1000);
            Thread.Sleep(2000);

            IWebElement label = driver.FindElement(By.XPath("//label[@for='eyp_custodydeclaration']"));

            new Actions(driver).MoveToElement(label, 1, 1).Click().Perform();

            AJAXCall.WaitForAjax();

            Eyp_informationtruthfuldeclaration_label.Click();

            NextBtn.Click();
            Thread.Sleep(2000);

            AJAXCall.WaitForAjax();

            BtnModalSubmit.Click();

            Assert.AreEqual("", "Applicant Portal Passed", "" + ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + "address details added successfully" + "      " + "PASSED"));
        }
        public void StartOnboarding_ChangeOfCircumstances(IWebDriver webDriver)
        {
            try
            {
                CommonUtils Cu = new CommonUtils(webDriver);

                WebDriverWait web = new WebDriverWait(webDriver, TimeSpan.FromSeconds(500));


                Thread.Sleep(1000);
                Cu.NonFunctionaCookies_On();

                Cu.AnalyticalCookies_On();

                Cu.AcceptAll_Cookies();

                Assert.IsTrue(true, "Onboarding Page");
                AJAXCall.WaitForAjax();

                Cookies cookiePage = new Cookies(webDriver);


                webDriver.FindElement(By.XPath("//a[contains(text(),'Start On-Boarding Process')]")).Click();

                WebDriverWait wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(800)); // Timeout in seconds
                wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("NextButton")));


                cookiePage.getAllCookies();

                AJAXCall.WaitForAjax();
                this.NextButton.Click();

                ReportsGeneration._test.Log(Status.Pass, "SPP" + webDriver.Url + "PASSED");
                SelectElement       oSelect_1    = new SelectElement(webDriver.FindElement(By.Id("eyp_legalstructure")));
                IList <IWebElement> elementCount = oSelect_1.Options;
                Console.Write(elementCount.Count);

                string value_0 = "Designated Activity Company Limited by Guarantee";
                string value_1 = "Limited Company with Share Capital";
                string value_2 = "Organisations established by Statute";
                string value_3 = "Private Company Limited by Shares";
                string value_4 = "Sole Trader";


                oSelect_1.SelectByText(value_4);

                this.TypeofOrg.Click();
                SelectElement       oSelect_2 = new SelectElement(TypeofOrg);
                IList <IWebElement> opt       = oSelect_2.Options;
                Console.Write(opt.Count);

                ReportsGeneration._test.Log(Status.Pass, value_0);
                Thread.Sleep(200);
                string val   = "New Organisation";
                string val_1 = "Change of Circumstance";
                oSelect_2.SelectByText(val_1);

                Eyp_typeofonboardingdetails.Click();
                WebDriverWait LoadJQuery = new WebDriverWait(webDriver, TimeSpan.FromSeconds(900));

                Eyp_typeofonboardingdetails.SendKeys("Test- Change of circumtances scenario dropdown");

                // AJAXCall.WaitForAjax();

                ReportsGeneration._test.Log(Status.Pass, val_1 + "Test- Change of circumtances scenario dropdown" + "       " + "dropdown is working fine");

                ReportsGeneration._test.Log(Status.Pass, "SPP" + "    " + "legal option" + value_0 + "      " + "PASSED");
                this.NextButton.Click();

                Thread.Sleep(1000);
                wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(900));
                firstName.SendKeys("Automation");
                lastName.SendKeys("Test");

                wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(1000));
                string gmailAcc = Constant_functions.GetRandomAlphaNumeric() + "@hotmail.com";


                var trnNo1 = Constant_functions.randomString(2);

                var s = Constant_functions.RandomNumGeneration(7);

                TrnNo = s + trnNo1;
                Excel_Suite Ex = new Excel_Suite(Env.EXCEL_TEST_URL);

                email.SendKeys(gmailAcc);
                confirmEmail.SendKeys(gmailAcc);

                var contactDetail = Constant_functions.RandomNumGeneration(9);

                contactNo.SendKeys(contactDetail);

                ReportsGeneration._test.Log(Status.Pass, "SPP" + "     " + "contact details added successfully" + "      " + "PASSED");
                this.NextButton.Click();

                Thread.Sleep(1000);

                if (AJAXCall.IsElementPresent(By.XPath("//*[@id='eyp_crono']")))
                {
                    var croNumber = Constant_functions.RandomNumGeneration(3);

                    croNum.SendKeys("120");
                    Thread.Sleep(800);
                    croNum.SendKeys(croNumber);

                    ReportsGeneration._test.Log(Status.Pass, "SPP" + "CRO Number=" + croNumber + "     " + "PASSED");
                    Thread.Sleep(600);
                }

                Thread.Sleep(1000);

                if (AJAXCall.IsElementPresent(By.Id("eyp_legalname")))
                {
                    IWebElement legalName = webDriver.FindElement(By.Id("eyp_legalname"));
                    Console.WriteLine("False- CRO No. (Companies Registration Office Number) selection");

                    legalName.SendKeys("Pobal Automation");
                    ReportsGeneration._test.Log(Status.Pass, "SPP" + "     " + legalName + "     " + "PASSED");
                }
                string trnKey = "Key" + TrnNo;

                dataStoredFile.Add(trnKey, TrnNo);

                Thread.Sleep(800);

                foreach (char c in TrnNo)
                {
                    TRNnumber.SendKeys(c.ToString());
                }

                Thread.Sleep(1000);

                AJAXCall.WaitForReady(webDriver);
                Thread.Sleep(1000);

                webDriver.FindElement(By.XPath("//input[@id='eyp_trn']")).Click();

                Thread.Sleep(1000);


                Thread.Sleep(900);

                wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.XPath("//input[@id='eyp_trn']")));

                var randomRecords = Constant_functions.RandomNumGeneration(7);
                tcanNumber.SendKeys(randomRecords);

                Thread.Sleep(1000);
                wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(900));

                if (AJAXCall.IsElementPresent(By.Id("eyp_communityprivate")))
                {
                    SelectElement       privateOrcommunity     = new SelectElement(communityprivate);
                    IList <IWebElement> opt_privateOrcommunity = privateOrcommunity.Options;
                    privateOrcommunity.SelectByIndex(2);
                }

                Thread.Sleep(500);

                if (AJAXCall.IsElementPresent(By.Id("eyp_registeredcharity")))
                {
                    SelectElement regCharity = new SelectElement(registeredcharity);
                    regCharity.SelectByText("No");
                }


                OrgEmail.SendKeys(gmailAcc);


                var mainPh = Constant_functions.RandomNumGeneration(9);

                AJAXCall.WaitForReady(webDriver);
                Thread.Sleep(200);

                mainPhone.SendKeys(mainPh);

                Thread.Sleep(1000);
                TRNnumber.SendKeys(trnNo1);
                ReportsGeneration._test.Log(Status.Pass, "SPP" + "     " + webDriver.Url + "     " + "PASSED");

                NextButton.Click();

                AJAXCall.WaitForReady(webDriver);
                Thread.Sleep(600);

                IJavaScriptExecutor js = (IJavaScriptExecutor)webDriver;

                js.ExecuteScript("window.scrollBy(0,0)", "");
                //((IJavaScriptExecutor)webDriver).ExecuteScript("arguments[0].scrollIntoView(true);", addressIndex);

                Thread.Sleep(800);
                AJAXCall.WaitForAjax();

                if (AJAXCall.IsElementPresent(By.XPath("//*[@id='AutoAddressControl']/div/input")))
                {
                    var address   = "16 Pearse Square, Greenpark Road, Bray, Co. Wicklow";
                    var address_0 = "17 The Blennicks, Rosses Point, Co.Silgo";
                    addressIndex.SendKeys(address_0);

                    Thread.Sleep(800);
                    webDriver.FindElement(By.CssSelector(".autoaddress-button")).Click();

                    Thread.Sleep(800);

                    AJAXCall.WaitForAjax();

                    js.ExecuteScript("window.scrollBy(0, 250)", "");
                    Thread.Sleep(800);
                    wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("NextButton")));
                    ReportsGeneration._test.Log(Status.Pass, address_0 + "      " + "address details added successfully" + "      " + "PASSED");
                }
                Thread.Sleep(1000);

                if (AJAXCall.IsElementPresent(By.Id("eyp_county")) && countyName.Displayed)
                {
                    SelectElement countyName_selection = new SelectElement(countyName);
                    countyName_selection.SelectByIndex(5);
                }


                Thread.Sleep(800);
                if (AJAXCall.IsElementPresent(By.Id("NextButton")))
                {
                    NextButton.Click();
                }
                Thread.Sleep(1000);


                uploadDoc.Click();
                AJAXCall.WaitForAjax();

                webDriver.SwitchTo().Frame(1);

                Thread.Sleep(1000);

                // docOption.Click();
                SelectElement docSelection = new SelectElement(docOption);
                docSelection.SelectByText("Proof of ID");
                AJAXCall.WaitForReady(webDriver);

                Thread.Sleep(1000);

                IWebElement upload = webDriver.FindElement(By.Id("AttachFile"));
                upload.SendKeys("C:\\temp\\Tech_Cities_Future_report.pdf");

                Thread.Sleep(1000);
                if (AJAXCall.IsElementPresent(By.Id("InsertButton")))
                {
                    webDriver.FindElement(By.Id("InsertButton")).Click();
                    Thread.Sleep(1000);
                }

                AJAXCall.WaitForAjax();
                Thread.Sleep(500);

                webDriver.SwitchTo().DefaultContent();
                Thread.Sleep(1000);

                Point loc = webDriver.FindElement(By.Id("NextButton")).Location;

                Console.WriteLine(loc);


                js = (IJavaScriptExecutor)webDriver;

                js.ExecuteScript("javascript:window.scrollBy(0," + loc.Y + ")");

                //js.ExecuteScript("window.scrollBy(0, 500)", "");

                Thread.Sleep(1000);
                ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + webDriver.Url + "      " + "PASSED");

                AJAXCall.WaitForReady(webDriver);
                if (AJAXCall.IsElementPresent(By.Id("NextButton")))
                {
                    Thread.Sleep(1000);
                    NextButton.Click();
                }
                else
                {
                    js = (IJavaScriptExecutor)webDriver;
                    js.ExecuteScript("arguments[0].scrollIntoView();", NextButton);
                    NextButton.Click();
                }

                Thread.Sleep(900);

                // Get Parent window handle
                var winHandleBefore = webDriver.CurrentWindowHandle;

                Thread.Sleep(1000);

                AJAXCall.WaitForAjax();

                ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + "facility details added successfully" + "       " + "PASSED");

                Thread.Sleep(1000);
                if (NextButton.Displayed || AJAXCall.IsElementPresent(By.Id("NextButton")))
                {
                    facilityName.SendKeys("Test");

                    Thread.Sleep(1000);
                    facilityName.SendKeys(Keys.Tab);
                    facilityName.SendKeys("Test");

                    facilityEmail.SendKeys(Keys.Tab);
                    string gmailAcc_1 = Constant_functions.GetRandomAlphaNumeric() + "@yahoo.com";
                    facilityEmail.SendKeys(gmailAcc_1);
                    Thread.Sleep(800);

                    facilityNumber.SendKeys(Keys.Tab);
                    facilityNumber.SendKeys(contactDetail);

                    Thread.Sleep(1000);
                    Thread.Sleep(600);
                    NextButton.Click();
                }



                js.ExecuteScript("window.scrollBy(0, 0)", "");
                //((IJavaScriptExecutor)webDriver).ExecuteScript("arguments[0].scrollIntoView(true);", addressIndex);


                AJAXCall.WaitForAjax();

                var address_1 = "16 Pearse Square, Greenpark Road, Bray, Co. Wicklow";
                addressIndex.SendKeys(address_1);

                Thread.Sleep(800);
                webDriver.FindElement(By.CssSelector(".autoaddress-button")).Click();

                Thread.Sleep(800);

                AJAXCall.WaitForAjax();

                js.ExecuteScript("window.scrollBy(0, 250)", "");
                Thread.Sleep(800);
                wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("NextButton")));

                ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + "address details added successfully" + "      " + "PASSED");
                Thread.Sleep(800);
                if (AJAXCall.IsElementPresent(By.Id("NextButton")))
                {
                    NextButton.Click();
                }

                Thread.Sleep(800);

                if (AJAXCall.IsElementPresent(By.Id("eyp_naionra")))
                {
                    SelectElement naionraSelect = new SelectElement(naionraSelection);
                    naionraSelect.SelectByText("No");
                }
                SelectElement childminderSelect = new SelectElement(childMinderSelection);
                childminderSelect.SelectByText("No");


                SelectElement schoolpremisesSelect = new SelectElement(schoolpremisesSelection);
                schoolpremisesSelect.SelectByText("Yes");


                SelectElement tuslaregSelect = new SelectElement(TuslaRegServiceSelection);
                tuslaregSelect.SelectByText("No");

                wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("NextButton")));
                NextButton.Click();

                Thread.Sleep(1000);
                accept.Click();


                Thread.Sleep(1000);
                wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("NextButton")));
                NextButton.Click();

                IWebElement message   = webDriver.FindElement(By.Id("MessageLabel"));
                var         mesgValue = message.Text;

                ReportsGeneration._test.Log(Status.Pass, "SPP" + "    " + "OnBoarding Process Submitted to CRM SuccessFully with message :" + "      " + mesgValue + "     " + "      " + "PASSED");
                ReportsGeneration._test.Log(Status.Pass, MarkupHelper.CreateLabel("OnBoarding Process Submitted to CRM SuccessFully with message :" + "    " + mesgValue, ExtentColor.Yellow));
            }

            catch (Exception e)
            {
                Console.WriteLine(e.Message);

                ReportsGeneration._test.Log(Status.Fail, "SPP" + "     " + "OnBoarding Process Failed" + " " +
                                            "     " + "FAIL");
                Assert.Fail();
            }
        }
        public void SP_Portal_SignIN_Submit(IWebDriver driver)
        {
            CommonUtils Cu = new CommonUtils(driver);

            Cu.AcceptAll_Cookies();

            SignIn_Page.Click();
            Thread.Sleep(900);

            Excel_Suite userEmail = new Excel_Suite(Env.EXCEL_TEST_URL);

            userEmail.getCellData("SPP_TestData", true);
            UserEmail.SendKeys(Env.Email_Id);

            // UserEmail.SendKeys(Constant_functions.UserEmailId);
            Password.SendKeys("Test@123");

            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(800));

            SubmitButton.Click();

            MyAccount_Toggle.Click();

            BankAccount_Page.Click();
            ReportsGeneration._test.Log(Status.Pass, " " + "   " + driver.Url + "   " + "pageload is working fine");
            BankAccountLink_Button.Click();
            Thread.Sleep(1000);
            Excel_Suite   Es               = new Excel_Suite(Env.EXCEL_BANK_DATA);
            ExcelData     bankData         = Es.getBankData("Sheet1");
            SelectElement bankBranchOption = new SelectElement(DropDown_Bank);


            if (bankData != null)
            {
                accountName.SendKeys(bankData.AccountName);

                List <string> bankNames = new List <string>
                {
                    "AIB",
                    "An Post",
                    "Bank of Ireland",
                    "First Active",
                    "ING Bank",
                    "Aareal Bank AG",
                    "Bank of America Merrill Lynch International Ltd",
                    "Ulster Bank"
                };

                Thread.Sleep(800);

                IList <IWebElement> bankNames_1 = bankBranchOption.Options;
                DropDown_Bank.Click();


                wait = new WebDriverWait(driver, TimeSpan.FromSeconds(900));
                string val = "";


                Thread.Sleep(1000);
                foreach (var bankNameText in bankNames)
                {
                    if (bankNameText.Contains(bankData.BankName))
                    {
                        val = bankNameText;
                        if (AJAXCall.IsElementPresent(By.Id("eyp_bank")))
                        {
                            bankBranchOption.SelectByText(val);
                        }
                    }
                    else
                    {
                        bankBranchOption.SelectByIndex(4);
                        break;
                    }
                }
                Thread.Sleep(1000);
                foreach (char c in bankData.IBAN1)
                {
                    iban_text.SendKeys(c.ToString());
                }

                Bank_branch.SendKeys(bankData.BankBranch);
                Accountnumber.SendKeys(bankData.AccountNumber);



                Thread.Sleep(600);
                foreach (char s in bankData.BIC)
                {
                    BIC_Num.SendKeys(s.ToString());
                }
                Thread.Sleep(600);
                sortCode.SendKeys(bankData.SortCode);
            }

            wait = new WebDriverWait(driver, TimeSpan.FromSeconds(900));
            NextButton.Click();

            AJAXCall.WaitForReady(driver);

            Thread.Sleep(1000);
            Upload_Document.Click();

            AJAXCall.WaitForAjax();

            Thread.Sleep(1000);
            driver.SwitchTo().Frame(1);
            SelectElement doc = new SelectElement(dropdown_documenttypeid);

            doc.SelectByText("Bank Account Statement");

            Thread.Sleep(500);
            AJAXCall.WaitForAjax();

            IWebElement upload = driver.FindElement(By.Id("AttachFile"));

            upload.SendKeys("C:\\temp\\Tech_Cities_Future_report.pdf");

            upload_Btn.Click();
            Thread.Sleep(1000);

            AJAXCall.WaitForReady(driver);

            driver.SwitchTo().DefaultContent();
            Thread.Sleep(1000);

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            js.ExecuteScript("window.scrollBy(0, 500)", "");

            js.ExecuteScript("arguments[0].scrollIntoView();", NextButton);

            if (AJAXCall.IsElementPresent(By.Id("NextButton")))
            {
                NextButton.Click();
            }
            else
            {
                IJavaScriptExecutor jse = (IJavaScriptExecutor)driver;
                jse = (IJavaScriptExecutor)driver;
                jse.ExecuteScript("arguments[0].scrollIntoView();", NextButton);
            }


            ReportsGeneration._test.Log(Status.Pass, "SPP" + "      " + driver.Url + "      " + "PASSED");

            Thread.Sleep(700);
        }