Esempio n. 1
0
        public string FTP_Coweta(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;

            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";

            var driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            using (driver = new PhantomJSDriver())//
            {
                //driver = new ChromeDriver();

                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");

                    if (searchType == "titleflex")
                    {
                        string titleaddress = address;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "GA", "Coweta");
                        if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=CowetaCountyGA&Layer=Parcels&PageType=Search");
                        Thread.Sleep(2000);

                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address);

                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "GA", "Coweta");
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        try
                        {
                            IWebElement         MultiAddressTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiAddressTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "GA", "Coweta");
                            int AddressmaxCheck = 0;

                            foreach (IWebElement MultiAddress in MultiAddressTR)
                            {
                                if (AddressmaxCheck <= 25)
                                {
                                    MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                    if (MultiAddressTD.Count != 0)
                                    {
                                        Parcelno         = MultiAddressTD[1].Text;
                                        Owner            = MultiAddressTD[3].Text;
                                        Property_Address = MultiAddressTD[4].Text;

                                        MultiAddress_details = Owner + "~" + Property_Address;
                                        gc.insert_date(orderNumber, Parcelno, 635, MultiAddress_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiAddressTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Coweta_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_Coweta"] = "Yes";
                            }
                            driver.Quit();

                            return("MultiParcel");
                        }
                        catch
                        { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=CowetaCountyGA&Layer=Parcels&PageType=Search");
                        Thread.Sleep(2000);

                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);

                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "GA", "Coweta");
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=CowetaCountyGA&Layer=Parcels&PageType=Search");
                        Thread.Sleep(2000);

                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername);

                        gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "GA", "Coweta");
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        try
                        {
                            IWebElement         MultiAddressTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiAddressTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "GA", "Coweta");
                            int AddressmaxCheck = 0;

                            foreach (IWebElement MultiAddress in MultiAddressTR)
                            {
                                if (AddressmaxCheck <= 25)
                                {
                                    MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                    if (MultiAddressTD.Count != 0)
                                    {
                                        Parcelno         = MultiAddressTD[1].Text;
                                        Owner            = MultiAddressTD[3].Text;
                                        Property_Address = MultiAddressTD[4].Text;

                                        MultiAddress_details = Owner + "~" + Property_Address;
                                        gc.insert_date(orderNumber, Parcelno, 635, MultiAddress_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiAddressTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Coweta_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_Coweta"] = "Yes";
                            }
                            driver.Quit();

                            return("MultiParcel");
                        }
                        catch
                        { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    //Property Details
                    IWebElement         tbmulti11 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_dvNonPrebillMH']/table/tbody"));
                    IList <IWebElement> TRmulti11 = tbmulti11.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDmulti11;
                    foreach (IWebElement row in TRmulti11)
                    {
                        TDmulti11 = row.FindElements(By.TagName("td"));
                        if (TDmulti11.Count != 0)
                        {
                            if (i == 0)
                            {
                                ParcelID = TDmulti11[1].Text;
                            }
                            if (i == 1)
                            {
                                Loc_Addrs = TDmulti11[1].Text;
                            }
                            if (i == 3)
                            {
                                Leg_Desp = TDmulti11[1].Text;
                            }
                            if (i == 5)
                            {
                                Class = TDmulti11[1].Text;
                            }
                            if (i == 7)
                            {
                                Tax_Dist = TDmulti11[1].Text;
                            }
                            if (i == 8)
                            {
                                Milagerate = TDmulti11[1].Text;
                            }
                            if (i == 9)
                            {
                                Acres = TDmulti11[1].Text;
                            }
                            if (i == 10)
                            {
                                Neighberwood = TDmulti11[1].Text;
                            }
                            if (i == 11)
                            {
                                Homstd_Exmp = TDmulti11[1].Text;
                            }
                            i++;
                        }
                    }

                    try
                    {
                        Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_mSection']/div")).Text.Replace("\r\n", "").Trim();
                    }
                    catch
                    { }
                    try
                    {
                        Year_Built = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl09_ctl01_gvwPrebillMH']/tbody/tr/td[4]")).Text;
                    }
                    catch
                    { }
                    try
                    {
                        IWebElement         Yeartb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl05_mSection']/div/table/tbody"));
                        IList <IWebElement> YearTR = Yeartb.FindElements(By.TagName("tr"));
                        IList <IWebElement> YearTD;

                        foreach (IWebElement Tax4 in YearTR)
                        {
                            YearTD = Tax4.FindElements(By.TagName("td"));
                            if (YearTD.Count != 0)
                            {
                                string yblt = YearTD[0].Text;
                                if (yblt.Contains("Year Built"))
                                {
                                    Year_Built = YearTD[1].Text;
                                }
                            }
                        }
                    }
                    catch
                    { }

                    property = Loc_Addrs + "~" + Leg_Desp + "~" + Class + "~" + Tax_Dist + "~" + Milagerate + "~" + Acres + "~" + Neighberwood + "~" + Homstd_Exmp + "~" + Owner1 + "~" + Year_Built;
                    gc.CreatePdf(orderNumber, ParcelID, "Property Details", driver, "GA", "Coweta");
                    gc.insert_date(orderNumber, ParcelID, 636, property, 1, DateTime.Now);

                    //Assessment Details
                    IWebElement         AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl13_ctl01_grdValuation']/thead"));
                    IList <IWebElement> AssmThTr = AssmThTb.FindElements(By.TagName("tr"));
                    IList <IWebElement> AssmTh;

                    foreach (IWebElement Assm in AssmThTr)
                    {
                        AssmTh = Assm.FindElements(By.TagName("th"));
                        if (AssmTh.Count != 0)
                        {
                            Year1 = AssmTh[0].Text;
                            Year2 = AssmTh[1].Text;
                            Year3 = AssmTh[2].Text;
                        }
                    }

                    IWebElement         AssmTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl13_ctl01_grdValuation']/tbody"));
                    IList <IWebElement> AssmTr = AssmTb.FindElements(By.TagName("tr"));
                    IList <IWebElement> AssmTd;

                    List <string> Previous_Value    = new List <string>();
                    List <string> Land_Value        = new List <string>();
                    List <string> Improvement_Value = new List <string>();
                    List <string> Accessory_Value   = new List <string>();
                    List <string> Current_Value     = new List <string>();

                    foreach (IWebElement Assmrow in AssmTr)
                    {
                        AssmTd = Assmrow.FindElements(By.TagName("td"));

                        if (AssmTd.Count != 0)
                        {
                            if (j == 0)
                            {
                                Previous_Value.Add(AssmTd[2].Text);
                                Previous_Value.Add(AssmTd[3].Text);
                                Previous_Value.Add(AssmTd[4].Text);
                            }
                            else if (j == 1)
                            {
                                Land_Value.Add(AssmTd[2].Text);
                                Land_Value.Add(AssmTd[3].Text);
                                Land_Value.Add(AssmTd[4].Text);
                            }
                            else if (j == 2)
                            {
                                Improvement_Value.Add(AssmTd[2].Text);
                                Improvement_Value.Add(AssmTd[3].Text);
                                Improvement_Value.Add(AssmTd[4].Text);
                            }
                            else if (j == 3)
                            {
                                Accessory_Value.Add(AssmTd[2].Text);
                                Accessory_Value.Add(AssmTd[3].Text);
                                Accessory_Value.Add(AssmTd[4].Text);
                            }
                            else if (j == 4)
                            {
                                Current_Value.Add(AssmTd[2].Text);
                                Current_Value.Add(AssmTd[3].Text);
                                Current_Value.Add(AssmTd[4].Text);
                            }

                            j++;
                        }
                    }

                    Assemnt_Details1 = Year1 + "~" + Previous_Value[0] + "~" + Land_Value[0] + "~" + Improvement_Value[0] + "~" + Accessory_Value[0] + "~" + Current_Value[0];
                    Assemnt_Details2 = Year2 + "~" + Previous_Value[1] + "~" + Land_Value[1] + "~" + Improvement_Value[1] + "~" + Accessory_Value[1] + "~" + Current_Value[1];
                    Assemnt_Details3 = Year3 + "~" + Previous_Value[2] + "~" + Land_Value[2] + "~" + Improvement_Value[2] + "~" + Accessory_Value[2] + "~" + Current_Value[2];
                    gc.insert_date(orderNumber, ParcelID, 638, Assemnt_Details1, 1, DateTime.Now);
                    gc.insert_date(orderNumber, ParcelID, 638, Assemnt_Details2, 1, DateTime.Now);
                    gc.insert_date(orderNumber, ParcelID, 638, Assemnt_Details3, 1, DateTime.Now);
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    //Tax Details
                    driver.Navigate().GoToUrl("https://www.cowetataxcom.com/taxes.html#/WildfireSearch");
                    Thread.Sleep(2000);
                    //driver.FindElement(By.LinkText("SEARCH & PAY TAXES")).Click();
                    Thread.Sleep(2000);
                    try
                    {
                        driver.FindElement(By.Id("btnAccept")).Click();
                        Thread.Sleep(2000);
                    }
                    catch
                    { }

                    try
                    {
                        driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[1]")).Click();
                        Thread.Sleep(2000);
                    }
                    catch
                    { }

                    driver.FindElement(By.Id("searchBox")).SendKeys(ParcelID);
                    Thread.Sleep(4000);

                    //TaxPayment Receipt Details
                    try
                    {
                        IWebElement TaxPaymentTB = null;
                        try
                        {
                            TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                        }
                        catch { }
                        try
                        {
                            if (TaxPaymentTB == null)
                            {
                                TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                            }
                        }
                        catch { }

                        IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> TaxPaymentTD;

                        foreach (IWebElement TaxPayment in TaxPaymentTR)
                        {
                            TaxPaymentTD = TaxPayment.FindElements(By.TagName("td"));
                            if (TaxPaymentTD.Count != 0)
                            {
                                Owners    = TaxPaymentTD[0].Text;
                                year      = TaxPaymentTD[1].Text;
                                receipt   = TaxPaymentTD[2].Text;
                                Desc      = TaxPaymentTD[3].Text;
                                Type      = TaxPaymentTD[4].Text;
                                Paid      = TaxPaymentTD[5].Text;
                                Paid_date = TaxPaymentTD[6].Text;

                                Payment_details = Owners + "~" + year + "~" + receipt + "~" + Desc + "~" + Type + "~" + Paid + "~" + Paid_date;
                                gc.CreatePdf(orderNumber, ParcelID, "Tax Bill Details", driver, "GA", "Coweta");
                                gc.insert_date(orderNumber, ParcelID, 645, Payment_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Info Details
                    IWebElement Receipttable = null;
                    try
                    {
                        Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                    }
                    catch { }
                    try
                    {
                        if (Receipttable == null)
                        {
                            Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                        }
                    }
                    catch { }
                    IList <IWebElement> ReceipttableRow = Receipttable.FindElements(By.TagName("tr"));
                    int rowcount = ReceipttableRow.Count;

                    for (int p = 1; p <= rowcount; p++)
                    {
                        if (p < 4)
                        {
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr[" + p + "]/td[9]/button")).Click();
                            }
                            catch { }

                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr[" + p + "]/td[9]/button/i")).Click();
                            }
                            catch { }

                            Thread.Sleep(6000);

                            try
                            {
                                IWebElement         DeliquentTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tbody"));
                                IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> DeliquentTD;

                                foreach (IWebElement Deliquent in DeliquentTR)
                                {
                                    DeliquentTD = Deliquent.FindElements(By.TagName("td"));
                                    if (DeliquentTD.Count != 0 && DeliquentTR.Count != 2)
                                    {
                                        name    = DeliquentTD[0].Text;
                                        Taxyear = DeliquentTD[1].Text;
                                        bill_no = DeliquentTD[2].Text;
                                        amount  = DeliquentTD[6].Text;

                                        Del_details = name + "~" + Taxyear + "~" + bill_no + "~" + amount;
                                        gc.CreatePdf(orderNumber, ParcelID, "Deliquent Details" + Taxy, driver, "GA", "Coweta");
                                        gc.insert_date(orderNumber, ParcelID, 652, Del_details, 1, DateTime.Now);
                                        name = ""; Taxyear = ""; bill_no = ""; amount = "";
                                    }
                                }
                            }
                            catch
                            { }
                            try
                            {
                                IWebElement         DeliquentfootTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tfoot"));
                                IList <IWebElement> DeliquentfootTR = DeliquentfootTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> DeliquentfootTD;

                                foreach (IWebElement Deliquentfoot in DeliquentfootTR)
                                {
                                    DeliquentfootTD = Deliquentfoot.FindElements(By.TagName("th"));
                                    if (DeliquentfootTD.Count != 0 && !Deliquentfoot.Text.Contains("$734.16"))
                                    {
                                        string bill_no1 = DeliquentfootTD[0].Text;
                                        string amount1  = DeliquentfootTD[2].Text;

                                        string Del_details1 = "" + "~" + "" + "~" + bill_no1 + "~" + amount1;
                                        gc.insert_date(orderNumber, ParcelID, 652, Del_details1, 1, DateTime.Now);
                                    }
                                }
                            }
                            catch
                            { }

                            try
                            {
                                driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click();
                                Thread.Sleep(2000);
                            }
                            catch
                            { }

                            IWebElement         TaxTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[1]/table/tbody"));
                            IList <IWebElement> TaxTR = TaxTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> TaxTD;
                            foreach (IWebElement Tax in TaxTR)
                            {
                                TaxTD = Tax.FindElements(By.TagName("td"));
                                if (TaxTD.Count != 0 && !Tax.Text.Contains("Parcel Number") && TaxTD[1].Text != "")
                                {
                                    Dist = TaxTD[0].Text;
                                    if (Dist.Contains("District"))
                                    {
                                        Dis = TaxTD[1].Text;
                                    }
                                    Ac = TaxTD[0].Text;
                                    if (Ac.Contains("Acres"))
                                    {
                                        Acres1 = TaxTD[1].Text;
                                    }
                                    AsVal = TaxTD[0].Text;
                                    if (AsVal.Contains("Description"))
                                    {
                                        Description = TaxTD[1].Text;
                                    }
                                    ProVal = TaxTD[0].Text;
                                    if (ProVal.Contains("Property Address"))
                                    {
                                        Pro_Addr = TaxTD[1].Text;
                                    }
                                    AppVal = TaxTD[0].Text;
                                    if (AppVal.Contains("Assessed Value"))
                                    {
                                        Assed_Val = TaxTD[1].Text;
                                    }
                                    ApprVal = TaxTD[0].Text;
                                    if (ApprVal.Contains("Appraised Value"))
                                    {
                                        Appr_Value = TaxTD[1].Text;
                                    }
                                }
                            }

                            IWebElement         Tax1TB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[2]/table/tbody"));
                            IList <IWebElement> Tax1TR = Tax1TB.FindElements(By.TagName("tr"));
                            IList <IWebElement> Tax1TD;
                            foreach (IWebElement Tax1 in Tax1TR)
                            {
                                Tax1TD = Tax1.FindElements(By.TagName("td"));
                                if (Tax1TD.Count != 0)
                                {
                                    Sta = Tax1TD[0].Text;
                                    if (Sta.Contains("Status"))
                                    {
                                        Status = Tax1TD[1].Text;
                                    }
                                    Latpay = Tax1TD[0].Text;
                                    if (Latpay.Contains("Last Payment Date"))
                                    {
                                        Last_Pay = Tax1TD[1].Text;
                                    }
                                    Amtpaid = Tax1TD[0].Text;
                                    if (Amtpaid.Contains("Amount Paid"))
                                    {
                                        Amt_Paid = Tax1TD[1].Text;
                                    }
                                }
                            }

                            IWebElement         Tax2TB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[2]/table/tbody"));
                            IList <IWebElement> Tax2TR = Tax2TB.FindElements(By.TagName("tr"));
                            IList <IWebElement> Tax2TD;
                            foreach (IWebElement Tax2 in Tax2TR)
                            {
                                Tax2TD = Tax2.FindElements(By.TagName("td"));
                                if (Tax2TD.Count != 0)
                                {
                                    Rcdtyp = Tax2TD[0].Text;
                                    if (Rcdtyp.Contains("Record Type"))
                                    {
                                        Record_Type = Tax2TD[1].Text;
                                    }
                                    tYear = Tax2TD[0].Text;
                                    if (tYear.Contains("Tax Year"))
                                    {
                                        Taxy = Tax2TD[1].Text;
                                    }
                                    Rep = Tax2TD[0].Text;
                                    if (Rep.Contains("Bill Number"))
                                    {
                                        Recep = Tax2TD[1].Text;
                                    }
                                    Dudt = Tax2TD[0].Text;
                                    if (Dudt.Contains("Account Number"))
                                    {
                                        Accnt_Num = Tax2TD[1].Text;
                                    }
                                    Duet = Tax2TD[0].Text;
                                    if (Duet.Contains("Due Date"))
                                    {
                                        Due_Date = Tax2TD[1].Text;
                                    }
                                }
                            }

                            IWebElement         Tax4TB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[3]/table/tbody"));
                            IList <IWebElement> Tax4TR = Tax4TB.FindElements(By.TagName("tr"));
                            IList <IWebElement> Tax4TD;
                            foreach (IWebElement Tax4 in Tax4TR)
                            {
                                Tax4TD = Tax4.FindElements(By.TagName("td"));
                                if (Tax4TD.Count != 0 && Tax4TD[1].Text != "")
                                {
                                    Base = Tax4TD[0].Text;
                                    if (Base.Contains("Base Taxes"))
                                    {
                                        Base_Taxes = Tax4TD[1].Text;
                                    }
                                    Pan = Tax4TD[0].Text;
                                    if (Pan.Contains("Penalty"))
                                    {
                                        penalty = Tax4TD[1].Text;
                                    }
                                    Inst = Tax4TD[0].Text;
                                    if (Inst.Contains("Interest"))
                                    {
                                        Interst = Tax4TD[1].Text;
                                    }
                                    Otherfee = Tax4TD[0].Text;
                                    if (Otherfee.Contains("Other Fees"))
                                    {
                                        Other_Fee = Tax4TD[1].Text;
                                    }
                                    string tytl_due = Tax4TD[0].Text;
                                    if (tytl_due.Contains(Taxy + "Total Due"))
                                    {
                                        string Del_Taxyear = Tax4TD[1].Text;
                                    }
                                    Backtax = Tax4TD[0].Text;
                                    if (Backtax.Contains("Back Taxes"))
                                    {
                                        Back_Tax = Tax4TD[1].Text;
                                    }
                                    tldue = Tax4TD[0].Text;
                                    if (tldue.Contains("Total Due"))
                                    {
                                        Total_Due = Tax4TD[1].Text;
                                    }
                                }
                            }

                            gc.CreatePdf(orderNumber, ParcelID, "Tax Details" + Taxy, driver, "GA", "Coweta");

                            string Tax_Deatils = Taxy + "~" + Dis + "~" + Acres1 + "~" + Description + "~" + Pro_Addr + "~" + Assed_Val + "~" + Appr_Value + "~" + Status + "~" + Last_Pay + "~" + Amt_Paid + "~" + Record_Type + "~" + Recep + "~" + Accnt_Num + "~" + Due_Date + "~" + Base_Taxes + "~" + penalty + "~" + Interst + "~" + Other_Fee + "~" + Del_Taxyear + "~" + Back_Tax + "~" + Total_Due;
                            gc.insert_date(orderNumber, ParcelID, 647, Tax_Deatils, 1, DateTime.Now);

                            //Tax Breakdown


                            try
                            {
                                IWebElement         BreakdownTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div/table/tbody"));
                                IList <IWebElement> BreakdownTR = BreakdownTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> BreakdownTD;

                                foreach (IWebElement Breakdown in BreakdownTR)
                                {
                                    BreakdownTD = Breakdown.FindElements(By.TagName("td"));
                                    if (BreakdownTD.Count != 0)
                                    {
                                        Entity     = BreakdownTD[0].Text;
                                        AdjtFMV    = BreakdownTD[1].Text;
                                        NetAssnt   = BreakdownTD[2].Text;
                                        Exemptions = BreakdownTD[3].Text;
                                        Taxbleval  = BreakdownTD[4].Text;
                                        Milagete   = BreakdownTD[5].Text;
                                        grosstax   = BreakdownTD[6].Text;
                                        Credits    = BreakdownTD[7].Text;
                                        Net_Tax    = BreakdownTD[8].Text;

                                        Breakdown_details = Entity + "~" + AdjtFMV + "~" + NetAssnt + "~" + Exemptions + "~" + Taxbleval + "~" + Milagete + "~" + grosstax + "~" + Credits + "~" + Net_Tax;
                                        gc.insert_date(orderNumber, ParcelID, 650, Breakdown_details, 1, DateTime.Now);
                                    }
                                }
                            }
                            catch
                            { }

                            try
                            {
                                IWebElement         FooterTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div/table/tfoot"));
                                IList <IWebElement> FooterTR = FooterTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> FooterTD;

                                foreach (IWebElement Footer in FooterTR)
                                {
                                    FooterTD = Footer.FindElements(By.TagName("th"));
                                    if (FooterTD.Count != 0)
                                    {
                                        Entity1     = FooterTD[0].Text;
                                        AdjtFMV1    = FooterTD[1].Text;
                                        NetAssnt1   = FooterTD[2].Text;
                                        Exemptions1 = FooterTD[3].Text;
                                        Taxbleval1  = FooterTD[4].Text;
                                        Milagete1   = FooterTD[5].Text;
                                        grosstax1   = FooterTD[6].Text;
                                        Credits1    = FooterTD[7].Text;
                                        Net_Tax1    = FooterTD[8].Text;
                                    }
                                }

                                Breakdown_details1 = Entity1 + "~" + AdjtFMV1 + "~" + NetAssnt1 + "~" + Exemptions1 + "~" + Taxbleval1 + "~" + Milagete1 + "~" + grosstax1 + "~" + Credits1 + "~" + Net_Tax1;
                                gc.insert_date(orderNumber, ParcelID, 650, Breakdown_details1, 1, DateTime.Now);
                            }
                            catch
                            { }

                            //Tax Bill
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[2]/a")).Click();
                                Thread.Sleep(5000);

                                gc.CreatePdf(orderNumber, ParcelID, "Tax Bill Details" + Taxy, driver, "GA", "Coweta");
                            }
                            catch
                            { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")).Click();
                                Thread.Sleep(4000);

                                gc.CreatePdf(orderNumber, ParcelID, "Tax Receipt Details" + Taxy, driver, "GA", "Coweta");
                            }
                            catch
                            { }

                            driver.Navigate().Back();
                            Thread.Sleep(3000);
                        }
                    }

                    //Tax Authority
                    driver.Navigate().GoToUrl("https://www.cowetataxcom.com/#/contact");
                    Thread.Sleep(2000);
                    try
                    {
                        Taxing     = driver.FindElement(By.XPath("//*[@id='editor1567']/p[1]")).Text;
                        Taxing     = WebDriverTest.Between(Taxing, "Coweta County Tax Commissioner", "County Administration Building").Replace("\r\n", " ").Trim();
                        Tax_athuer = "Newnan, Georgia 30264";
                        Phone      = "770-254-2670";
                        Fax        = "770-683-2038";
                        gc.CreatePdf(orderNumber, ParcelID, "Tax Authority Details", driver, "GA", "Coweta");
                        Taxing_Authority = Taxing + " " + Tax_athuer + " " + Phone + " " + Fax;

                        Taxauthority_Details = Taxing_Authority;
                        gc.insert_date(orderNumber, ParcelID, 653, Taxauthority_Details, 1, DateTime.Now);
                    }
                    catch
                    { }

                    TaxTime = DateTime.Now.ToString("HH:mm:ss");

                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "GA", "Coweta", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);

                    driver.Quit();
                    gc.mergpdf(orderNumber, "GA", "Coweta");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw;
                }
            }
        }
Esempio n. 2
0
        public string FTP_HenryGA(string Address, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            IJavaScriptExecutor js = driver as IJavaScriptExecutor;
            string strmulti = "", Taxy = "", LegalDescription = "";
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", accountnumber = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new PhantomJSDriver();
            //driver = new ChromeDriver();
            using (driver = new PhantomJSDriver())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Navigate().GoToUrl("http://qpublic7.qpublic.net/ga_henry_search.php");
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    //Thread.Sleep(3000);
                    if (searchType == "titleflex")
                    {
                        gc.TitleFlexSearch(orderNumber, "", "", Address.Trim(), "GA", "Henry");
                        if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Nodata_HenryGA"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtAddress")).SendKeys(Address);
                        gc.CreatePdf_WOP(orderNumber, "Address Search Before", driver, "GA", "Henry");
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Address Search After", driver, "GA", "Henry");
                        try
                        {
                            strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), "Results");
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Henry_Maximum"] = "Maximum";
                                return("Maximum");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_gvwParcelResults"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> ImultiTD;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD = multi.FindElements(By.TagName("td"));
                                if (ImultiTD.Count != 0 && !multi.Text.Contains("Address"))
                                {
                                    string strmultiDetails = ImultiTD[2].Text + "~" + ImultiTD[3].Text;
                                    gc.insert_date(orderNumber, ImultiTD[1].Text, 1647, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_Henry"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_HenryGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtParcelID")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Before Search", driver, "GA", "Henry");
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Aftere Pdf", driver, "GA", "Henry");
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_HenryGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername);
                        gc.CreatePdf_WOP(orderNumber, "OwnerName Search Before", driver, "GA", "Henry");
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "OwnerName Search After", driver, "GA", "Henry");

                        try
                        {
                            strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results");
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Henry_Maximum"] = "Maximum";
                                return("Maximum");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> ImultiTD;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD = multi.FindElements(By.TagName("td"));
                                if (ImultiTD.Count != 0 && !multi.Text.Contains("Address"))
                                {
                                    string strmultiDetails = ImultiTD[2].Text + "~" + ImultiTD[3].Text;
                                    gc.insert_date(orderNumber, ImultiTD[1].Text, 1647, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_Henry"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_HenryGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    //Property Details
                    string Owner = "", MailingAddress = "", ParcelNumber = "", Propertytype = "", PropertyAddress = "", ZipCode = "", Class = "", TaxDistrict = "", MillageRate = "", Acres = "", Neighborhood = "", HomesteadExemption = "", LandlotAndDistrictAndSection = "", Subdivision = "", YearBuilt = "";
                    try
                    {
                        string   bulktext1 = driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_lstOwner")).Text.Trim();
                        string[] Propdata1 = bulktext1.Split('\r');

                        if (Propdata1.Count() == 4)
                        {
                            Owner          = Propdata1[0].Replace("\r\n", "").Trim() + "&" + Propdata1[1].Replace("\r\n", "").Trim();
                            MailingAddress = Propdata1[2].Replace("\r\n", "").Trim() + "  " + Propdata1[3].Replace("\r\n", "").Trim();
                        }
                        if (Propdata1.Count() == 3)
                        {
                            Owner          = Propdata1[0].Replace("\r\n", "").Trim();
                            MailingAddress = Propdata1[1].Replace("\r\n", "").Trim() + "  " + Propdata1[2].Replace("\r\n", "").Trim();
                        }
                        if (Propdata1.Count() == 2)
                        {
                            MailingAddress = Propdata1[1].Replace("\r\n", "").Trim() + "  " + Propdata1[2].Replace("\r\n", "").Trim();
                        }
                        ParcelNumber = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/div/div/table/tbody/tr[1]/td[2]")).Text.Trim();
                        //gc.CreatePdf(orderNumber, ParcelNumber, "Property Details and Assessment Details Pdf", driver, "GA", "Henry");
                        PropertyAddress = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/div/div/table/tbody/tr[2]/td[2]")).Text.Trim();
                        Propertytype    = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/div/div/table/tbody/tr[4]/td[2]")).Text.Trim();
                        try
                        {
                            YearBuilt = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl06_mSection']/div/div/div[1]/table/tbody/tr[3]/td[2]")).Text.Trim();
                        }
                        catch { }
                    }
                    catch { }
                    //Assessment Details
                    try
                    {
                        string              AssessmentTitle = "", AssessmentValue = "";
                        IWebElement         tbcurasses12 = driver.FindElement(By.Id("ctlBodyPane_ctl03_ctl01_grdValuation_grdYearData"));
                        IList <IWebElement> TRcurasses2  = tbcurasses12.FindElements(By.TagName("tr"));
                        IList <IWebElement> TDmulti12;
                        IList <IWebElement> THmulti12;
                        foreach (IWebElement row in TRcurasses2)
                        {
                            TDmulti12 = row.FindElements(By.TagName("td"));
                            THmulti12 = row.FindElements(By.TagName("th"));
                            if (TDmulti12.Count != 0 && !row.Text.Contains("Year"))
                            {
                                AssessmentValue = TDmulti12[0].Text + "~" + TDmulti12[1].Text + "~" + TDmulti12[2].Text + "~" + TDmulti12[3].Text + "~" + TDmulti12[4].Text;
                                gc.insert_date(orderNumber, ParcelNumber, 1642, AssessmentValue, 1, DateTime.Now);
                            }
                            if (THmulti12.Count != 0 && row.Text.Contains("Assessed Year"))
                            {
                                AssessmentTitle = THmulti12[0].Text + "~" + THmulti12[1].Text + "~" + THmulti12[2].Text + "~" + THmulti12[3].Text + "~" + THmulti12[4].Text;
                            }
                        }
                        db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + AssessmentTitle + "' where Id = '" + 1642 + "'");
                    }
                    catch { }
                    //Tax Authority
                    string Taxauthority = "";
                    try
                    {
                        //string Taxauthority1 = "", Taxauthority2 = "", Taxauthority3 = "", Taxauthority4 = "";
                        driver.Navigate().GoToUrl("https://www.henrytc.org/#/");
                        Thread.Sleep(2000);
                        IWebElement taxo          = driver.FindElement(By.Id("bottom2"));
                        string[]    Taxauthority1 = taxo.Text.Split('\r');
                        gc.CreatePdf(orderNumber, ParcelNumber, "TaxAuthority Pdf", driver, "GA", "Henry");
                        Taxauthority = Taxauthority1[1] + " " + Taxauthority1[2] + " " + Taxauthority1[3] + " " + Taxauthority1[4];
                    }
                    catch { }
                    //Tax information Details
                    string AccountAndRealkey = "";
                    try
                    {
                        driver.Navigate().GoToUrl("https://www.henrytc.org/taxes.html#/WildfireSearch");
                        Thread.Sleep(2000);
                        try
                        {///html/body/div[1]/div/div/div[3]/button[2]
                            driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[2]")).SendKeys(Keys.Enter);
                            Thread.Sleep(2000);
                        }
                        catch
                        { }
                        driver.FindElement(By.Id("searchBox")).SendKeys(ParcelNumber);
                        Thread.Sleep(4000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='searchForm']/div[1]/div/span/button")).SendKeys(Keys.Enter);
                        }
                        catch { }
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, ParcelNumber, "Payment Details Pdf", driver, "GA", "Henry");
                    }
                    catch { }
                    //Tax Payment Receipt Details Table
                    string Paymentdetails = "", TaxOwnerName = "", TaxYear = "", Bill = "", MapandParcel = "", Taxtype = "", PaidDate = "", Paid = "";

                    try
                    {
                        IWebElement PaymentTB = null;
                        try
                        {
                            PaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table"));
                        }
                        catch { }
                        try
                        {
                            if (PaymentTB == null)
                            {
                                PaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table"));
                            }
                        }
                        catch { }
                        //IWebElement PaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table"));
                        IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> PaymentTD;

                        foreach (IWebElement Payment in PaymentTR)
                        {
                            PaymentTD = Payment.FindElements(By.TagName("td"));
                            if (PaymentTD.Count != 0 && !Payment.Text.Contains("Owner Name"))
                            {
                                TaxOwnerName = PaymentTD[0].Text;
                                TaxYear      = PaymentTD[1].Text;
                                Bill         = PaymentTD[2].Text;
                                MapandParcel = PaymentTD[3].Text;
                                Taxtype      = PaymentTD[4].Text;
                                PaidDate     = PaymentTD[6].Text;
                                Paid         = PaymentTD[5].Text;
                                //Tax OwnerName~TaxYear~Bil Numberl~Property Address~Tax Type~Status~Paid Date
                                Paymentdetails = TaxOwnerName + "~" + TaxYear + "~" + Bill + "~" + MapandParcel + "~" + Taxtype + "~" + Paid + "~" + PaidDate;
                                gc.insert_date(orderNumber, ParcelNumber, 1643, Paymentdetails, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }

                    //Tax Bill Details
                    string name = "", Taxyear = "", bill_no = "", amount = "", Del_details = "", delinaccount = "", delinparcelid = "";
                    try
                    {
                        //Tax Info Details
                        IWebElement Receipttable = null;
                        try
                        {
                            Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                        }
                        catch { }
                        try
                        {
                            if (Receipttable == null)
                            {
                                Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                            }
                        }
                        catch { }
                        //IWebElement Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                        IList <IWebElement> ReceipttableRow = Receipttable.FindElements(By.TagName("tr"));
                        int rowcount = ReceipttableRow.Count;

                        for (int p = 1; p <= rowcount; p++)
                        {
                            if (p < 4)
                            {
                                ////*[@id="avalon"]/div/div[3]/div[2]/table/tbody/tr[1]/td[9]
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr[" + p + "]/td[9]/button")).Click();
                                }
                                catch { }
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr[" + p + "]/td[9]/button")).Click();
                                }
                                catch { }
                                Thread.Sleep(2000);
                                try
                                {
                                    driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click();
                                    Thread.Sleep(2000);
                                }
                                catch
                                { }
                                gc.CreatePdf(orderNumber, ParcelNumber, "Overview & Pay Pdf" + p, driver, "GA", "Henry");

                                Thread.Sleep(6000);
                                //View Delinquent Details
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[3]/button[4]")).Click();
                                    IWebElement         DeliquentTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tbody"));
                                    IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> DeliquentTD;

                                    foreach (IWebElement Deliquent in DeliquentTR)
                                    {
                                        DeliquentTD = Deliquent.FindElements(By.TagName("td"));
                                        if (DeliquentTD.Count != 0)
                                        {
                                            name          = DeliquentTD[0].Text.Trim();
                                            Taxyear       = DeliquentTD[1].Text.Trim();
                                            bill_no       = DeliquentTD[2].Text.Trim();
                                            delinaccount  = DeliquentTD[3].Text.Trim();
                                            delinparcelid = DeliquentTD[4].Text.Trim();
                                            amount        = DeliquentTD[6].Text.Trim();

                                            Del_details = name + "~" + Taxyear + "~" + bill_no + "~" + delinaccount + "~" + delinparcelid + "~" + amount;
                                            gc.CreatePdf(orderNumber, ParcelNumber, "Deliquent Details" + delinaccount, driver, "GA", "Henry");
                                            gc.insert_date(orderNumber, ParcelNumber, 1646, Del_details, 1, DateTime.Now);
                                            name = ""; Taxyear = ""; bill_no = ""; amount = ""; delinaccount = ""; delinparcelid = "";
                                        }
                                    }
                                }
                                catch
                                { }
                                try
                                {
                                    IWebElement         DeliquentfootTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tfoot"));
                                    IList <IWebElement> DeliquentfootTR = DeliquentfootTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> DeliquentfootTD;

                                    foreach (IWebElement Deliquentfoot in DeliquentfootTR)
                                    {
                                        DeliquentfootTD = Deliquentfoot.FindElements(By.TagName("th"));
                                        if (DeliquentfootTD.Count != 0)
                                        {
                                            string bill_no1 = DeliquentfootTD[0].Text;
                                            string amount1  = DeliquentfootTD[2].Text;

                                            string Del_details1 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + bill_no1 + "~" + amount1;
                                            gc.insert_date(orderNumber, ParcelNumber, 1646, Del_details1, 1, DateTime.Now);
                                        }
                                    }
                                }
                                catch
                                { }
                                try
                                {
                                    driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click();
                                    Thread.Sleep(2000);
                                }
                                catch
                                { }

                                string Taxinfownername = "", Mailingadd = "", AccountNumber = "", RecordType = "", BillNumber = "", BillTaxYear = "", taxown = "";
                                string DueDate = "", PaymentStatus = "", LastPaymentDate = "", TotalAmountPaid = "", TotalDuePayment = "";
                                //Tax information details
                                try
                                {
                                    IWebElement owne      = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[1]"));
                                    string[]    ownesplit = owne.Text.Split('\r');
                                    Taxinfownername = ownesplit[1].Trim();
                                    try
                                    {
                                        Mailingadd = ownesplit[3].Trim() + " " + ownesplit[6].Trim();
                                    }
                                    catch { }
                                    //Bill information
                                    IWebElement         TaxTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[2]/table/tbody"));
                                    IList <IWebElement> TaxTR = TaxTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD;
                                    foreach (IWebElement Tax1 in TaxTR)
                                    {
                                        TaxTD = Tax1.FindElements(By.TagName("td"));
                                        if (TaxTD.Count != 0 && Tax1.Text != "")
                                        {
                                            if (Tax1.Text.Contains("Record Type"))
                                            {
                                                RecordType = TaxTD[1].Text;
                                            }
                                            if (Tax1.Text.Contains("Tax Year"))
                                            {
                                                BillTaxYear = TaxTD[1].Text;
                                            }
                                            if (Tax1.Text.Contains("Bill Number"))
                                            {
                                                BillNumber = TaxTD[1].Text;
                                            }
                                            if (Tax1.Text.Contains("Account Number"))
                                            {
                                                AccountNumber = TaxTD[1].Text;
                                            }
                                            if (Tax1.Text.Contains("Due Date"))
                                            {
                                                DueDate = TaxTD[1].Text;
                                            }
                                        }
                                    }
                                    //Property information
                                    string              Propertyid = "", District = "", Propertyadd = "", Assessedvalu = "", Appriasedval = "";
                                    IWebElement         TaxTB2 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[1]/table/tbody"));
                                    IList <IWebElement> TaxTR2 = TaxTB2.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD2;
                                    foreach (IWebElement Tax2 in TaxTR2)
                                    {
                                        TaxTD2 = Tax2.FindElements(By.TagName("td"));
                                        if (TaxTD2.Count != 0 && Tax2.Text != "")
                                        {
                                            if (Tax2.Text.Contains("Parcel Number"))
                                            {
                                                Propertyid = TaxTD2[1].Text;
                                            }
                                            if (Tax2.Text.Contains("District"))
                                            {
                                                District = TaxTD2[1].Text + " ";
                                            }
                                            if (Tax2.Text.Contains("Description"))
                                            {
                                                LegalDescription = TaxTD2[1].Text + " ";
                                            }
                                            if (Tax2.Text.Contains("Property Address"))
                                            {
                                                Propertyadd = TaxTD2[1].Text + " ";
                                            }
                                            if (Tax2.Text.Contains("Assessed Value"))
                                            {
                                                Assessedvalu = TaxTD2[1].Text + " ";
                                            }
                                            if (Tax2.Text.Contains("Appraised Value"))
                                            {
                                                Appriasedval = TaxTD2[1].Text + " ";
                                            }
                                        }
                                    }
                                    //Taxes Information
                                    string              BaseTaxes = "", Penalty = "", Interest = "", Otherfees = "", TotaldueTax = "", BackTaxes = "", Yeartotaldue = "";
                                    IWebElement         TaxTB3 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[3]/table/tbody"));
                                    IList <IWebElement> TaxTR3 = TaxTB3.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD3;
                                    foreach (IWebElement Tax3 in TaxTR3)
                                    {
                                        TaxTD3 = Tax3.FindElements(By.TagName("td"));

                                        if (TaxTD3.Count != 0 && Tax3.Text != "")
                                        {
                                            if (Tax3.Text.Contains("Base Taxes"))
                                            {
                                                BaseTaxes = TaxTD3[1].Text;
                                            }
                                            if (Tax3.Text.Contains("Penalty"))
                                            {
                                                Penalty = TaxTD3[1].Text + " ";
                                            }
                                            if (Tax3.Text.Contains("Interest"))
                                            {
                                                Interest = TaxTD3[1].Text;
                                            }
                                            if (Tax3.Text.Contains("Other Fees"))
                                            {
                                                Otherfees = TaxTD3[1].Text;
                                            }
                                            if (Tax3.Text.Contains("Total Due"))
                                            {
                                                try
                                                {
                                                    if (TaxTD3[0].Text.Trim().Count() > 9)
                                                    {
                                                        string Yeartotaldue1 = TaxTD3[1].Text;
                                                        Yeartotaldue = BillTaxYear.Trim() + "   " + Yeartotaldue1.Trim();
                                                    }
                                                }
                                                catch { }
                                            }
                                            if (Tax3.Text.Contains("Back Taxes"))
                                            {
                                                BackTaxes = TaxTD3[1].Text + " ";
                                            }
                                            if (Tax3.Text.Contains("Total Due") && !Tax3.Text.Contains(BillTaxYear))
                                            {
                                                TotaldueTax = TaxTD3[1].Text + " ";
                                            }
                                        }
                                    }
                                    //Payment Information

                                    IWebElement         TaxTB4 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[2]/table/tbody"));
                                    IList <IWebElement> TaxTR4 = TaxTB4.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD4;
                                    foreach (IWebElement Tax4 in TaxTR4)
                                    {
                                        TaxTD4 = Tax4.FindElements(By.TagName("td"));
                                        if (TaxTD4.Count != 0 && Tax4.Text != "")
                                        {
                                            if (Tax4.Text.Contains("Status"))
                                            {
                                                PaymentStatus = TaxTD4[1].Text + " ";
                                            }
                                            if (Tax4.Text.Contains("Last Payment Date"))
                                            {
                                                LastPaymentDate = TaxTD4[1].Text;
                                            }
                                            if (Tax4.Text.Contains("Amount Paid"))
                                            {
                                                TotalAmountPaid = TaxTD4[1].Text + " ";
                                            }
                                        }
                                    }
                                    string Taxinfo_details1 = Taxinfownername + "~" + Propertyadd + "~" + Mailingadd + "~" + District + "~" + Assessedvalu + "~" + Appriasedval + "~" + PaymentStatus + "~" + PaidDate + "~" + TotalAmountPaid + "~" + RecordType + "~" + BillTaxYear + "~" + BillNumber + "~" + AccountNumber + "~" + DueDate + "~" + BaseTaxes + "~" + Penalty + "~" + Interest + "~" + Otherfees + "~" + Yeartotaldue + "~" + BackTaxes + "~" + TotaldueTax + "~" + Taxauthority;
                                    gc.insert_date(orderNumber, Propertyid, 1644, Taxinfo_details1, 1, DateTime.Now);
                                    string Authority = "", Adjusted = "", Assessd = "", Exemptions = "", Taxableval = "", Millage = "", Gross = "", Credit = "", Nettax = "";
                                    //Tax Distribution Details
                                    IWebElement         TaxTB5 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div/table"));
                                    IList <IWebElement> TaxTR5 = TaxTB5.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD5;
                                    IList <IWebElement> TaxTH5;
                                    foreach (IWebElement Tax5 in TaxTR5)
                                    {
                                        TaxTD5 = Tax5.FindElements(By.TagName("td"));
                                        TaxTH5 = Tax5.FindElements(By.TagName("th"));
                                        if (TaxTD5.Count != 0 && Tax5.Text != "")
                                        {
                                            Authority  = TaxTD5[0].Text.Trim();
                                            Adjusted   = TaxTD5[1].Text.Trim();
                                            Assessd    = TaxTD5[2].Text.Trim();
                                            Exemptions = TaxTD5[3].Text.Trim();
                                            Taxableval = TaxTD5[4].Text.Trim();
                                            Millage    = TaxTD5[5].Text.Trim();
                                            Gross      = TaxTD5[6].Text.Trim();
                                            Credit     = TaxTD5[7].Text.Trim();
                                            Nettax     = TaxTD5[8].Text.Trim();
                                            string Taxinfo_details2 = BillTaxYear + "~" + Authority + "~" + Adjusted + "~" + Assessd + "~" + Exemptions + "~" + Taxableval + "~" + Millage + "~" + Gross + "~" + Credit + "~" + Nettax;
                                            gc.insert_date(orderNumber, Propertyid, 1645, Taxinfo_details2, 1, DateTime.Now);
                                        }
                                        if (TaxTH5.Count != 0 && Tax5.Text != "" && !Tax5.Text.Contains("Entity"))
                                        {
                                            Authority  = TaxTH5[0].Text.Trim();
                                            Adjusted   = TaxTH5[1].Text.Trim();
                                            Assessd    = TaxTH5[2].Text.Trim();
                                            Exemptions = TaxTH5[3].Text.Trim();
                                            Taxableval = TaxTH5[4].Text.Trim();
                                            Millage    = TaxTH5[5].Text.Trim();
                                            Gross      = TaxTH5[6].Text.Trim();
                                            Credit     = TaxTH5[7].Text.Trim();
                                            Nettax     = TaxTH5[8].Text.Trim();
                                            string Taxinfo_details3 = BillTaxYear + "~" + Authority + "~" + Adjusted + "~" + Assessd + "~" + Exemptions + "~" + Taxableval + "~" + Millage + "~" + Gross + "~" + Credit + "~" + Nettax;
                                            gc.insert_date(orderNumber, Propertyid, 1645, Taxinfo_details3, 1, DateTime.Now);
                                        }
                                    }
                                }
                                catch { }
                                //Tax Bill
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[2]/a")).Click();
                                Thread.Sleep(9000);
                                gc.CreatePdf(orderNumber, ParcelNumber, "Tax Bill Details" + BillTaxYear, driver, "GA", "Henry");
                                //View And Print Receipt
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")).Click();
                                    Thread.Sleep(9000);
                                    gc.CreatePdf(orderNumber, ParcelNumber, "View Print Receipt" + BillTaxYear, driver, "GA", "Henry");
                                }
                                catch { }
                                Thread.Sleep(5000);
                                driver.Navigate().Back();
                            }
                        }
                    }
                    catch { }

                    string PropertyDetails = Owner.Trim() + "~" + PropertyAddress.Trim() + "~" + MailingAddress.Trim() + "~" + Propertytype.Trim() + "~" + YearBuilt.Trim() + "~" + LegalDescription.Trim();
                    gc.insert_date(orderNumber, ParcelNumber, 1641, PropertyDetails, 1, DateTime.Now);

                    TaxTime     = DateTime.Now.ToString("HH:mm:ss");
                    CitytaxTime = DateTime.Now.ToString("HH:mm:ss");
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "GA", "Henry", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);


                    driver.Quit();
                    gc.mergpdf(orderNumber, "GA", "Henry");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
        public string FTP_PauldingGA(string streetNo, string streetName, string direction, string streetType, string accountNo, string parcelNumber, string ownerName, string searchType, string orderNumber)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            IJavaScriptExecutor js = driver as IJavaScriptExecutor;
            string strmulti = "", Taxy = "";
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", accountnumber = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new PhantomJSDriver();
            //driver = new ChromeDriver();
            using (driver = new PhantomJSDriver())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    //Tax Authority

                    driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=PauldingCountyGA&Layer=Parcels&PageType=Search");
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    //Thread.Sleep(3000);
                    if (searchType == "titleflex")
                    {
                        string address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + accountNo;
                        gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "GA", "Paulding");
                        if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Nodata_PauldingGA"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(streetNo + " " + streetName);
                        gc.CreatePdf_WOP(orderNumber, "Address Search Before", driver, "GA", "Paulding");
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Address Search After", driver, "GA", "Paulding");
                        try
                        {
                            strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results");
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Paulding_Maximum"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> ImultiTD;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD = multi.FindElements(By.TagName("td"));
                                if (ImultiTD.Count != 0 && !multi.Text.Contains("Address"))
                                {
                                    string strmultiDetails = ImultiTD[3].Text + "~" + ImultiTD[4].Text;
                                    gc.insert_date(orderNumber, ImultiTD[1].Text, 831, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_Paulding"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_PauldingGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl03_ctl01_txtParcelID")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Before Search", driver, "GA", "Paulding");
                        driver.FindElement(By.Id("ctlBodyPane_ctl03_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Aftere Pdf", driver, "GA", "Paulding");
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_PauldingGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "account")
                    {
                        accountNo = accountNo.TrimStart('0').TrimEnd('0').Trim();
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtAlternateIDExactMatch")).SendKeys(accountNo);
                        gc.CreatePdf_WOP(orderNumber, "Account Search Before", driver, "GA", "Paulding");
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearchExactMatch")).SendKeys(Keys.Enter);
                        gc.CreatePdf_WOP(orderNumber, "Account Search After", driver, "GA", "Paulding");
                        try
                        {
                            IWebElement         IAddressmatchclick = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> TRmulti11          = IAddressmatchclick.FindElements(By.TagName("tr"));
                            IList <IWebElement> TDmulti11;
                            foreach (IWebElement row in TRmulti11)
                            {
                                TDmulti11 = row.FindElements(By.TagName("td"));

                                if (TDmulti11.Count != 0)
                                {
                                    if (TDmulti11[2].Text == accountNo)
                                    {
                                        IWebElement Address = TDmulti11[1].FindElement(By.TagName("a"));
                                        Address.Click();
                                    }
                                }
                            }
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_PauldingGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    else if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownerName);
                        gc.CreatePdf_WOP(orderNumber, "OwnerName Search Before", driver, "GA", "Paulding");
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "OwnerName Search After", driver, "GA", "Paulding");

                        try
                        {
                            strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results");
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Paulding_Maximum"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> ImultiTD;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD = multi.FindElements(By.TagName("td"));
                                if (ImultiTD.Count != 0 && !multi.Text.Contains("Address"))
                                {
                                    string strmultiDetails = ImultiTD[3].Text + "~" + ImultiTD[4].Text;
                                    gc.insert_date(orderNumber, ImultiTD[1].Text, 831, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_Paulding"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_PauldingGA"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    //Property Details
                    string Owner = "", OwnerAddress = "", ParcelNumber = "", AccountAndRealkey = "", LocationAddress = "", ZipCode = "", Class = "", TaxDistrict = "", MillageRate = "", Acres = "", Neighborhood = "", HomesteadExemption = "", LandlotAndDistrictAndSection = "", Subdivision = "", YearBuilt = "";
                    string Taxauthority = "";
                    try
                    {
                        Owner = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div")).Text.Trim();
                        //string[] Propdata1 = bulktext1.Split('\r');

                        //if (Propdata1.Count() == 4)
                        //{
                        //    Owner = Propdata1[0].Replace("\r\n", "").Trim() + " " + "&" + " " + Propdata1[1].Replace("\r\n", "").Trim();
                        //    OwnerAddress = Propdata1[2].Replace("\r\n", "").Trim() + " " + Propdata1[3].Replace("\r\n", "").Trim();
                        //}
                        //if (Propdata1.Count() == 3)
                        //{
                        //    Owner = Propdata1[0].Replace("\r\n", "").Trim();
                        //    OwnerAddress = Propdata1[1].Replace("\r\n", "").Trim() + Propdata1[2].Replace("\r\n", "").Trim();
                        //}
                        //if (Propdata1.Count() == 2)
                        //{
                        //    OwnerAddress = Propdata1[1].Replace("\r\n", "").Trim() + Propdata1[2].Replace("\r\n", "").Trim();
                        //}

                        ParcelNumber = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblParcelID")).Text.Trim();
                        gc.CreatePdf(orderNumber, ParcelNumber, "Property Details and Assessment Details Pdf", driver, "GA", "Paulding");
                        AccountAndRealkey            = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblRealKey")).Text.Trim();
                        LocationAddress              = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblLocationAddress")).Text.Trim();
                        ZipCode                      = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblZipCode")).Text.Trim();
                        Class                        = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblClass")).Text.Trim();
                        TaxDistrict                  = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblTaxDistrict")).Text.Trim();
                        MillageRate                  = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblMillageRate")).Text.Trim();
                        Acres                        = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAcres")).Text.Trim();
                        Neighborhood                 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblNeighborhood")).Text.Trim();
                        HomesteadExemption           = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblHomesteadExemption")).Text.Trim();
                        LandlotAndDistrictAndSection = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblLandLotDistrict")).Text.Trim();
                        try
                        {
                            Subdivision = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblSubdivision")).Text.Trim();
                        }
                        catch { }
                        try
                        {
                            YearBuilt = driver.FindElement(By.Id("ctlBodyPane_ctl05_ctl01_rptResidential_ctl00_lblYearBuilt")).Text.Trim();
                        }
                        catch { }
                    }
                    catch { }
                    //Assessment Details
                    string AssessmentYear = "";
                    try
                    {
                        AssessmentYear = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl11_ctl01_grdValuation']/thead/tr/th[3]")).Text.Trim();
                    }
                    catch { }
                    try
                    {
                        AssessmentYear = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl11_ctl01_grdValuation']/thead/tr/th")).Text.Trim();
                    }
                    catch { }
                    // gc.CreatePdf(orderNumber, ParcelNumber, "Assessment Details ", driver, "GA", "Paulding");
                    try
                    {
                        string              AssessmentTitle = "", AssessmentValue = "";//ctlBodyPane_ctl11_ctl01_grdValuation
                        IWebElement         tbcurasses12 = driver.FindElement(By.Id("ctlBodyPane_ctl11_ctl01_grdValuation"));
                        IList <IWebElement> TRcurasses2  = tbcurasses12.FindElements(By.TagName("tr"));
                        IList <IWebElement> TDmulti12;
                        foreach (IWebElement row in TRcurasses2)
                        {
                            TDmulti12 = row.FindElements(By.TagName("td"));
                            if (row.Text.Trim() != "" && TDmulti12.Count != 0 && TDmulti12.Count != 2 && !row.Text.Contains("Year"))
                            {
                                AssessmentTitle += TDmulti12[1].Text + "~";
                                AssessmentValue += TDmulti12[2].Text + "~";
                            }
                        }
                        db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year" + "~" + AssessmentTitle.Remove(AssessmentTitle.Length - 1, 1) + "' where Id = '" + 888 + "'");

                        gc.insert_date(orderNumber, ParcelNumber, 888, AssessmentYear + "~" + AssessmentValue.Remove(AssessmentValue.Length - 1, 1), 1, DateTime.Now);
                    }
                    catch { }

                    try
                    {
                        driver.Navigate().GoToUrl("http://www.paulding.gov/gov/taxcommissioner.asp");
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, ParcelNumber, "TaxAuthority Pdf", driver, "GA", "Paulding");
                        Taxauthority = driver.FindElement(By.XPath("//*[@id='divEditor1ad27fed-3cf3-4768-be2f-72f8da981da9']/div/p[2]")).Text.Trim();
                    }
                    catch { }
                    string PropertyDetails = Owner.Trim() + "~" + AccountAndRealkey.Trim() + "~" + LocationAddress.Trim() + "~" + ZipCode.Trim() + "~" + Class.Trim() + "~" + TaxDistrict.Trim() + "~" + MillageRate.Trim() + "~" + Acres.Trim() + "~" + Neighborhood.Trim() + "~" + HomesteadExemption.Trim() + "~" + LandlotAndDistrictAndSection.Trim() + "~" + Subdivision.Trim() + "~" + YearBuilt.Trim() + "~" + Taxauthority.Trim();
                    gc.insert_date(orderNumber, ParcelNumber, 885, PropertyDetails, 1, DateTime.Now);
                    //Tax information Details
                    try
                    {
                        driver.Navigate().GoToUrl("https://pauldingcountytax.com/taxes.html#/WildfireSearch");
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[2]")).SendKeys(Keys.Enter);
                            Thread.Sleep(2000);
                        }
                        catch
                        { }
                        if (AccountAndRealkey.Count() == 4)
                        {
                            driver.FindElement(By.Id("searchBox")).SendKeys("R00" + AccountAndRealkey);
                            Thread.Sleep(4000);
                        }
                        if (AccountAndRealkey.Count() == 5)
                        {
                            driver.FindElement(By.Id("searchBox")).SendKeys("R0" + AccountAndRealkey);
                            Thread.Sleep(4000);
                        }
                        driver.FindElement(By.XPath("//*[@id='searchForm']/div[1]/div/span/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, ParcelNumber, "Payment Details Pdf", driver, "GA", "Paulding");
                    }
                    catch { }
                    //Tax Payment Receipt Details Table
                    string Paymentdetails = "", TaxOwnerName = "", TaxYear = "", Bill = "", MapandParcel = "", PaidDate = "", Paid = "";

                    try
                    {
                        IWebElement PaymentTB = null;
                        try
                        {
                            PaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table"));
                        }
                        catch { }
                        try
                        {
                            if (PaymentTB == null)
                            {
                                PaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table"));
                            }
                        }
                        catch { }

                        //IWebElement PaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table"));
                        IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> PaymentTD;

                        foreach (IWebElement Payment in PaymentTR)
                        {
                            PaymentTD = Payment.FindElements(By.TagName("td"));
                            if (PaymentTD.Count != 0 && !Payment.Text.Contains("Owner Name"))
                            {
                                TaxOwnerName = PaymentTD[0].Text;
                                TaxYear      = PaymentTD[1].Text;
                                Bill         = PaymentTD[2].Text;
                                MapandParcel = PaymentTD[3].Text;
                                PaidDate     = PaymentTD[4].Text;
                                Paid         = PaymentTD[5].Text;

                                Paymentdetails = TaxOwnerName + "~" + TaxYear + "~" + Bill + "~" + MapandParcel + "~" + PaidDate + "~" + Paid;
                                gc.insert_date(orderNumber, ParcelNumber, 892, Paymentdetails, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }


                    //Tax Bill Details
                    string name = "", Taxyear = "", bill_no = "", amount = "", Del_details = "", delinaccount = "", delinparcelid = "";
                    try
                    {
                        //Tax Info Details
                        IWebElement Receipttable = null;
                        try
                        {
                            Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                        }
                        catch { }
                        try
                        {
                            if (Receipttable == null)
                            {
                                Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                            }
                        }
                        catch { }
                        //IWebElement Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                        IList <IWebElement> ReceipttableRow = Receipttable.FindElements(By.TagName("tr"));
                        int rowcount = ReceipttableRow.Count;

                        for (int p = 1; p <= rowcount; p++)
                        {
                            if (p < 4)
                            {
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr[" + p + "]/td[8]/button")).Click();
                                }
                                catch { }
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr[" + p + "]/td[8]/button")).Click();
                                }
                                catch { }
                                Thread.Sleep(2000);
                                try
                                {
                                    driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click();
                                    Thread.Sleep(2000);
                                }
                                catch
                                { }
                                gc.CreatePdf(orderNumber, ParcelNumber, "Overview & Pay Pdf" + p, driver, "GA", "Paulding");

                                Thread.Sleep(6000);
                                //View Delinquent Details
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[3]/button[4]")).Click();
                                    IWebElement         DeliquentTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tbody"));
                                    IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> DeliquentTD;

                                    foreach (IWebElement Deliquent in DeliquentTR)
                                    {
                                        DeliquentTD = Deliquent.FindElements(By.TagName("td"));
                                        if (DeliquentTD.Count != 0)
                                        {
                                            name          = DeliquentTD[0].Text.Trim();
                                            Taxyear       = DeliquentTD[1].Text.Trim();
                                            bill_no       = DeliquentTD[2].Text.Trim();
                                            delinaccount  = DeliquentTD[3].Text.Trim();
                                            delinparcelid = DeliquentTD[4].Text.Trim();
                                            amount        = DeliquentTD[6].Text.Trim();

                                            Del_details = name + "~" + Taxyear + "~" + bill_no + "~" + delinaccount + "~" + delinparcelid + "~" + amount;
                                            gc.CreatePdf(orderNumber, ParcelNumber, "Deliquent Details" + delinaccount, driver, "GA", "Paulding");
                                            gc.insert_date(orderNumber, ParcelNumber, 895, Del_details, 1, DateTime.Now);
                                            name = ""; Taxyear = ""; bill_no = ""; amount = ""; delinaccount = ""; delinparcelid = "";
                                        }
                                    }
                                }
                                catch
                                { }
                                try
                                {
                                    IWebElement         DeliquentfootTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tfoot"));
                                    IList <IWebElement> DeliquentfootTR = DeliquentfootTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> DeliquentfootTD;

                                    foreach (IWebElement Deliquentfoot in DeliquentfootTR)
                                    {
                                        DeliquentfootTD = Deliquentfoot.FindElements(By.TagName("th"));
                                        if (DeliquentfootTD.Count != 0)
                                        {
                                            string bill_no1 = DeliquentfootTD[0].Text;
                                            string amount1  = DeliquentfootTD[2].Text;

                                            string Del_details1 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + bill_no1 + "~" + amount1;
                                            gc.insert_date(orderNumber, ParcelNumber, 895, Del_details1, 1, DateTime.Now);
                                        }
                                    }
                                }
                                catch
                                { }
                                try
                                {
                                    driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click();
                                    Thread.Sleep(2000);
                                }
                                catch
                                { }
                                string Taxinfownername = "", Taxaddress1 = "", Account = "", RecordType = "", BillNumber = "", BillTaxYear = "", taxown = "", addcheck = "";
                                //Tax information details
                                IWebElement ownernamedetails = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[1]/table/tbody"));
                                string      ownernameaddress = gc.Between(ownernamedetails.Text, "Owner Name", "Account");
                                try
                                {
                                    //Bill information////*[@id="avalon"]/div/div/div/div[1]/div[1]/div[1]/table/tbody
                                    IWebElement         TaxTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[1]/table/tbody"));
                                    IList <IWebElement> TaxTR = TaxTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD;
                                    foreach (IWebElement Tax in TaxTR)
                                    {
                                        TaxTD = Tax.FindElements(By.TagName("td"));
                                        if (TaxTD.Count != 0 && Tax.Text != "")
                                        {
                                            if (Tax.Text.Contains("Account"))
                                            {
                                                Account = TaxTD[1].Text;
                                            }
                                            if (Tax.Text.Contains("Record Type"))
                                            {
                                                RecordType = TaxTD[1].Text;
                                            }
                                            if (Tax.Text.Contains("Bill Number"))
                                            {
                                                BillNumber = TaxTD[1].Text;
                                            }
                                            if (Tax.Text.Contains("Tax Year"))
                                            {
                                                BillTaxYear = TaxTD[1].Text;
                                            }
                                        }
                                    }
                                    //Property information
                                    string              Propertyid = "", Description = "";
                                    IWebElement         TaxTB2 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[1]/table/tbody"));
                                    IList <IWebElement> TaxTR2 = TaxTB2.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD2;
                                    foreach (IWebElement Tax in TaxTR2)
                                    {
                                        TaxTD2 = Tax.FindElements(By.TagName("td"));
                                        if (TaxTD2.Count != 0 && Tax.Text != "")
                                        {
                                            if (Tax.Text.Contains("Property ID"))
                                            {
                                                Propertyid = TaxTD2[1].Text;
                                            }
                                            if (Tax.Text.Contains("Description"))
                                            {
                                                Description = TaxTD2[1].Text + " ";
                                            }
                                        }
                                    }
                                    //Tax Information
                                    string              Totalorginallevy = "", Fairmarketval = "", Assessedval = "", TotaldueTax = "";
                                    IWebElement         TaxTB3 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[2]/table/tbody"));
                                    IList <IWebElement> TaxTR3 = TaxTB3.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD3;
                                    foreach (IWebElement Tax in TaxTR3)
                                    {
                                        TaxTD3 = Tax.FindElements(By.TagName("td"));
                                        if (TaxTD3.Count != 0 && Tax.Text != "")
                                        {
                                            if (Tax.Text.Contains("Total Original Levy"))
                                            {
                                                Totalorginallevy = TaxTD3[1].Text;
                                            }
                                            if (Tax.Text.Contains("Fair Market Value"))
                                            {
                                                Fairmarketval = TaxTD3[1].Text + " ";
                                            }
                                            if (Tax.Text.Contains("Assessed Value"))
                                            {
                                                Assessedval = TaxTD3[1].Text;
                                            }
                                            if (Tax.Text.Contains("Total Due"))
                                            {
                                                TotaldueTax = TaxTD3[1].Text + " ";
                                            }
                                        }
                                    }
                                    //Payment Information
                                    string              DueDate = "", PaymentStatus = "", LastPaymentDate = "", TotalAmountPaid = "", TotalDuePayment = "";
                                    IWebElement         TaxTB4 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[2]/table/tbody"));
                                    IList <IWebElement> TaxTR4 = TaxTB4.FindElements(By.TagName("tr"));
                                    IList <IWebElement> TaxTD4;
                                    foreach (IWebElement Tax in TaxTR4)
                                    {
                                        TaxTD4 = Tax.FindElements(By.TagName("td"));
                                        if (TaxTD4.Count != 0 && Tax.Text != "")
                                        {
                                            if (Tax.Text.Contains("Due Date"))
                                            {
                                                DueDate = TaxTD4[1].Text;
                                            }
                                            if (Tax.Text.Contains("Payment Status"))
                                            {
                                                PaymentStatus = TaxTD4[1].Text + " ";
                                            }
                                            if (Tax.Text.Contains("Last Payment Date"))
                                            {
                                                LastPaymentDate = TaxTD4[1].Text;
                                            }
                                            if (Tax.Text.Contains("Total Amount Paid"))
                                            {
                                                TotalAmountPaid = TaxTD4[1].Text + " ";
                                            }
                                            if (Tax.Text.Contains("Total Due"))
                                            {
                                                TotalDuePayment = TaxTD4[1].Text + " ";
                                            }
                                        }
                                    }
                                    string Taxinfo_details1 = ownernameaddress + "~" + Account + "~" + RecordType + "~" + BillNumber + "~" + BillTaxYear + "~" + Propertyid + "~" + Description + "~" + Totalorginallevy + "~" + Fairmarketval + "~" + Assessedval + "~" + TotaldueTax + "~" + DueDate + "~" + PaymentStatus + "~" + LastPaymentDate + "~" + TotalAmountPaid + "~" + TotalDuePayment;
                                    gc.insert_date(orderNumber, ParcelNumber, 897, Taxinfo_details1, 1, DateTime.Now);
                                }
                                catch { }

                                //Tax Bill

                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[2]/a")).Click();
                                Thread.Sleep(9000);
                                gc.CreatePdf(orderNumber, ParcelNumber, "Tax Bill Details" + BillTaxYear, driver, "GA", "Paulding");

                                //View And Print Receipt
                                try
                                {
                                    driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")).Click();
                                    Thread.Sleep(9000);
                                    gc.CreatePdf(orderNumber, ParcelNumber, "View Print Receipt" + BillTaxYear, driver, "GA", "Paulding");
                                }
                                catch { }
                                Thread.Sleep(5000);
                                driver.Navigate().Back();
                            }
                        }
                    }
                    catch { }
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");

                    //DALLAS
                    string PaidURL = "", UnpaidURL = "", Parcel1 = "", TaxOwner1 = "", DALAddress1 = "", Type = "", Type1 = "", TaxParcelYear1 = "", ReceiptNumber1 = "", Taxablevalue1 = "", Taxespaid11 = "", Taxespaid = "", PaymentDate1 = "";
                    string Parcel = "", TaxOwner = "", DALAddress = "", Types = "", TaxParcelYear = "", ReceiptNumber = "", Taxablevalue = "", Taxespaid1 = "", PaymentDate = "", TaxDueAmount = "";
                    try
                    {
                        if (TaxDistrict.Contains("DALLAS"))
                        {
                            HttpContext.Current.Session["PauldingGA_City"] = "DALLAS";
                            driver.Navigate().GoToUrl("https://www.municipalonlinepayments.com/dallasga/tax/search");
                            Thread.Sleep(5000);

                            try
                            {
                                IWebElement         IAddressSearch1 = driver.FindElement(By.LinkText("Parcel"));
                                IJavaScriptExecutor js1             = driver as IJavaScriptExecutor;
                                js1.ExecuteScript("arguments[0].click();", IAddressSearch1);
                            }
                            catch { }
                            try
                            {
                                IWebElement IAddressSearch1 = driver.FindElement(By.LinkText("Parcel"));
                                IAddressSearch1.Click();
                            }
                            catch { }
                            Thread.Sleep(2000);
                            driver.FindElement(By.Id("ParcelNumber")).SendKeys("0" + AccountAndRealkey);
                            gc.CreatePdf(orderNumber, ParcelNumber, "City TAX Details Enter Before Pdf", driver, "GA", "Paulding");

                            try
                            {
                                IWebElement         IAddressSearch2 = driver.FindElement(By.XPath("//*[@id='Parcel']/form/div[2]/button"));
                                IJavaScriptExecutor js2             = driver as IJavaScriptExecutor;
                                js2.ExecuteScript("arguments[0].click();", IAddressSearch2);
                            }
                            catch { }

                            try
                            {
                                IWebElement IAddressSearch2 = driver.FindElement(By.XPath("//*[@id='Parcel']/form/div[2]/button"));
                                IAddressSearch2.Click();
                            }
                            catch { }
                            Thread.Sleep(2000);
                            gc.CreatePdf(orderNumber, ParcelNumber, "City TAX Details Enter After Pdf", driver, "GA", "Paulding");


                            IWebElement         TaxTB4 = driver.FindElement(By.Id("search_results"));
                            IList <IWebElement> TaxTR4 = TaxTB4.FindElements(By.TagName("li"));
                            IList <IWebElement> TaxTD4;
                            foreach (IWebElement Tax in TaxTR4)
                            {
                                TaxTD4 = Tax.FindElements(By.TagName("a"));
                                if (TaxTD4.Count != 0)
                                {
                                    if (Tax.Text.Contains("Paid"))
                                    {
                                        try
                                        {
                                            PaidURL = TaxTD4[0].GetAttribute("href");
                                            TaxTD4[0].Click();
                                            Thread.Sleep(1000);
                                            //Taxinfo Paid Details

                                            IWebElement         Taxpaiddetails   = driver.FindElement(By.XPath("//*[@id='paidTable']/tbody"));
                                            IList <IWebElement> TRTaxpaiddetails = Taxpaiddetails.FindElements(By.TagName("tr"));
                                            IList <IWebElement> TDTax;
                                            foreach (IWebElement Taxess in TRTaxpaiddetails)
                                            {
                                                TDTax = Taxess.FindElements(By.TagName("td"));
                                                if (TDTax.Count != 0 && TDTax.Count == 6 && !Taxess.Text.Contains("No paid Parcels found.") && Taxess.Text.Trim() != (""))
                                                {
                                                    if (Taxess.Text.Contains("Parcel Number"))
                                                    {
                                                        Parcel1     = gc.Between(TDTax[0].Text, "Parcel Number:", "Owner:").Trim();
                                                        TaxOwner1   = gc.Between(TDTax[0].Text, "Owner:", "Address:").Trim();
                                                        DALAddress1 = gc.Between(TDTax[0].Text, "Address:", "Type:").Trim();
                                                        Type1       = GlobalClass.After(TDTax[0].Text, "\r\nType:").Trim();
                                                    }

                                                    TaxParcelYear1 = TDTax[1].Text.Trim();
                                                    ReceiptNumber1 = TDTax[2].Text.Trim();
                                                    Taxablevalue1  = TDTax[4].Text.Trim();
                                                    Taxespaid11    = TDTax[5].Text.Trim();

                                                    Taxespaid1   = GlobalClass.Before(Taxespaid11, "\r\n").Trim();
                                                    PaymentDate1 = GlobalClass.After(Taxespaid11, "\r\n").Trim();
                                                    string cityTaxauthority = "Property Tax Office is Located at 200 Main Street Contact Us 770 443-8108";

                                                    string Taxinfo_Dallasdetailspaid = Parcel1.Trim() + "~" + TaxOwner1.Trim() + "~" + DALAddress1 + "~" + Type1 + "~" + TaxParcelYear1 + "~" + ReceiptNumber1 + "~" + Taxablevalue1 + "~" + Taxespaid1 + "~" + PaymentDate1 + "~" + cityTaxauthority;
                                                    gc.insert_date(orderNumber, ParcelNumber, 912, Taxinfo_Dallasdetailspaid, 1, DateTime.Now);
                                                }
                                            }
                                            gc.CreatePdf(orderNumber, ParcelNumber, "City TAX Paid Pdf", driver, "GA", "Paulding");
                                        }
                                        catch
                                        {
                                        }
                                    }
                                    if (Tax.Text.Contains("Unpaid"))
                                    {
                                        try
                                        {
                                            UnpaidURL = TaxTD4[0].GetAttribute("href");
                                            TaxTD4[0].Click();

                                            //Tax info Unpaid Details


                                            IWebElement         TaxUnpaiddetails   = driver.FindElement(By.XPath("//*[@id='unpaid']/form/table/tbody"));
                                            IList <IWebElement> TRTaxunpaiddetails = TaxUnpaiddetails.FindElements(By.TagName("tr"));
                                            IList <IWebElement> TDTaxunpaid;
                                            foreach (IWebElement Taxesss in TRTaxunpaiddetails)
                                            {
                                                TDTaxunpaid = Taxesss.FindElements(By.TagName("td"));
                                                if (TDTaxunpaid.Count != 0 && TDTaxunpaid.Count == 8 && !Taxesss.Text.Contains("No unpaid Parcels found.") && Taxesss.Text.Trim() != (""))
                                                {
                                                    if (Taxesss.Text.Contains("Parcel Number"))
                                                    {
                                                        Parcel     = gc.Between(TDTaxunpaid[0].Text, "Parcel Number:", "Owner:").Trim();
                                                        TaxOwner   = gc.Between(TDTaxunpaid[0].Text, "Owner:", "Address:").Trim();
                                                        DALAddress = gc.Between(TDTaxunpaid[0].Text, "Address:", "Type:").Trim();
                                                        Types      = GlobalClass.After(TDTaxunpaid[0].Text, "\r\nType:").Trim();
                                                    }
                                                    TaxParcelYear = TDTaxunpaid[1].Text.Trim();
                                                    ReceiptNumber = TDTaxunpaid[2].Text.Trim();
                                                    Taxablevalue  = TDTaxunpaid[4].Text.Trim();
                                                    TaxDueAmount  = TDTaxunpaid[6].Text.Trim();
                                                    string cityTaxauthority            = "Property Tax Office is Located at 200 Main Street Contact Us 770 443-8108";
                                                    string Taxinfo_DallasdetailsUnpaid = Parcel.Trim() + "~" + TaxOwner.Trim() + "~" + DALAddress + "~" + Types + "~" + TaxParcelYear + "~" + ReceiptNumber + "~" + Taxablevalue + "~" + TaxDueAmount + "~" + cityTaxauthority;
                                                    gc.insert_date(orderNumber, ParcelNumber, 913, Taxinfo_DallasdetailsUnpaid, 1, DateTime.Now);
                                                }
                                            }
                                            gc.CreatePdf(orderNumber, ParcelNumber, "City TAX UnPaid Pdf", driver, "GA", "Paulding");
                                        }
                                        catch (Exception ex)
                                        {
                                            driver.Quit();
                                            GlobalClass.LogError(ex, orderNumber);
                                            throw ex;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    catch { }

                    CitytaxTime = DateTime.Now.ToString("HH:mm:ss");

                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "GA", "Paulding", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);


                    driver.Quit();
                    gc.mergpdf(orderNumber, "GA", "Paulding");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Esempio n. 4
0
        public string FTP_TXTravis(string streetno, string direction, string streetname, string city, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string Account_id)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;

            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";

            var driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new PhantomJSDriver();
            //driver = new ChromeDriver();
            using (driver = new PhantomJSDriver())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");

                    if (searchType == "titleflex")
                    {
                        string titleaddress = streetno + " " + streetname + " " + unitnumber;
                        gc.TitleFlexSearch(orderNumber, parcelNumber, "", titleaddress, "TX", "Travis");
                        if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Nodata_TXTravis"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1");
                        Thread.Sleep(2000);
                        //var Select1 = driver.FindElement(By.Id("propertySearchOptions_taxyear"));
                        //var selectElement11 = new SelectElement(Select1);
                        //selectElement11.SelectByIndex(1);
                        //Thread.Sleep(2000);
                        driver.FindElement(By.Id("propertySearchOptions_advanced")).Click();
                        Thread.Sleep(2000);

                        //Address = streetno + " " + streetname;
                        driver.FindElement(By.Id("propertySearchOptions_streetNumber")).SendKeys(streetno);
                        driver.FindElement(By.Id("propertySearchOptions_streetName")).SendKeys(streetname);
                        //driver.FindElement(By.Id("propertySearchOptions_searchText")).SendKeys(Address);
                        gc.CreatePdf_WOP(orderNumber, "address search", driver, "TX", "Travis");
                        driver.FindElement(By.Id("propertySearchOptions_searchAdv")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        try
                        {
                            ChkMulti = driver.FindElement(By.XPath("//*[@id='pageTitle']/h2")).Text;
                            ChkMulti = WebDriverTest.Between(ChkMulti, "Property Search Results > ", " for");

                            if (ChkMulti == "1 - 1 of 1")
                            {
                                driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click();
                                Thread.Sleep(2000);
                                gc.CreatePdf_WOP(orderNumber, "Single Address search", driver, "TX", "Travis");
                            }
                            else
                            {
                                try
                                {
                                    IWebElement         MultiAddressTB = driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody"));
                                    IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> MultiAddressTD;
                                    gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "TX", "Travis");
                                    int AddressmaxCheck = 0;
                                    foreach (IWebElement MultiAddress in MultiAddressTR)
                                    {
                                        if (AddressmaxCheck <= 25 && MultiAddressTR.Count > 2)
                                        {
                                            MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                            if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Mobile Home") && !MultiAddress.Text.Contains("     ") && !MultiAddress.Text.Contains("Page:   1"))
                                            {
                                                Parcelno         = MultiAddressTD[1].Text;
                                                Multi_Type       = MultiAddressTD[3].Text;
                                                Property_Address = MultiAddressTD[4].Text;
                                                Owner            = MultiAddressTD[6].Text;

                                                MultiAddress_details = Multi_Type + "~" + Property_Address + "~" + Owner;
                                                gc.insert_date(orderNumber, Parcelno, 1058, MultiAddress_details, 1, DateTime.Now);
                                            }
                                            AddressmaxCheck++;
                                        }
                                    }
                                    if (MultiAddressTR.Count <= 2)
                                    {
                                        HttpContext.Current.Session["Nodata_TXTravis"] = "Yes";
                                        driver.Quit();
                                        return("No Data Found");
                                    }
                                    if (MultiAddressTR.Count > 25)
                                    {
                                        HttpContext.Current.Session["multiParcel_TXTravis_Multicount"] = "Maximum";
                                    }
                                    else
                                    {
                                        HttpContext.Current.Session["multiParcel_TXTravis"] = "Yes";
                                    }
                                    driver.Quit();
                                    return("MultiParcel");
                                }
                                catch
                                { }
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1");
                        Thread.Sleep(2000);
                        //driver.FindElement(By.Id("propertySearchOptions_advanced")).Click();
                        //Thread.Sleep(2000);
                        driver.FindElement(By.Id("propertySearchOptions_searchText")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "TX", "Travis");

                        driver.FindElement(By.Id("propertySearchOptions_search")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1");
                        Thread.Sleep(2000);
                        driver.FindElement(By.Id("propertySearchOptions_advanced")).Click();
                        Thread.Sleep(2000);
                        driver.FindElement(By.Id("propertySearchOptions_ownerName")).SendKeys(ownernm);
                        gc.CreatePdf_WOP(orderNumber, "owner search", driver, "TX", "Travis");

                        driver.FindElement(By.Id("propertySearchOptions_searchAdv")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        try
                        {
                            ChkMulti = driver.FindElement(By.XPath("//*[@id='pageTitle']/h2")).Text;
                            ChkMulti = WebDriverTest.Between(ChkMulti, "Property Search Results > ", " for");

                            if (ChkMulti == "1 - 1 of 1")
                            {
                                driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click();
                                Thread.Sleep(2000);
                                gc.CreatePdf_WOP(orderNumber, "Single Owner search", driver, "TX", "Travis");
                            }
                            else
                            {
                                try
                                {
                                    IWebElement         MultiAddressTB = driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody"));
                                    IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> MultiAddressTD;
                                    gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "TX", "Travis");
                                    int AddressmaxCheck = 0;
                                    foreach (IWebElement MultiAddress in MultiAddressTR)
                                    {
                                        if (AddressmaxCheck <= 25)
                                        {
                                            MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                            if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Mobile Home") && !MultiAddress.Text.Contains("     ") && !MultiAddress.Text.Contains("Page:   1"))
                                            {
                                                Parcelno         = MultiAddressTD[1].Text;
                                                Multi_Type       = MultiAddressTD[3].Text;
                                                Property_Address = MultiAddressTD[4].Text;
                                                Owner            = MultiAddressTD[6].Text;

                                                MultiAddress_details = Multi_Type + "~" + Property_Address + "~" + Owner;
                                                gc.insert_date(orderNumber, Parcelno, 1058, MultiAddress_details, 1, DateTime.Now);
                                            }
                                            AddressmaxCheck++;
                                        }
                                    }
                                    if (MultiAddressTR.Count > 25)
                                    {
                                        HttpContext.Current.Session["multiParcel_TXTravis_Multicount"] = "Maximum";
                                    }
                                    else
                                    {
                                        HttpContext.Current.Session["multiParcel_TXTravis"] = "Yes";
                                    }
                                    driver.Quit();
                                    return("MultiParcel");
                                }
                                catch
                                { }
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "block")
                    {
                        driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1");
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("propertySearchOptions_searchText")).SendKeys(Account_id);
                        gc.CreatePdf_WOP(orderNumber, "Account Number Search ", driver, "TX", "Travis");

                        driver.FindElement(By.Id("propertySearchOptions_search")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }
                    }

                    try
                    {
                        IWebElement INodata = driver.FindElement(By.Id("propertySearchResults_pageHeading"));
                        if (INodata.Text.Contains("None found"))
                        {
                            HttpContext.Current.Session["Nodata_TXTravis"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }

                    //property details
                    try
                    {
                        fulltext         = driver.FindElement(By.XPath("//*[@id='propertyDetails']/table/tbody")).Text.Replace("\r\n", " ");
                        PropertyID       = gc.Between(fulltext, "Account Property ID: ", " Legal Description: ");
                        GeographicID     = gc.Between(fulltext, "Geographic ID: ", " Zoning: ");
                        Type             = gc.Between(fulltext, "Type: ", " Agent Code: ");
                        LegalDescription = gc.Between(fulltext, " Legal Description: ", " Geographic ID: ");
                        ProAddress       = gc.Between(fulltext, "Location Address: ", " Mapsco: ");
                        try
                        {
                            Neighborhood = gc.Between(fulltext, "Neighborhood: ", " Map ID: ");
                        }
                        catch
                        { }
                        NeighborhoodCD = gc.Between(fulltext, " Neighborhood CD: ", " Owner Name: ");
                        MapID          = gc.Between(fulltext, "Map ID: ", " Neighborhood CD: ");
                        Name           = gc.Between(fulltext, "Owner Name: ", " Owner ID: ");
                        MailingAddress = gc.Between(fulltext, "Mailing Address: ", " % Ownership:");
                        OwnerID        = gc.Between(fulltext, "Owner ID: ", " Mailing Address: ");
                        Exemptions     = GlobalClass.After(fulltext, "Exemptions: ");
                        gc.CreatePdf(orderNumber, PropertyID, "Property Info1", driver, "TX", "Travis");
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='improvementBuilding']")).Click();
                            Thread.Sleep(2000);
                            YearBuilt = driver.FindElement(By.XPath("//*[@id='improvementBuildingDetails']/table[2]/tbody/tr[2]/td[6]")).Text;
                            gc.CreatePdf(orderNumber, PropertyID, "Property Info2", driver, "TX", "Travis");
                        }
                        catch { }

                        try
                        {
                            driver.FindElement(By.Id("land")).Click();
                            Thread.Sleep(2000);
                            Acres = driver.FindElement(By.XPath("//*[@id='landDetails']/table/tbody/tr[2]/td[4]")).Text;
                            gc.CreatePdf(orderNumber, PropertyID, "Property Info3", driver, "TX", "Travis");
                        }
                        catch { }

                        property_details = GeographicID + "~" + Type + "~" + LegalDescription + "~" + ProAddress + "~" + Neighborhood + "~" + NeighborhoodCD + "~" + MapID + "~" + Name + "~" + MailingAddress + "~" + OwnerID + "~" + Exemptions + "~" + YearBuilt + "~" + Acres;
                        gc.insert_date(orderNumber, PropertyID, 1074, property_details, 1, DateTime.Now);
                    }
                    catch
                    { }

                    //Assessment Details
                    try
                    {
                        driver.FindElement(By.Id("values")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, PropertyID, "Value Info", driver, "TX", "Travis");
                        IWebElement         AssessmentTable = driver.FindElement(By.XPath("//*[@id='valuesDetails']/table/tbody"));
                        IList <IWebElement> AssessmentTR    = AssessmentTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> AssessmentTD;
                        foreach (IWebElement Assessment in AssessmentTR)
                        {
                            AssessmentTD = Assessment.FindElements(By.TagName("td"));
                            if (AssessmentTD.Count != 0 && AssessmentTD[0].Text != " ")
                            {
                                ValueDetails = AssessmentTD[0].Text.Trim() + "~" + AssessmentTD[1].Text.Trim() + "~" + AssessmentTD[2].Text.Trim() + "~" + AssessmentTD[3].Text.Trim();
                                gc.insert_date(orderNumber, PropertyID, 1076, ValueDetails, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Taxing Jurisdiction Details
                    try
                    {
                        driver.FindElement(By.Id("taxingJurisdiction")).Click();
                        Thread.Sleep(2000);

                        fulltext1     = driver.FindElement(By.XPath("//*[@id='taxingJurisdictionDetails']/table[1]/tbody")).Text.Replace("\r\n", " ");
                        owner         = gc.Between(fulltext1, "Owner:", "% Ownership:");
                        Ownership     = gc.Between(fulltext1, "% Ownership:", "Total Value:");
                        TotalValue    = GlobalClass.After(fulltext1, "Total Value:");
                        ValueDetails1 = owner + "~" + Ownership + "~" + TotalValue + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "";
                        gc.insert_date(orderNumber, PropertyID, 1078, ValueDetails1, 1, DateTime.Now);
                        gc.CreatePdf(orderNumber, PropertyID, "Jurisdiction Info", driver, "TX", "Travis");
                        IWebElement         JurisdictionTable = driver.FindElement(By.XPath("//*[@id='taxingJurisdictionDetails']/table[2]/tbody"));
                        IList <IWebElement> JurisdictionTR    = JurisdictionTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> JurisdictionTD;
                        foreach (IWebElement row in JurisdictionTR)
                        {
                            JurisdictionTD = row.FindElements(By.TagName("td"));
                            if (JurisdictionTD.Count != 0)
                            {
                                ValueDetails1 = " " + "~" + " " + "~" + " " + "~" + JurisdictionTD[0].Text.Trim() + "~" + JurisdictionTD[1].Text.Trim() + "~" + JurisdictionTD[2].Text.Trim() + "~" + JurisdictionTD[3].Text.Trim() + "~" + JurisdictionTD[4].Text.Trim() + "~" + JurisdictionTD[5].Text.Trim();
                                gc.insert_date(orderNumber, PropertyID, 1078, ValueDetails1, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Roll Value History Details
                    try
                    {
                        driver.FindElement(By.Id("rollHistory")).Click();
                        Thread.Sleep(2000);
                        IWebElement         RollTable = driver.FindElement(By.XPath("//*[@id='rollHistoryDetails']/table/tbody"));
                        IList <IWebElement> RollTR    = RollTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> RollTD;

                        foreach (IWebElement Roll in RollTR)
                        {
                            RollTD = Roll.FindElements(By.TagName("td"));
                            if (RollTD.Count != 0)
                            {
                                rollDetails = RollTD[0].Text.Trim() + "~" + RollTD[1].Text.Trim() + "~" + RollTD[2].Text.Trim() + "~" + RollTD[3].Text.Trim() + "~" + RollTD[4].Text.Trim() + "~" + RollTD[5].Text.Trim() + "~" + RollTD[6].Text.Trim();
                                gc.insert_date(orderNumber, PropertyID, 1077, rollDetails, 1, DateTime.Now);
                                gc.CreatePdf(orderNumber, PropertyID, "Roll Info", driver, "TX", "Travis");
                            }
                        }
                    }
                    catch
                    { }
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    driver.Navigate().GoToUrl("https://travis.go2gov.net/cart/search/quickSearch.do");
                    Thread.Sleep(2000);

                    driver.FindElement(By.XPath("//*[@id='quickSearchForm']/input[6]")).SendKeys(GeographicID);
                    gc.CreatePdf(orderNumber, GeographicID, "Tax Search Info", driver, "TX", "Travis");
                    driver.FindElement(By.XPath("//*[@id='quickSearchForm']/button")).SendKeys(Keys.Enter);
                    Thread.Sleep(2000);

                    driver.FindElement(By.XPath("/html/body/div[3]/form[1]/div/table/tbody/tr/td/center/table/tbody/tr[3]/td[3]/span/a")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, GeographicID, "Tax Info", driver, "TX", "Travis");
                    try
                    {
                        //Tax Bill Details
                        Account       = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]")).Text;
                        Tax_Owner     = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]")).Text;
                        Tax_Mailing   = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[3]")).Text;
                        Tax_LegalDesp = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[4]")).Text;

                        try
                        {
                            Tax_Year        = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]")).Text;
                            Base_Due        = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]")).Text;
                            Penalty_Interst = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[3]")).Text;
                            OtherFee        = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[4]")).Text;
                            Tax_Total       = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[5]")).Text;
                        }
                        catch
                        { }

                        try
                        {
                            string Previous_Year = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[3]/td/table/thead/tr/th")).Text;
                            Previous_Year = WebDriverTest.After(Previous_Year, "Previous Tax Year ");

                            if (Previous_Year == "Taxes Due")
                            {
                                try
                                {
                                    Tax_Year        = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]")).Text;
                                    Base_Due        = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]")).Text;
                                    Penalty_Interst = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[3]")).Text;
                                    OtherFee        = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[4]")).Text;
                                    Tax_Total       = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[5]")).Text;
                                }
                                catch
                                { }

                                //Deliquent Details
                                driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm:_idJsp89']")).Click();
                                Thread.Sleep(2000);

                                IWebElement         DeliquentTB = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp81']/tbody"));
                                IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> DeliquentTD;
                                gc.CreatePdf(orderNumber, GeographicID, "Deliquent Info", driver, "TX", "Travis");
                                foreach (IWebElement Deliquent in DeliquentTR)
                                {
                                    DeliquentTD = Deliquent.FindElements(By.TagName("td"));
                                    if (DeliquentTD.Count != 0)
                                    {
                                        Deliquent_Year    = DeliquentTD[0].Text;
                                        Deliquent_Base    = DeliquentTD[1].Text;
                                        Deliquent_Intrest = DeliquentTD[2].Text;
                                        Deliquent_Fees    = DeliquentTD[3].Text;
                                        Deliquent_Total   = DeliquentTD[4].Text;

                                        Deliquent_Details = Deliquent_Year + "~" + Deliquent_Base + "~" + Deliquent_Intrest + "~" + Deliquent_Fees + "~" + Deliquent_Total;
                                        gc.insert_date(orderNumber, GeographicID, 1095, Deliquent_Details, 1, DateTime.Now);
                                    }
                                }

                                IWebElement         DeliquentTB1 = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp81']/tfoot/tr/td/table/tbody/tr[2]/td/table/tbody"));
                                IList <IWebElement> DeliquentTR1 = DeliquentTB1.FindElements(By.TagName("tr"));
                                IList <IWebElement> DeliquentTD1;

                                foreach (IWebElement Deliquent1 in DeliquentTR1)
                                {
                                    DeliquentTD1 = Deliquent1.FindElements(By.TagName("td"));
                                    if (DeliquentTD1.Count != 0)
                                    {
                                        Deliquent_Year1    = DeliquentTD1[0].Text;
                                        Deliquent_Base1    = DeliquentTD1[1].Text;
                                        Deliquent_Intrest1 = DeliquentTD1[2].Text;
                                        Deliquent_Fees1    = DeliquentTD1[3].Text;
                                        Deliquent_Total1   = DeliquentTD1[4].Text;

                                        Deliquent_Details1 = Deliquent_Year1 + "~" + Deliquent_Base1 + "~" + Deliquent_Intrest1 + "~" + Deliquent_Fees1 + "~" + Deliquent_Total1;
                                        gc.insert_date(orderNumber, GeographicID, 1095, Deliquent_Details1, 1, DateTime.Now);
                                    }
                                }
                                driver.Navigate().Back();
                                Thread.Sleep(2000);
                            }

                            Deliquent_Comments = "For prior year tax amount due, you must call the Collector's Office.";
                        }
                        catch
                        { }
                    }
                    catch
                    { }

                    //Taxing Unit Details
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm:_idJsp73']")).Click();
                        Thread.Sleep(2000);

                        try
                        {
                            Taxyear_detail  = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm']/table/tbody/tr[3]/td")).Text;
                            TaxYear_Details = Taxyear_detail + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "";
                            gc.insert_date(orderNumber, GeographicID, 1089, TaxYear_Details, 1, DateTime.Now);
                        }
                        catch
                        { }
                        IWebElement         TaxUnitTB = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp83']/tbody"));
                        IList <IWebElement> TaxUnitTR = TaxUnitTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> TaxUnitTD;
                        gc.CreatePdf(orderNumber, GeographicID, "Tax Unit Info", driver, "TX", "Travis");
                        foreach (IWebElement TaxUnit in TaxUnitTR)
                        {
                            TaxUnitTD = TaxUnit.FindElements(By.TagName("td"));
                            if (TaxUnitTD.Count != 0)
                            {
                                Tax_Unit    = TaxUnitTD[0].Text;
                                Assed_Value = TaxUnitTD[1].Text;
                                NetTaxb_Val = TaxUnitTD[2].Text;
                                Basedue_Val = TaxUnitTD[3].Text;
                                Penalty_Val = TaxUnitTD[4].Text;
                                Attrney_Val = TaxUnitTD[5].Text;
                                Total_Val   = TaxUnitTD[6].Text;

                                TaxUnit_Details = "" + "~" + Tax_Unit + "~" + Assed_Value + "~" + NetTaxb_Val + "~" + Basedue_Val + "~" + Penalty_Val + "~" + Attrney_Val + "~" + Total_Val;
                                gc.insert_date(orderNumber, GeographicID, 1089, TaxUnit_Details, 1, DateTime.Now);
                            }
                        }

                        IWebElement         TaxUnitTB1 = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp83']/tfoot/tr/td/table/tbody/tr[2]/td/table/tbody"));
                        IList <IWebElement> TaxUnitTR1 = TaxUnitTB1.FindElements(By.TagName("tr"));
                        IList <IWebElement> TaxUnitTD1;

                        foreach (IWebElement TaxUnit1 in TaxUnitTR1)
                        {
                            TaxUnitTD1 = TaxUnit1.FindElements(By.TagName("td"));
                            if (TaxUnitTD1.Count != 0)
                            {
                                Tax_Unit1    = TaxUnitTD1[0].Text;
                                Assed_Value1 = TaxUnitTD1[1].Text;
                                NetTaxb_Val1 = TaxUnitTD1[2].Text;
                                Basedue_Val1 = TaxUnitTD1[3].Text;
                                Penalty_Val1 = TaxUnitTD1[4].Text;
                                Attrney_Val1 = TaxUnitTD1[5].Text;
                                Total_Val1   = TaxUnitTD1[6].Text;

                                TaxUnit_Details1 = "" + "~" + Tax_Unit1 + "~" + Assed_Value1 + "~" + NetTaxb_Val1 + "~" + Basedue_Val1 + "~" + Penalty_Val1 + "~" + Attrney_Val1 + "~" + Total_Val1;
                                gc.insert_date(orderNumber, GeographicID, 1089, TaxUnit_Details1, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Payment Details
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='quickSearchSubView:quickSearchForm:_idJsp38']")).Click();
                        Thread.Sleep(2000);

                        IWebElement         TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='legalPaymentHistorySubView:legalPaymentHistoryForm:data']/tbody"));
                        IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> TaxPaymentTD;
                        gc.CreatePdf(orderNumber, GeographicID, "Tax Payment Info", driver, "TX", "Travis");
                        foreach (IWebElement TaxPayment in TaxPaymentTR)
                        {
                            TaxPaymentTD = TaxPayment.FindElements(By.TagName("td"));
                            if (TaxPaymentTD.Count != 0)
                            {
                                Receipt               = TaxPaymentTD[0].Text;
                                Receipt_Taxyear       = TaxPaymentTD[1].Text;
                                Receipt_PaymentDate   = TaxPaymentTD[2].Text;
                                Receipt_PaymentAmount = TaxPaymentTD[3].Text;

                                TaxPayment_Details = Receipt + "~" + Receipt_Taxyear + "~" + Receipt_PaymentDate + "~" + Receipt_PaymentAmount;
                                gc.insert_date(orderNumber, GeographicID, 1094, TaxPayment_Details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    List <string> ReceiptInfoTab = new List <string>();
                    try
                    {
                        var chromeOptions     = new ChromeOptions();
                        var downloadDirectory = ConfigurationManager.AppSettings["AutoPdf"];
                        chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory);
                        chromeOptions.AddUserProfilePreference("download.prompt_for_download", false);
                        chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
                        chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true);
                        var driver1 = new ChromeDriver(chromeOptions);
                        driver1.Navigate().GoToUrl(driver.Url);

                        for (int j = 0; j < 3; j++)
                        {
                            IWebElement Receipttable = driver1.FindElement(By.XPath("//*[@id='legalPaymentHistorySubView:legalPaymentHistoryForm:data:" + j + ":_idJsp87']"));
                            string      BillTax2     = Receipttable.GetAttribute("href");
                            Receipttable.Click();
                            Thread.Sleep(3000);
                            var      files       = new DirectoryInfo(downloadDirectory).GetFiles("*.*");
                            string   latestfile  = "";
                            DateTime lastupdated = DateTime.MinValue;
                            foreach (FileInfo file in files)
                            {
                                if (file.LastWriteTime > lastupdated)
                                {
                                    lastupdated = file.LastWriteTime;
                                    latestfile  = file.Name;
                                }
                            }
                            gc.AutoDownloadFile(orderNumber, parcelNumber, "Travis", "TX", latestfile);
                        }

                        //Bill Download
                        try
                        {
                            IWebElement OriginalTaxBill = driver1.FindElement(By.Id("quickSearchSubView:quickSearchForm:_idJsp41"));
                            OriginalTax = OriginalTaxBill.GetAttribute("href");
                            string Original_Tax = gc.Between(OriginalTax, ".net/", "?").Trim();
                            OriginalTaxBill.Click();
                            Thread.Sleep(3000);
                            gc.AutoDownloadFileSpokane(orderNumber, parcelNumber, "Travis", "TX", Original_Tax + ".pdf");
                        }
                        catch
                        { }

                        try
                        {
                            IWebElement PriceTaxBill = driver1.FindElement(By.Id("quickSearchSubView:quickSearchForm:_idJsp47"));
                            PriceTax = PriceTaxBill.GetAttribute("href");
                            string priceTax_Bill = gc.Between(PriceTax, ".net/", "?").Trim();
                            PriceTaxBill.Click();
                            Thread.Sleep(3000);
                            gc.AutoDownloadFileSpokane(orderNumber, parcelNumber, "Travis", "TX", priceTax_Bill + ".pdf");
                        }
                        catch
                        { }

                        try
                        {
                            IWebElement CurrentTaxBill = driver1.FindElement(By.Id("quickSearchSubView:quickSearchForm:_idJsp50"));
                            CurrentTax = CurrentTaxBill.GetAttribute("href");
                            string Current_TaxBill = gc.Between(CurrentTax, ".net/", "?").Trim();
                            CurrentTaxBill.Click();
                            Thread.Sleep(3000);
                            gc.AutoDownloadFileSpokane(orderNumber, parcelNumber, "Travis", "TX", Current_TaxBill + ".pdf");
                        }
                        catch
                        { }

                        driver1.Quit();
                    }
                    catch
                    { }

                    try
                    {
                        driver.Navigate().GoToUrl("https://tax-office.traviscountytx.gov/contact");
                        Thread.Sleep(2000);

                        MainNumber = driver.FindElement(By.XPath("//*[@id='tab1']/div/div/p[1]")).Text;
                        MainNumber = WebDriverTest.Before(MainNumber, " Monday - Friday");

                        driver.FindElement(By.XPath("//*[@id='container']/div/div[2]/div/ul/li[2]/a")).Click();
                        Thread.Sleep(1000);
                        gc.CreatePdf(orderNumber, GeographicID, "Tax Authority", driver, "TX", "Travis");
                        Authotity     = driver.FindElement(By.XPath("//*[@id='tab2']/div/div/p[3]")).Text;
                        Tax_Authority = Authotity + " " + MainNumber;
                    }
                    catch
                    { }

                    ValueDetails1 = Tax_Year + "~" + Account + "~" + Tax_Owner + "~" + Tax_Mailing + "~" + Tax_LegalDesp + "~" + Base_Due + "~" + Penalty_Interst + "~" + OtherFee + "~" + Tax_Total + "~" + Tax_Authority + "~" + Deliquent_Comments;
                    gc.insert_date(orderNumber, GeographicID, 1079, ValueDetails1, 1, DateTime.Now);
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");

                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "TX", "Travis", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);

                    driver.Quit();
                    gc.mergpdf(orderNumber, "TX", "Travis");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw;
                }
            }
        }