Ejemplo 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;
                }
            }
        }
Ejemplo n.º 2
0
        public string FTP_FLMarion(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;
            List <string> mcheck = new List <string>();

            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")
                    {
                        titleaddress = address;
                        titleOwner   = ownername;
                        gc.TitleFlexSearch(orderNumber, "", ownername, titleaddress, "FL", "Marion");

                        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_FLMarion"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx");
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_0")).Click();
                        Thread.Sleep(2000);

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

                        driver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter);
                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Marion");
                        Thread.Sleep(2000);

                        try
                        {
                            IWebElement         MultiAddressTB = driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody"));
                            IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiAddressTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "FL", "Marion");

                            if (MultiAddressTR.Count == 1)
                            {
                                driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click();
                                Thread.Sleep(4000);
                            }

                            else
                            {
                                int    AddressmaxCheck = 0;
                                string xpath           = "";
                                int    m = 1;
                                foreach (IWebElement MultiAddress in MultiAddressTR)
                                {
                                    if (AddressmaxCheck <= 25)
                                    {
                                        MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                        if (MultiAddressTD.Count != 0 && MultiAddress.Text.Contains(address.ToUpper()))
                                        {
                                            IWebElement Parcelno1 = MultiAddressTD[0].FindElement(By.TagName("a"));
                                            Parcelno         = Parcelno1.Text;
                                            Owner            = MultiAddressTD[1].Text;
                                            Property_Address = MultiAddressTD[2].Text;

                                            MultiAddress_details = Owner + "~" + Property_Address;
                                            gc.insert_date(orderNumber, Parcelno, 672, MultiAddress_details, 1, DateTime.Now);

                                            xpath = "//*[@id='srch']/table[1]/tbody/tr[" + m + "]/td[1]/a";
                                            mcheck.Add(MultiAddressTD[0].Text.Trim());
                                        }
                                        m++;
                                    }
                                    AddressmaxCheck++;
                                }
                                if (mcheck.Count == 1)
                                {
                                    driver.FindElement(By.XPath(xpath)).Click();
                                    Thread.Sleep(4000);
                                }
                                else
                                {
                                    if (MultiAddressTR.Count > 25)
                                    {
                                        HttpContext.Current.Session["multiParcel_FLMarion_Multicount"] = "Maximum";
                                        driver.Quit();
                                        return("Maximum");
                                    }
                                    else
                                    {
                                        HttpContext.Current.Session["multiparcel_FLMarion"] = "Yes";
                                        driver.Quit();
                                        return("MultiParcel");
                                    }
                                }
                            }
                        }
                        catch
                        { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("srch")).Text;
                            if (nodata.Contains("0 records found. End of search reached."))
                            {
                                HttpContext.Current.Session["Nodata_FLMarion"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx");
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_2")).Click();
                        Thread.Sleep(2000);

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

                        driver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "FL", "Marion");
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click();
                        Thread.Sleep(2000);
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("srch'")).Text;
                            if (nodata.Contains("0 records found. End of search reached."))
                            {
                                HttpContext.Current.Session["Nodata_FLMarion"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "ownername")
                    {
                        var chromeOptions = new ChromeOptions();
                        var chDriver      = new ChromeDriver(chromeOptions);

                        chDriver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx");
                        Thread.Sleep(2000);

                        chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_1")).Click();
                        Thread.Sleep(2000);

                        chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(ownername);

                        chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter);
                        gc.CreatePdf_WOP(orderNumber, "Owner search", chDriver, "FL", "Marion");
                        Thread.Sleep(2000);

                        try
                        {
                            IWebElement         MultiOwnerTB = chDriver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody"));
                            IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiOwnerTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Owner search", chDriver, "FL", "Marion");

                            if (MultiOwnerTR.Count == 1)
                            {
                                chDriver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click();
                                Thread.Sleep(2000);
                            }

                            else
                            {
                                int OwnermaxCheck = 0;
                                foreach (IWebElement MultiOwner in MultiOwnerTR)
                                {
                                    if (OwnermaxCheck <= 25)
                                    {
                                        MultiOwnerTD = MultiOwner.FindElements(By.TagName("td"));
                                        if (MultiOwnerTD.Count != 0)
                                        {
                                            IWebElement Parcelno1 = MultiOwnerTD[0].FindElement(By.TagName("a"));
                                            Parcelno         = Parcelno1.Text;
                                            Owner            = MultiOwnerTD[1].Text;
                                            Property_Address = MultiOwnerTD[2].Text;

                                            MultiOwner_details = Owner + "~" + Property_Address;
                                            gc.insert_date(orderNumber, Parcelno, 672, MultiOwner_details, 1, DateTime.Now);
                                        }
                                        OwnermaxCheck++;
                                    }
                                }
                                if (MultiOwnerTR.Count > 25)
                                {
                                    HttpContext.Current.Session["multiParcel_FLMarion_Multicount"] = "Maximum";
                                }
                                else
                                {
                                    HttpContext.Current.Session["multiparcel_FLMarion"] = "Yes";
                                }
                                chDriver.Quit();

                                return("MultiParcel");
                            }
                        }
                        catch
                        { }

                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.XPath("//*[@id='srch']/text()")).Text;
                            if (nodata.Contains("0 records found. End of search reached."))
                            {
                                HttpContext.Current.Session["Nodata_FLMarion"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                        chDriver.Quit();
                    }

                    Thread.Sleep(3000);
                    driver.SwitchTo().Window(driver.WindowHandles.Last());
                    Thread.Sleep(4000);

                    //Property Details
                    //try
                    //{
                    //    driver.FindElement(By.XPath("//*[@id='prc']/div/a[1]")).Click();
                    //    Thread.Sleep(6000);
                    //}
                    //catch
                    //{ }


                    try
                    {
                        ParcelID      = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/h1")).Text;
                        Primary_Key   = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[1]/tbody/tr/td[1]")).Text;
                        Primary_Key   = WebDriverTest.After(Primary_Key, "Prime Key: ");
                        Owner_Mailing = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[1]")).Text;

                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='prc']/div/a[2]")).Click();
                            Thread.Sleep(2000);
                            full           = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[2]")).Text;
                            Taxes_Assments = gc.Between(full, "Taxes / Assessments:", "Map ID:");
                            try
                            {
                                assess1  = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[1]")).Text.Replace("\r\n", "~");
                                assess11 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[2]")).Text.Replace("\r\n", "~");

                                DBconnection dbconn = new DBconnection();
                                dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assess1 + "' where Id = '" + 692 + "'");
                                gc.CreatePdf(orderNumber, ParcelID, "Assessment1 Details", driver, "FL", "Marion");
                                gc.insert_date(orderNumber, ParcelID, 692, assess11, 1, DateTime.Now);
                            }
                            catch
                            { }

                            //History Accessd Values
                            try
                            {
                                IWebElement         HistoryTB = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[4]/tbody"));
                                IList <IWebElement> HistoryTR = HistoryTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> HistoryTD;

                                foreach (IWebElement History in HistoryTR)
                                {
                                    HistoryTD = History.FindElements(By.TagName("td"));
                                    if (HistoryTD.Count != 0 && HistoryTR.Count != 1)
                                    {
                                        Year        = HistoryTD[0].Text;
                                        Land_Just   = HistoryTD[1].Text;
                                        Building    = HistoryTD[2].Text;
                                        Misc_Value  = HistoryTD[3].Text;
                                        Mkt_Just    = HistoryTD[4].Text;
                                        Assed_Value = HistoryTD[5].Text;
                                        Exceptions  = HistoryTD[6].Text;
                                        Taxabl_Val  = HistoryTD[7].Text;

                                        History_details = Year + "~" + Land_Just + "~" + Building + "~" + Misc_Value + "~" + Mkt_Just + "~" + Assed_Value + "~" + Exceptions + "~" + Taxabl_Val;
                                        gc.insert_date(orderNumber, ParcelID, 693, History_details, 1, DateTime.Now);
                                    }
                                }
                            }
                            catch
                            { }
                            driver.Navigate().Back();
                            Thread.Sleep(5000);
                        }
                        catch
                        { }
                        Map_Id  = gc.Between(full, "Map ID:", "Millage:");
                        Millage = GlobalClass.After(full, "Millage:");
                        full1   = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[3]")).Text;
                        try
                        {
                            Acres = gc.Between(full1, "Acres: ", "Situs: ").Replace("More Situs", "");
                            Situs = WebDriverTest.After(full1, "Situs: ");
                        }
                        catch { }

                        Proty_Desp = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td")).Text;
                        Proty_Desp = gc.Between(Proty_Desp, "Property Description", "Land Data - Warning: Verify Zoning");
                        try
                        {
                            Improve1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[6]/tbody/tr/td[1]/table/tbody/tr/td[2]")).Text.Replace("\r\n", "~");

                            string[] rowarrayname1 = Improve1.Split('~');

                            Improve    = rowarrayname1[0];
                            Year_Built = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[6]/tbody/tr/td[2]")).Text;
                            Year_Built = gc.Between(Year_Built, "Year Built", "Physical Deterioration");
                        }
                        catch
                        { }

                        property = Primary_Key + "~" + Owner_Mailing + "~" + Situs + "~" + Taxes_Assments + "~" + Map_Id + "~" + Millage + "~" + Acres + "~" + Proty_Desp + "~" + Improve + "~" + Year_Built;
                        gc.CreatePdf(orderNumber, ParcelID, "Assessment11 Details", driver, "FL", "Marion");
                        gc.insert_date(orderNumber, ParcelID, 691, property, 1, DateTime.Now);
                    }
                    catch
                    { }

                    //try
                    //{
                    //    assess = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[1]")).Text.Replace("\r\n", "~");
                    //    assess1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[2]")).Text.Replace("\r\n", "~");

                    //    DBconnection dbconn = new DBconnection();
                    //    dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assess + "' where Id = '" + 692 + "'");
                    //    gc.insert_date(orderNumber, ParcelID, 692, assess1, 1, DateTime.Now);
                    //}
                    //catch
                    //{ }

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

                    //Tax Details
                    driver.Navigate().GoToUrl("https://www.mariontax.com/itm/PropertySearchAccount.aspx");
                    Thread.Sleep(4000);

                    driver.FindElement(By.Id("btnAgree")).Click();
                    Thread.Sleep(4000);

                    driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_txtAccount")).SendKeys(ParcelID);

                    gc.CreatePdf(orderNumber, ParcelID, "Tax Details", driver, "FL", "Marion");

                    driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_btnSearch")).SendKeys(Keys.Enter);
                    Thread.Sleep(4000);

                    gc.CreatePdf(orderNumber, ParcelID, "Tax Parcels Details", driver, "FL", "Marion");

                    driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_rptSummary__ctl0_lnkDetails1")).Click();
                    Thread.Sleep(4000);


                    //Tax Payment History
                    try
                    {
                        IWebElement         BreakdownTB = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/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 && !Breakdown.Text.Contains("Year"))
                            {
                                Tax_Year    = BreakdownTD[0].Text;
                                Roll        = BreakdownTD[1].Text;
                                Acc_Num     = BreakdownTD[2].Text;
                                Sta         = BreakdownTD[3].Text;
                                Date_Paid   = BreakdownTD[4].Text;
                                Amount_Paid = BreakdownTD[5].Text;
                                Balnc_Due   = BreakdownTD[6].Text;

                                Payment_details = Tax_Year + "~" + Roll + "~" + Acc_Num + "~" + Sta + "~" + Date_Paid + "~" + Amount_Paid + "~" + Balnc_Due;
                                gc.insert_date(orderNumber, ParcelID, 695, Payment_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Information
                    Acc_No = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[2]/td[2]")).Text.Replace("               ", "");
                    Typ    = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[2]/td[4]/table/tbody/tr/td[1]")).Text;
                    Add    = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[3]/td[2]")).Text;

                    try
                    {
                        Deliquent = driver.FindElement(By.XPath("//*[@id='tbl3']/tbody/tr[4]/td")).Text;
                    }
                    catch
                    { }

                    try
                    {
                        Roll_Coment = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody/tr[3]/td[2]")).Text;
                    }
                    catch
                    { }
                    List <string> ParcelSearch = new List <string>();

                    try
                    {
                        IWebElement         ParcelTB = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody"));
                        IList <IWebElement> ParcelTR = ParcelTB.FindElements(By.TagName("tr"));
                        ParcelTR.Reverse();
                        int rows_count = ParcelTR.Count;

                        for (int row = 0; row < rows_count; row++)
                        {
                            if (row == rows_count - 1 || row == rows_count - 2 || row == rows_count - 3)
                            {
                                IList <IWebElement> Columns_row = ParcelTR[row].FindElements(By.TagName("td"));

                                int columns_count = Columns_row.Count;

                                for (int column = 0; column < columns_count; column++)
                                {
                                    if (column == columns_count - 2)
                                    {
                                        IWebElement ParcelBill_link = Columns_row[0].FindElement(By.TagName("a"));
                                        string      Parcelurl       = ParcelBill_link.GetAttribute("href");
                                        ParcelSearch.Add(Parcelurl);
                                    }
                                }
                            }
                        }
                    }
                    catch
                    { }

                    foreach (string Parcelbill in ParcelSearch)
                    {
                        driver.Navigate().GoToUrl(Parcelbill);
                        Thread.Sleep(3000);

                        Taxy = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_lblDetTaxYear']")).Text;

                        try
                        {
                            Pdes1 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[1]/td")).Text;
                            Pdes2 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[2]/td")).Text;
                            Pdes3 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[3]/td")).Text;
                            Pdes4 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[4]/td")).Text;

                            P_des = Pdes1 + " " + Pdes2 + " " + Pdes3 + " " + Pdes4;
                        }
                        catch
                        { }


                        try
                        {
                            OInfo1     = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[1]/td")).Text;
                            M_Addr1    = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[2]/td")).Text;
                            M_Addr2    = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[3]/td")).Text;
                            Owner_Mail = OInfo1 + " & " + M_Addr1 + " " + M_Addr2;
                        }
                        catch
                        { }

                        try
                        {
                            OInfo1     = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[1]/td")).Text;
                            OInfo2     = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[2]/td")).Text;
                            M_Addr1    = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[3]/td")).Text;
                            M_Addr2    = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[4]/td")).Text;
                            Owner_Mail = OInfo1 + " " + OInfo2 + " & " + M_Addr1 + " " + M_Addr2;
                        }
                        catch
                        { }

                        try
                        {
                            IWebElement         tbmulti11 = driver.FindElement(By.XPath("//*[@id='Table2c']/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)
                                {
                                    Mkt = TDmulti11[0].Text;
                                    if (Mkt.Contains("MARKET VALU"))
                                    {
                                        Markt_Value = TDmulti11[0].Text.Replace(" ", "");
                                        Markt_Value = WebDriverTest.After(Markt_Value, "MARKETVALU");
                                    }
                                    Asst = TDmulti11[0].Text;
                                    if (Asst.Contains("ASSESSMENT"))
                                    {
                                        ASSESSMENT = TDmulti11[0].Text.Replace(" ", "");
                                        ASSESSMENT = WebDriverTest.After(ASSESSMENT, "ASSESSMENT");
                                    }
                                    Txb = TDmulti11[0].Text;
                                    if (Txb.Contains("TAXABLE"))
                                    {
                                        TAXABLE = TDmulti11[0].Text.Replace(" ", "");
                                        TAXABLE = WebDriverTest.After(TAXABLE, "TAXABLE");
                                    }
                                    Ext = TDmulti11[0].Text;
                                    if (Ext.Contains("EXCD01"))
                                    {
                                        EXC = TDmulti11[0].Text.Replace(" ", "");
                                        EXC = WebDriverTest.After(EXC, "EXCD01");
                                    }
                                    Ext1 = TDmulti11[0].Text;
                                    if (Ext1.Contains("EXCD38"))
                                    {
                                        EXC1 = TDmulti11[0].Text.Replace(" ", "");
                                        EXC1 = WebDriverTest.After(EXC1, "EXCD38");
                                    }
                                    Ext2 = TDmulti11[0].Text;
                                    if (Ext2.Contains("EXCD02"))
                                    {
                                        EXC2 = TDmulti11[0].Text.Replace(" ", "");
                                        EXC2 = WebDriverTest.After(EXC2, "EXCD02");
                                    }
                                    Count_Asst = TDmulti11[0].Text;
                                    if (Count_Asst.Contains("COUNTY ASMT"))
                                    {
                                        County_ASMT = TDmulti11[0].Text.Replace(" ", "");
                                        County_ASMT = WebDriverTest.After(County_ASMT, "COUNTYASMT");
                                    }
                                    Count_txbl = TDmulti11[0].Text;
                                    if (Count_txbl.Contains("COUNTY TXBL"))
                                    {
                                        County_TXBL = TDmulti11[0].Text.Replace(" ", "");
                                        County_TXBL = WebDriverTest.After(County_TXBL, "COUNTYTXBL");
                                    }
                                    Tax_Asst = TDmulti11[0].Text;
                                    if (Tax_Asst.Contains("SCHOOL ASMT"))
                                    {
                                        Tax_ASMT = TDmulti11[0].Text.Replace(" ", "");
                                        Tax_ASMT = WebDriverTest.After(Tax_ASMT, "SCHOOLASMT");
                                    }
                                    Tax_txbl = TDmulti11[0].Text;
                                    if (Tax_txbl.Contains("SCHOOL TXBL"))
                                    {
                                        Tax_TXBL = TDmulti11[0].Text.Replace(" ", "");
                                        Tax_TXBL = WebDriverTest.After(Tax_TXBL, "SCHOOLTXBL");
                                    }
                                }
                            }

                            IWebElement         tbmulti1 = driver.FindElement(By.XPath("//*[@id='Table2d']/tbody"));
                            IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr"));
                            IList <IWebElement> TDmulti1;

                            foreach (IWebElement row in TRmulti1)
                            {
                                TDmulti1 = row.FindElements(By.TagName("td"));
                                if (TDmulti1.Count != 0)
                                {
                                    txes = TDmulti1[0].Text;
                                    if (txes.Contains("TAXES"))
                                    {
                                        TAXES = TDmulti1[0].Text.Replace(" ", "");
                                        TAXES = WebDriverTest.After(TAXES, "TAXES");
                                    }

                                    sptxs = TDmulti1[0].Text;
                                    if (sptxs.Contains("SP. ASMT"))
                                    {
                                        SP_ASMT = TDmulti1[0].Text.Replace(" ", "");
                                        SP_ASMT = WebDriverTest.After(SP_ASMT, "SP.ASMT");
                                    }

                                    intt = TDmulti1[0].Text;
                                    if (intt.Contains("INT."))
                                    {
                                        INT = TDmulti1[0].Text.Replace(" ", "");
                                        INT = WebDriverTest.After(INT, "INT.");
                                    }

                                    Salet = TDmulti1[0].Text;
                                    if (Salet.Contains("SALE 5%"))
                                    {
                                        SALE = TDmulti1[0].Text.Replace(" ", "");
                                        SALE = WebDriverTest.After(SALE, "SALE5%");
                                    }

                                    Advt = TDmulti1[0].Text;
                                    if (Advt.Contains("ADV. FEE"))
                                    {
                                        ADV = TDmulti1[0].Text.Replace(" ", "");
                                        ADV = WebDriverTest.After(ADV, "ADV.FEE");
                                    }
                                }
                            }

                            Tax_Info = Acc_No + "~" + Typ + "~" + Add + "~" + Taxy + "~" + P_des + "~" + Owner_Mail + "~" + Markt_Value + "~" + ASSESSMENT + "~" + TAXABLE + "~" + EXC + "~" + EXC1 + "~" + EXC2 + "~" + TAXES + "~" + SP_ASMT + "~" + INT + "~" + SALE + "~" + ADV + "~" + County_ASMT + "~" + County_TXBL + "~" + Tax_ASMT + "~" + Tax_TXBL;
                            gc.insert_date(orderNumber, ParcelID, 697, Tax_Info, 1, DateTime.Now);
                            Markt_Value = ""; ASSESSMENT = ""; TAXABLE = ""; EXC = ""; EXC1 = ""; EXC2 = ""; TAXES = ""; SP_ASMT = ""; INT = ""; SALE = ""; ADV = ""; County_ASMT = ""; County_TXBL = ""; Tax_ASMT = ""; Tax_TXBL = "";
                        }
                        catch
                        { }
                        gc.CreatePdf(orderNumber, ParcelID, "Tax Payment Details" + Taxy, driver, "FL", "Marion");
                        Thread.Sleep(2000);

                        //Tax Receipt
                        try
                        {
                            Receipt = driver.FindElement(By.XPath("//*[@id='tbl5']/tbody/tr[4]/td")).Text.Replace(" ", "");

                            Commonreceipt = Receipt;

                            if (Commonreceipt.Length == 58)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 9);
                                D = Receipt.Substring(38, 7);
                                E = Receipt.Substring(45, 4);
                                F = Receipt.Substring(49, 9);

                                Receipt_Details5 = A + "~" + B + "~" + "~" + C + "~" + D + "~" + E + "~" + F;
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details5, 1, DateTime.Now);
                            }

                            if (Commonreceipt.Length == 42)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 4);
                                D = Receipt.Substring(33, 9);

                                Receipt_Details1 = A + "~" + B + "~" + C + "~" + D + "~" + "" + "~" + "" + "~" + "";
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details1, 1, DateTime.Now);
                            }

                            if (Commonreceipt.Length == 62)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 4);
                                D = Receipt.Substring(33, 9);
                                E = Receipt.Substring(42, 7);
                                F = Receipt.Substring(49, 4);
                                G = Receipt.Substring(53, 9);

                                Receipt_Details2 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G;
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details2, 1, DateTime.Now);
                            }

                            if (Commonreceipt.Length == 61)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 4);
                                D = Receipt.Substring(33, 10);
                                E = Receipt.Substring(43, 6);
                                F = Receipt.Substring(49, 5);
                                G = Receipt.Substring(54, 7);

                                Receipt_Details3 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G;
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details3, 1, DateTime.Now);
                            }

                            if (Commonreceipt.Length == 60)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 4);
                                D = Receipt.Substring(33, 9);
                                E = Receipt.Substring(42, 7);
                                F = Receipt.Substring(49, 4);
                                G = Receipt.Substring(53, 7);

                                Receipt_Details4 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G;
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details4, 1, DateTime.Now);
                            }

                            if (Commonreceipt.Length == 56)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 9);
                                D = Receipt.Substring(38, 7);
                                E = Receipt.Substring(45, 4);
                                F = Receipt.Substring(49, 7);

                                Receipt_Details4 = A + "~" + B + "~" + "" + "~" + C + "~" + D + "~" + E + "~" + F;
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details4, 1, DateTime.Now);
                            }
                            if (Commonreceipt.Length == 64)
                            {
                                A = Receipt.Substring(0, 10);
                                B = Receipt.Substring(10, 19);
                                C = Receipt.Substring(29, 4);
                                D = Receipt.Substring(33, 9);
                                E = Receipt.Substring(42, 8);
                                F = Receipt.Substring(50, 4);
                                G = Receipt.Substring(54, 10);

                                Receipt_Details9 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G;
                                gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details9, 1, DateTime.Now);
                            }
                        }
                        catch
                        { }

                        //driver.Navigate().Back();
                        //Thread.Sleep(2000);
                    }

                    driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lnkAcctBill2")).Click();
                    Thread.Sleep(3000);

                    driver.SwitchTo().Window(driver.WindowHandles.Last());
                    Thread.Sleep(4000);

                    //Ad-Valorem & Non-Ad Valorem
                    IWebElement         AdValoremTB = driver.FindElement(By.XPath("//*[@id='Table3']/tbody"));
                    IList <IWebElement> AdValoremTR = AdValoremTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> AdValoremTD;

                    foreach (IWebElement AdValorem in AdValoremTR)
                    {
                        AdValoremTD = AdValorem.FindElements(By.TagName("td"));
                        if (AdValoremTD.Count != 0 && !AdValorem.Text.Contains("TAXING AUTHORITY") && AdValoremTD[0].Text != "" && !AdValorem.Text.Contains("*** PAID *** PAID *** PAID ***") && !AdValorem.Text.Contains("PERIOD"))
                        {
                            //if (AdValorem.Text.Contains("COMBINED TAXES & ASSESSMENTS TOTAL:"))
                            //{
                            //    break;
                            //}
                            string Output = AdValoremTD[0].Text;
                            Output = Regex.Replace(Output, @"\s+", " ").TrimStart();
                            Output = Output.Replace(" ", "~");
                            string[]      rowarrayname1 = Output.Split('~');
                            List <string> listname      = new List <string>();
                            listname.AddRange(rowarrayname1);
                            int    count = listname.Count();
                            string name = "", millege = "", assessed = "", exemptions = "", taxable = "", taxes = "";
                            int    k = 0;
                            if (count == 2 && listname[0].Any(Char.IsDigit))
                            {
                                Advalorem_details1 = "Total Millege" + "~" + listname[0] + "~" + "" + "~" + "" + "~" + "Total Ad Valorem Taxes" + "~" + listname[1];
                                gc.CreatePdf(orderNumber, ParcelID, "Ad-Valorem & Non-Ad Valorem Taxs Details" + Taxy, driver, "FL", "Marion");
                                gc.insert_date(orderNumber, ParcelID, 700, Advalorem_details1, 1, DateTime.Now);
                            }
                            else
                            {
                                for (int i = 0; i < count; i++)
                                {
                                    if (!listname[i].Any(Char.IsDigit))
                                    {
                                        name = name + " " + listname[i];
                                    }
                                    else
                                    {
                                        if (listname[i].Any(Char.IsDigit) && (k == 0))
                                        {
                                            millege = listname[i];
                                        }
                                        if (listname[i].Any(Char.IsDigit) && (k == 1))
                                        {
                                            assessed = listname[i];
                                        }
                                        if (listname[i].Any(Char.IsDigit) && (k == 2))
                                        {
                                            exemptions = listname[i];
                                        }
                                        if (listname[i].Any(Char.IsDigit) && (k == 3))
                                        {
                                            taxable = listname[i];
                                        }
                                        if (listname[i].Any(Char.IsDigit) && (k == 4))
                                        {
                                            taxes = listname[i];
                                        }
                                        k++;
                                    }
                                }
                            }
                            Advalorem_details = name + "~" + millege + "~" + assessed + "~" + exemptions + "~" + taxable + "~" + taxes;
                            gc.CreatePdf(orderNumber, ParcelID, "Ad-Valorem & Non-Ad Valorem Taxs Details" + Taxy, driver, "FL", "Marion");
                            gc.insert_date(orderNumber, ParcelID, 700, Advalorem_details, 1, DateTime.Now);
                        }
                    }

                    //Taxing Authority
                    driver.Navigate().GoToUrl("https://www.mariontax.com/itm.asp");
                    Thread.Sleep(2000);
                    Deliquent_Comments = "";
                    CER_Comments       = "";
                    try
                    {
                        Taxing_Authority = driver.FindElement(By.XPath("//*[@id='ss-block-container-1']/div/address[2]")).Text.Replace("\r\n", " ");
                    }
                    catch { }

                    if (Deliquent == "DELINQUENT TAXES DUE          ")
                    {
                        Deliquent_Comments = "For prior tax amount due, you must call the tax Collector's Office.";
                    }

                    if (Roll_Coment == "CER")
                    {
                        CER_Comments = "Tax Sale in property. Need to contact Tax Collector";
                    }
                    Taxauthority_Details = Taxing_Authority + "~" + Deliquent_Comments + "~" + CER_Comments;
                    gc.CreatePdf(orderNumber, ParcelID, "Tax Authority", driver, "FL", "Marion");
                    gc.insert_date(orderNumber, ParcelID, 704, Taxauthority_Details, 1, DateTime.Now);

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

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

                    driver.Quit();
                    gc.mergpdf(orderNumber, "FL", "Marion");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw;
                }
            }
        }
Ejemplo n.º 3
0
        public string FTP_TXHays(string streetno, string direction, string streetname, string city, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string directParcel)
        {
            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()) //ChromeDriver
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");

                    if (searchType == "titleflex")
                    {
                        string titleaddress = streetno + " " + streetname + " " + streettype + " " + unitnumber;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "TX", "Hays");
                        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_TXHays"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("http://esearch.hayscad.com/");
                        Thread.Sleep(2000);

                        IJavaScriptExecutor js2 = driver as IJavaScriptExecutor;
                        IWebElement         ParcelLinkSearch1 = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[3]/a"));
                        js2.ExecuteScript("arguments[0].click();", ParcelLinkSearch1);
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("//*[@id='StreetNumber']")).SendKeys(streetno);
                        driver.FindElement(By.XPath("//*[@id='StreetName']")).SendKeys(streetname);

                        driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(5000);

                        aaa    = driver.FindElement(By.XPath("//*[@id='page-header']")).Text;
                        parcel = gc.Between(aaa, "Page 1 of 1 - ", " (").Trim();

                        if (parcel == "Total: 1")
                        {
                            gc.CreatePdf_WOP(orderNumber, "Owner", driver, "TX", "Hays");
                            var chDriver = new ChromeDriver();
                            chDriver.Navigate().GoToUrl(driver.Url);
                            Thread.Sleep(4000);

                            IWebElement         Multiaddresstable = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                            IList <IWebElement> multiaddressrow   = Multiaddresstable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Multiaddressid;
                            foreach (IWebElement Multiaddress in multiaddressrow)
                            {
                                Multiaddressid = Multiaddress.FindElements(By.TagName("td"));
                                if (Multiaddressid.Count != 0)
                                {
                                    parcel = Multiaddressid[1].Text;
                                }
                            }
                            gc.CreatePdf_WOP(orderNumber, "Owner Address search1", driver, "TX", "Hays");
                            //ByVisibleElement(chDriver.FindElement(By.Id("DownloadResults")));
                            gc.CreatePdf_WOP(orderNumber, "Owner Address search2", driver, "TX", "Hays");
                            driver.Navigate().GoToUrl("http://esearch.hayscad.com/Property/View/" + parcel + "");
                            Thread.Sleep(2000);
                            gc.CreatePdf_WOP(orderNumber, "Owner Address search1", driver, "TX", "Hays");
                            chDriver.Quit();
                        }

                        else
                        {
                            try
                            {
                                var chDriver = new ChromeDriver();
                                chDriver.Navigate().GoToUrl(driver.Url);
                                Thread.Sleep(4000);

                                IWebElement         MultiAddressTB = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                                IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> MultiAddressTD;
                                gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "TX", "Hays");
                                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"))
                                        {
                                            Parcelno         = MultiAddressTD[1].Text;
                                            Multi_Type       = MultiAddressTD[5].Text;
                                            Owner            = MultiAddressTD[6].Text;
                                            Property_Address = MultiAddressTD[7].Text;

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

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://esearch.hayscad.com/");
                        Thread.Sleep(2000);

                        IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                        IWebElement         ParcelLinkSearch = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[4]/a"));
                        js1.ExecuteScript("arguments[0].click();", ParcelLinkSearch);
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("PropertyId")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "TX", "Hays");
                        driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[2]")).Click();
                        Thread.Sleep(5000);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch1", driver, "TX", "Hays");
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("http://esearch.hayscad.com/");
                        Thread.Sleep(2000);

                        IJavaScriptExecutor js3 = driver as IJavaScriptExecutor;
                        IWebElement         ParcelLinkSearch2 = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[2]/a"));
                        js3.ExecuteScript("arguments[0].click();", ParcelLinkSearch2);
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("OwnerName")).SendKeys(ownernm);
                        gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "TX", "Hays");
                        driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        aaa    = driver.FindElement(By.XPath("//*[@id='page-header']")).Text;
                        parcel = gc.Between(aaa, "Page 1 of 1 - ", " (").Trim();

                        if (parcel == "Total: 1")
                        {
                            gc.CreatePdf_WOP(orderNumber, "Owner", driver, "TX", "Hays");
                            var chDriver = new ChromeDriver();
                            chDriver.Navigate().GoToUrl(driver.Url);
                            Thread.Sleep(4000);

                            IWebElement         Multiaddresstable = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                            IList <IWebElement> multiaddressrow   = Multiaddresstable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Multiaddressid;
                            foreach (IWebElement Multiaddress in multiaddressrow)
                            {
                                Multiaddressid = Multiaddress.FindElements(By.TagName("td"));
                                if (Multiaddressid.Count != 0)
                                {
                                    parcel = Multiaddressid[1].Text;
                                }
                            }
                            gc.CreatePdf_WOP(orderNumber, "Owner search1", driver, "TX", "Hays");
                            //ByVisibleElement(chDriver.FindElement(By.Id("DownloadResults")));
                            gc.CreatePdf_WOP(orderNumber, "Owner Search2", driver, "TX", "Hays");
                            driver.Navigate().GoToUrl("http://esearch.hayscad.com/Property/View/" + parcel + "");
                            Thread.Sleep(2000);
                            gc.CreatePdf_WOP(orderNumber, "Owner search3", driver, "TX", "Hays");
                            chDriver.Quit();
                        }

                        else
                        {
                            try
                            {
                                var chDriver = new ChromeDriver();
                                chDriver.Navigate().GoToUrl(driver.Url);
                                Thread.Sleep(4000);

                                IWebElement         MultiAddressTB = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                                IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> MultiAddressTD;
                                gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "TX", "Hays");
                                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"))
                                        {
                                            Parcelno         = MultiAddressTD[1].Text;
                                            Multi_Type       = MultiAddressTD[5].Text;
                                            Owner            = MultiAddressTD[6].Text;
                                            Property_Address = MultiAddressTD[7].Text;

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

                    try
                    {
                        IWebElement INodata = driver.FindElement(By.Id("results-page"));
                        if (INodata.Text.Contains("Page 1 of 0 - Total: 0"))
                        {
                            HttpContext.Current.Session["Nodata_TXHays"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }

                    //Property Details
                    try
                    {
                        IList <IWebElement> tables1 = driver.FindElements(By.XPath("//*[@id='detail-page']/div/div[1]/div/table"));
                        int count1 = tables1.Count;
                        foreach (IWebElement tab1 in tables1)
                        {
                            if (tab1.Text.Contains("Account"))
                            {
                                IList <IWebElement> ProTR = tab1.FindElements(By.TagName("tr"));
                                IList <IWebElement> ProTD;
                                IList <IWebElement> ProTH;
                                foreach (IWebElement Pro in ProTR)
                                {
                                    ProTD = Pro.FindElements(By.TagName("td"));
                                    ProTH = Pro.FindElements(By.TagName("th"));
                                    if (!Pro.Text.Contains("Account") && !Pro.Text.Contains("Location") && !Pro.Text.Contains("% Ownership:") && !Pro.Text.Contains("Agent Code:"))
                                    {
                                        Parcel = ProTH[0].Text;
                                        if (Parcel.Contains("Property ID:"))
                                        {
                                            Parcel_ID = ProTD[0].Text;
                                        }
                                        Legal = ProTH[0].Text;
                                        if (Legal.Contains("Legal Description:"))
                                        {
                                            Legal_Desp = ProTD[0].Text;
                                        }
                                        Graphic = ProTH[0].Text;
                                        if (Graphic.Contains("Geographic ID:"))
                                        {
                                            Graphic_Id = ProTD[0].Text;
                                        }
                                        Tap = ProTH[0].Text;
                                        if (Tap.Contains("Type:"))
                                        {
                                            Type = ProTD[0].Text;
                                        }
                                        Adds = ProTH[0].Text;
                                        if (Adds.Contains("Address:"))
                                        {
                                            Pro_Addrs = ProTD[0].Text;
                                        }
                                        Maps = ProTH[0].Text;
                                        if (Maps.Contains("Map ID:"))
                                        {
                                            Map = ProTD[0].Text;
                                        }
                                        Nighber = ProTH[0].Text;
                                        if (Nighber.Contains("Neighborhood CD:"))
                                        {
                                            Nighberhood = ProTD[0].Text;
                                        }
                                        Own_Id = ProTH[0].Text;
                                        if (Own_Id.Contains("Owner ID:"))
                                        {
                                            Owner_Id = ProTD[0].Text;
                                        }
                                        Nam = ProTH[0].Text;
                                        if (Nam.Contains("Name:"))
                                        {
                                            Name = ProTD[0].Text;
                                        }
                                        Mailing_Addrs = ProTH[0].Text;
                                        if (Mailing_Addrs.Contains("Mailing Address:"))
                                        {
                                            Mailing_Address = ProTD[0].Text;
                                        }
                                        Exmp = ProTH[0].Text;
                                        if (Exmp.Contains("Exemptions:"))
                                        {
                                            Excemptions = ProTD[0].Text;
                                        }
                                    }
                                }

                                try
                                {
                                    Year_Built = driver.FindElement(By.XPath("//*[@id='detail-page']/div[5]/div[2]/table[1]/tbody/tr[2]/td[4]")).Text;
                                    Acres      = driver.FindElement(By.XPath("//*[@id='detail-page']/div[6]/div[2]/table/tbody/tr[2]/td[3]")).Text;
                                }
                                catch
                                { }

                                Property_Details = Legal_Desp + "~" + Graphic_Id + "~" + Type + "~" + Pro_Addrs + "~" + Map + "~" + Nighberhood + "~" + Owner_Id + "~" + Name + "~" + Mailing_Address + "~" + Excemptions + "~" + Acres + "~" + Year_Built;
                                gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "TX", "Hays");
                                gc.insert_date(orderNumber, Parcel_ID, 1003, Property_Details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Values Details
                    try
                    {
                        IList <IWebElement> tables2 = driver.FindElements(By.XPath("//*[@id='detail-page']/div/div[2]/div/table"));
                        int count2 = tables2.Count;
                        foreach (IWebElement tab2 in tables2)
                        {
                            if (tab2.Text.Contains("Improvement Homesite Value:"))
                            {
                                IList <IWebElement> AssemntTR = tab2.FindElements(By.TagName("tr"));
                                IList <IWebElement> AssemntTD;
                                IList <IWebElement> AssemntTH;
                                foreach (IWebElement Assemnt in AssemntTR)
                                {
                                    AssemntTD = Assemnt.FindElements(By.TagName("td"));
                                    AssemntTH = Assemnt.FindElements(By.TagName("th"));

                                    if (Assemnt.Text != " ")
                                    {
                                        Imp_Home = AssemntTH[0].Text;
                                        if (Imp_Home.Contains("Improvement Homesite Value:"))
                                        {
                                            Imp_Homesite = AssemntTD[0].Text;
                                        }

                                        Imp_NonHome = AssemntTH[0].Text;
                                        if (Imp_NonHome.Contains("Improvement Non-Homesite Value:"))
                                        {
                                            Imp_NonHomesite = AssemntTD[0].Text;
                                        }

                                        Land = AssemntTH[0].Text;
                                        if (Land.Contains("Land Homesite Value:"))
                                        {
                                            Land_Homesite = AssemntTD[0].Text;
                                        }

                                        Non_Land = AssemntTH[0].Text;
                                        if (Non_Land.Contains("Land Non-Homesite Value:"))
                                        {
                                            Land_NonHomesite = AssemntTD[0].Text;
                                        }

                                        Agricutr = AssemntTH[0].Text;
                                        if (Agricutr.Contains("Agricultural Market Valuation:"))
                                        {
                                            Agri_Markt = AssemntTD[0].Text;
                                        }

                                        Mrkt = AssemntTH[0].Text;
                                        if (Mrkt.Contains("Market Value:"))
                                        {
                                            Mrkt_Value = AssemntTD[0].Text;
                                        }

                                        Ag_Value = AssemntTH[0].Text;
                                        if (Ag_Value.Contains("Ag Use Value:"))
                                        {
                                            AgUse_Value = AssemntTD[0].Text;
                                        }

                                        App_Value = AssemntTH[0].Text;
                                        if (App_Value.Contains("Appraised Value:"))
                                        {
                                            Appraised_Value = AssemntTD[0].Text;
                                        }

                                        Home_Cap = AssemntTH[0].Text;
                                        if (Home_Cap.Contains("Homestead Cap Loss:"))
                                        {
                                            Homested_Cap = AssemntTD[0].Text;
                                        }

                                        Assd_Value = AssemntTH[0].Text;
                                        if (Assd_Value.Contains("Assessed Value:"))
                                        {
                                            Assessed_Value = AssemntTD[0].Text;
                                        }
                                    }
                                }
                                Assessment_Details = Imp_Homesite + "~" + Imp_NonHomesite + "~" + Land_Homesite + "~" + Land_NonHomesite + "~" + Agri_Markt + "~" + Mrkt_Value + "~" + AgUse_Value + "~" + Appraised_Value + "~" + Homested_Cap + "~" + Assessed_Value;
                                gc.insert_date(orderNumber, Parcel_ID, 1006, Assessment_Details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    //Jurisdiction Details

                    try
                    {
                        IWebElement         JurisdictionTB = driver.FindElement(By.XPath("//*[@id='detail-page']/div[4]/div[2]/table/tbody"));
                        IList <IWebElement> JurisdictionTR = JurisdictionTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> JurisdictionTD;

                        foreach (IWebElement Jurisdiction in JurisdictionTR)
                        {
                            JurisdictionTD = Jurisdiction.FindElements(By.TagName("td"));
                            if (JurisdictionTD.Count != 0 && !Jurisdiction.Text.Contains("Entity"))
                            {
                                Entity      = JurisdictionTD[0].Text;
                                Desp        = JurisdictionTD[1].Text;
                                Mrket_Value = JurisdictionTD[2].Text;
                                Txble_Value = JurisdictionTD[3].Text;

                                Jurisdiction_details = Entity + "~" + Desp + "~" + Mrket_Value + "~" + Txble_Value;
                                gc.insert_date(orderNumber, Parcel_ID, 1007, Jurisdiction_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //RollValue Details
                    try
                    {
                        IList <IWebElement> tables4 = driver.FindElements(By.XPath("//*[@id='detail-page']/div/div[2]/table"));
                        int count4 = tables4.Count;
                        foreach (IWebElement tab4 in tables4)
                        {
                            if (tab4.Text.Contains("HS Cap Loss"))
                            {
                                IList <IWebElement> RollValueTR = tab4.FindElements(By.TagName("tr"));
                                IList <IWebElement> RollValueTD;

                                foreach (IWebElement RollValue in RollValueTR)
                                {
                                    RollValueTD = RollValue.FindElements(By.TagName("td"));
                                    if (RollValueTD.Count != 0 && !RollValue.Text.Contains("Year"))
                                    {
                                        Year        = RollValueTD[0].Text;
                                        Improv      = RollValueTD[1].Text;
                                        lnd_Mrkt    = RollValueTD[2].Text;
                                        Ag_Valution = RollValueTD[3].Text;
                                        Appraised   = RollValueTD[4].Text;
                                        HS_Cap      = RollValueTD[5].Text;
                                        Pro_Assed   = RollValueTD[6].Text;

                                        RollValue_details = Year + "~" + Improv + "~" + lnd_Mrkt + "~" + Ag_Valution + "~" + Appraised + "~" + HS_Cap + "~" + Pro_Assed;
                                        gc.insert_date(orderNumber, Parcel_ID, 1008, RollValue_details, 1, DateTime.Now);
                                    }
                                }
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Details
                    driver.Navigate().GoToUrl("https://hayscountytax.com/taxes.html#/WildfireSearch");
                    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(Parcel_ID);
                    Thread.Sleep(5000);

                    //TaxPayment 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;
                                Quiref_Id     = TaxPaymentTD[2].Text;
                                Situs_Address = TaxPaymentTD[3].Text;
                                Status        = TaxPaymentTD[4].Text;

                                Payment_details = Owners + "~" + year + "~" + Quiref_Id + "~" + Situs_Address + "~" + Status;
                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Payment Details", driver, "TX", "Hays");
                                gc.insert_date(orderNumber, Parcel_ID, 1009, Payment_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Info Details
                    int                p1 = 0, p2 = 0, p3 = 0;
                    List <string>      strTaxRealestate  = new List <string>();
                    List <IWebElement> strTaxRealestate1 = new List <IWebElement>();
                    IWebElement        ITaxReal1         = null;
                    try
                    {
                        ITaxReal1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                    }
                    catch { }
                    try
                    {
                        if (ITaxReal1 == null)
                        {
                            ITaxReal1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                        }
                    }
                    catch { }
                    IList <IWebElement> ITaxRealRow1 = ITaxReal1.FindElements(By.TagName("tr"));
                    IList <IWebElement> ITaxRealTd1;

                    foreach (IWebElement row in ITaxRealRow1)
                    {
                        ITaxRealTd1 = row.FindElements(By.TagName("td"));
                        if (row.Text.Contains("Unpaid"))
                        {
                            p1++;
                            p2++;
                        }
                        if (row.Text.Contains("Paid") && p2 < 3)
                        {
                            p3++;
                            p2++;
                        }
                    }
                    int p4 = p1 + p3;

                    for (int p5 = 1; p5 <= p4; p5++)
                    {
                        try
                        {
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr[" + p5 + "]/td[7]/button")).Click();
                            }
                            catch { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr[" + p5 + "]/td[7]/button")).Click();
                            }
                            catch { }
                            Thread.Sleep(6000);

                            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)
                                {
                                    Own_Nm = TaxTD[0].Text;
                                    if (Own_Nm.Contains("Owner Name"))
                                    {
                                        Tax_Owner = TaxTD[1].Text;
                                    }
                                    Tx_year = TaxTD[0].Text;
                                    if (Tx_year.Contains("Tax Year"))
                                    {
                                        Taxy_Year = TaxTD[1].Text;
                                    }
                                    Sta = TaxTD[0].Text;
                                    if (Sta.Contains("Status"))
                                    {
                                        taxy_sta = TaxTD[1].Text;
                                    }
                                    Ba_Tx = TaxTD[0].Text;
                                    if (Ba_Tx.Contains("Base Tax"))
                                    {
                                        Taxy_Base = TaxTD[1].Text;
                                    }
                                    Tl_Pay = TaxTD[0].Text;
                                    if (Tl_Pay.Contains("Total Payments"))
                                    {
                                        Tl_Taxy = TaxTD[1].Text;
                                    }
                                    Due = TaxTD[0].Text;
                                    if (Due.Contains("Total Due"))
                                    {
                                        TaxyTl_Due = TaxTD[1].Text;
                                    }
                                }
                            }
                            gc.CreatePdf(orderNumber, Parcel_ID, "Tax Overview Details" + Taxy_Year, driver, "TX", "Hays");

                            IWebElement         TaxTB1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[2]/table/tbody"));
                            IList <IWebElement> TaxTR1 = TaxTB1.FindElements(By.TagName("tr"));
                            IList <IWebElement> TaxTD1;
                            foreach (IWebElement Tax1 in TaxTR1)
                            {
                                TaxTD1 = Tax1.FindElements(By.TagName("td"));
                                if (TaxTD1.Count != 0)
                                {
                                    Own_Addr = TaxTD1[0].Text;
                                    if (Own_Addr.Contains("Owner Address"))
                                    {
                                        Tax_OwnerAddress = TaxTD1[1].Text;
                                    }
                                    Tx_Parcel = TaxTD1[0].Text;
                                    if (Tx_Parcel.Contains("Parcel ID"))
                                    {
                                        Taxy_Parcel = TaxTD1[1].Text;
                                    }
                                    Quick = TaxTD1[0].Text;
                                    if (Quick.Contains("Quick Reference ID"))
                                    {
                                        taxy_QuickID = TaxTD1[1].Text;
                                    }
                                    Lega = TaxTD1[0].Text;
                                    if (Lega.Contains("Legal Description"))
                                    {
                                        Taxy_LglDes = TaxTD1[1].Text;
                                    }
                                }
                            }

                            if (TaxyTl_Due == "Please call tax office for total due")
                            {
                                TaxSale_Comments = "You must call the Collector's Office.";
                            }
                            Tax_Deatils = Taxy_Year + "~" + Tax_OwnerAddress + "~" + Taxy_Parcel + "~" + taxy_QuickID + "~" + Taxy_LglDes + "~" + Tax_Owner + "~" + taxy_sta + "~" + Taxy_Base + "~" + Tl_Taxy + "~" + TaxyTl_Due + "~" + TaxSale_Comments;
                            gc.insert_date(orderNumber, Parcel_ID, 1011, Tax_Deatils, 1, DateTime.Now);

                            //Tax Breakdown
                            try
                            {
                                IWebElement         BreakdownTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/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)
                                    {
                                        Jurisdiction = BreakdownTD[0].Text;
                                        T_Year       = BreakdownTD[1].Text;
                                        Base_Tax     = BreakdownTD[2].Text;
                                        tax_Penalty  = BreakdownTD[3].Text;
                                        Tax_Inst     = BreakdownTD[4].Text;
                                        attroney_Fee = BreakdownTD[5].Text;
                                        Payments     = BreakdownTD[6].Text;
                                        Balnce       = BreakdownTD[7].Text;

                                        Breakdown_details = Jurisdiction + "~" + T_Year + "~" + Base_Tax + "~" + tax_Penalty + "~" + Tax_Inst + "~" + attroney_Fee + "~" + Payments + "~" + Balnce;
                                        gc.insert_date(orderNumber, Parcel_ID, 1010, Breakdown_details, 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, Parcel_ID, "Tax Bill Details" + Taxy_Year, driver, "TX", "Hays");
                            }
                            catch
                            { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")).Click();
                                Thread.Sleep(4000);

                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Receipt Details" + Taxy_Year, driver, "TX", "Hays");
                            }
                            catch
                            { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[4]/a")).Click();
                                Thread.Sleep(4000);

                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Summary Details" + Taxy_Year, driver, "TX", "Hays");
                            }
                            catch
                            { }

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

                    //Tax Authority
                    driver.Navigate().GoToUrl("https://hayscountytax.com/#/contact");
                    Thread.Sleep(2000);
                    try
                    {
                        Taxing = "712 S Stagecoach Trail San Marcos, Texas 78666";
                        Phone  = "Phone: (512) 393-5545";
                        Fax    = "Fax: (512) 393-5547";

                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax Authority Details", driver, "TX", "Hays");
                        Taxing_Authority = Taxing + " " + Phone + " " + Fax;

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

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

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

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