Ejemplo n.º 1
0
        public string FTP_ForsythGA(string Address, string ownername, 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 = "";
            string Parcelno = "", Owner = "", Property_Address = "", Legal_Desp = "", MultiOwner_details = "", MultiAddress_details = "";
            string Parcel_ID = "", Location = "", Legal = "", Property_Class = "", Nighbrhod = "", Tax_Dis = "", Zoing = "", Acres = "", Homestd = "", Exemption = "", Overall_OwnMailAdd = "", Year_Built = "";
            string property = "", yblt = "", Mailing_Address2 = "", Mailing_Address1 = "", Owner1 = "", Owner2 = "", Exemp = "", Home = "", Acrs = "", Zone = "", tx_Dis = "", Nhg = "", Pro_Cls = "", Lg_Des = "", Loc = "", Par = "";
            string Year1 = "", Year5 = "", Year6 = "", Year2 = "", Year3 = "", Year4 = "", Assemnt_Details1 = "", Assemnt_Details2 = "", Assemnt_Details3 = "", Assemnt_Details4 = "", total = "", Total_Payments = "", Convey = "", Convey_Fee = "", Paid = "", Total_Paid = "", TaxPayment_details1 = "", TaxPayment_details = "", Balnce_Due = "", Tax_Bill = "", Tax_year = "";
            string Taxy = "", Total_DUE = "", Last_PAYDATE = "", Tax_P = "", Tax_Payer = "", Map = "", Map_Code = "", Desk = "", Desk_Pro = "", Locy = "", Tax_Location = "", Bl_No = "", Tax_Billno = "", Disti = "", Tax_Dist = "", Build_Val = "", Land_Val = "", Tax_Acres = "", FrMkt_Val = "", Tax_DueDate = "", Tax_Exmpions = "", TaxInfo_Details = "";
            string Cu_Du = "", Penalt = "", In_Tx = "", Oth_Fe = "", Pre_Pay = "", Bc_Tx = "", Tl_Du = "", Cur_Due = "", Tax_Penalty = "", Int_Rest = "", Other_Fees = "", Previous_Payments = "", Back_Taxes = "", TaxToal_Due = "", DueTaxInfo_Details = "";
            string Entity = "", FMV = "", Net_Assmnt = "", Exmpl = "", Taxble_Value = "", Millage_Rate = "", Grs_Tax = "", Cretit = "", NetTax = "", CityPayment_details = "", Taxble_Value1 = "", Millage_Rate1 = "", Grs_Tax1 = "", Cretit1 = "", NetTax1 = "";
            string Tax_Auth1 = "", Tax_Auth2 = "", Tax_Authotiry = "", TaxAuthority_Details = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

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

                    if (searchType == "titleflex")
                    {
                        string titleaddress = Address;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "GA", "Forsyth");
                        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_ForsythGA"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    driver.Navigate().GoToUrl("http://qpublic9.qpublic.net/ga_search_dw.php?county=ga_forsyth");
                    Thread.Sleep(2000);
                    if (searchType == "address")
                    {
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

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

                        try
                        {
                            int                 AddressmaxCheck = 0;
                            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", "Forsyth");

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

                                        MultiAddress_details = Owner + "~" + Property_Address + "~" + Legal_Desp;
                                        gc.insert_date(orderNumber, Parcelno, 1364, MultiAddress_details, 1, DateTime.Now);
                                        AddressmaxCheck++;
                                    }
                                }
                            }
                            if (AddressmaxCheck > 25)
                            {
                                HttpContext.Current.Session["multiParcel_GAForsyth_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_GAForsyth"] = "Yes";
                            }
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch
                        { }
                    }

                    if (searchType == "parcel")
                    {
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).Click();
                        Thread.Sleep(2000);
                    }

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

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

                        try
                        {
                            int                 AddressmaxCheck = 0;
                            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", "Forsyth");

                            foreach (IWebElement MultiAddress in MultiAddressTR)
                            {
                                if (AddressmaxCheck <= 25)
                                {
                                    MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                    if (MultiAddressTD.Count != 0)
                                    {
                                        Parcelno             = MultiAddressTD[1].Text;
                                        Owner                = MultiAddressTD[2].Text;
                                        Property_Address     = MultiAddressTD[3].Text;
                                        Legal_Desp           = MultiAddressTD[5].Text;
                                        MultiAddress_details = Owner + "~" + Property_Address + "~" + Legal_Desp;
                                        gc.insert_date(orderNumber, Parcelno, 1364, MultiAddress_details, 1, DateTime.Now);
                                        AddressmaxCheck++;
                                    }
                                }
                            }
                            if (AddressmaxCheck > 25)
                            {
                                HttpContext.Current.Session["multiParcel_GAForsyth_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_GAForsyth"] = "Yes";
                            }
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch
                        { }
                    }
                    try
                    {
                        IWebElement Inodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults"));
                        if (Inodata.Text.Contains("No results match your search criteria"))
                        {
                            HttpContext.Current.Session["Nodata_ForsythGA"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }
                    //Property Details
                    IWebElement         PropertyTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/table[1]/tbody"));
                    IList <IWebElement> PropertyTR = PropertyTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> PropertyTD;
                    foreach (IWebElement Property in PropertyTR)
                    {
                        PropertyTD = Property.FindElements(By.TagName("td"));
                        if (PropertyTD.Count != 0)
                        {
                            Par = PropertyTD[0].Text;
                            if (Par.Contains("Parcel Number"))
                            {
                                Parcel_ID = PropertyTD[1].Text;
                            }

                            Loc = PropertyTD[0].Text;
                            if (Loc.Contains("Location Address"))
                            {
                                Location = PropertyTD[1].Text;
                            }

                            Lg_Des = PropertyTD[0].Text;
                            if (Lg_Des.Contains("Legal Description"))
                            {
                                Legal = PropertyTD[1].Text;
                            }

                            Pro_Cls = PropertyTD[0].Text;
                            if (Pro_Cls.Contains("Property Class"))
                            {
                                Property_Class = PropertyTD[1].Text;
                            }

                            Nhg = PropertyTD[0].Text;
                            if (Nhg.Contains("Neighborhood"))
                            {
                                Nighbrhod = PropertyTD[1].Text;
                            }

                            tx_Dis = PropertyTD[0].Text;
                            if (tx_Dis.Contains("Tax District"))
                            {
                                Tax_Dis = PropertyTD[1].Text;
                            }

                            Zone = PropertyTD[0].Text;
                            if (Zone.Contains("Zoning"))
                            {
                                Zoing = PropertyTD[1].Text;
                            }

                            Acrs = PropertyTD[0].Text;
                            if (Acrs.Contains("Acres"))
                            {
                                Acres = PropertyTD[1].Text;
                            }

                            Home = PropertyTD[0].Text;
                            if (Home.Contains("Homestead"))
                            {
                                Homestd = PropertyTD[1].Text;
                            }

                            Exemp = PropertyTD[0].Text;
                            if (Exemp.Contains("Exemptions"))
                            {
                                Exemption = PropertyTD[1].Text;
                            }
                        }
                    }

                    try
                    {                                        //  ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lnkSearch
                                                             //ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch
                        try
                        {
                            Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch']")).Text;
                        }
                        catch
                        {
                            Owner1 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lnkSearch")).Text;
                        }
                        Owner2             = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblOwnerName2")).Text;
                        Mailing_Address1   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text;
                        Mailing_Address2   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text;
                        Overall_OwnMailAdd = Owner1 + " " + Owner2 + " & " + Mailing_Address1 + " " + Mailing_Address2;
                    }
                    catch
                    { }

                    if (Owner2.Trim() == "")
                    {
                        try
                        {
                            Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch']")).Text;
                        }
                        catch
                        {
                            Owner1 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lnkSearch")).Text;
                        }
                        Mailing_Address1   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text;
                        Mailing_Address2   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text;
                        Overall_OwnMailAdd = Owner1 + " & " + Mailing_Address1 + " " + Mailing_Address2;
                    }
                    try
                    {
                        IWebElement         Yeartb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl06_mSection']/div/div/div[1]/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 && Tax4.Text.Contains("Year Built"))
                            {
                                Year_Built = YearTD[1].Text;
                            }
                        }
                    }
                    catch
                    { }

                    property = Location + "~" + Legal + "~" + Property_Class + "~" + Nighbrhod + "~" + Tax_Dis + "~" + Zoing + "~" + Acres + "~" + Homestd + "~" + Exemption + "~" + Overall_OwnMailAdd + "~" + Year_Built;
                    gc.insert_date(orderNumber, Parcel_ID, 1243, property, 1, DateTime.Now);

                    //Assessment Details
                    IWebElement         AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_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)
                        {
                            try
                            {
                                Year1 = AssmTh[0].Text;
                                Year2 = AssmTh[1].Text;
                                Year3 = AssmTh[2].Text;
                                Year4 = AssmTh[3].Text;
                                Year5 = AssmTh[4].Text;
                                Year6 = AssmTh[5].Text;
                            }
                            catch { }
                        }
                    }

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

                    List <string> LUC         = new List <string>();
                    List <string> Class       = new List <string>();
                    List <string> Land_Value  = new List <string>();
                    List <string> Build_Value = new List <string>();
                    List <string> Total_Value = new List <string>();
                    List <string> Assed_Value = new List <string>();

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

                        if (AssmTd.Count != 0)
                        {
                            if (j == 0)
                            {
                                LUC.Add(AssmTd[2].Text);
                                LUC.Add(AssmTd[3].Text);
                            }
                            else if (j == 1)
                            {
                                Class.Add(AssmTd[2].Text);
                                Class.Add(AssmTd[3].Text);
                            }
                            else if (j == 2)
                            {
                                Land_Value.Add(AssmTd[2].Text);
                                Land_Value.Add(AssmTd[3].Text);
                            }
                            else if (j == 3)
                            {
                                Build_Value.Add(AssmTd[2].Text);
                                Build_Value.Add(AssmTd[3].Text);
                            }
                            else if (j == 4)
                            {
                                Total_Value.Add(AssmTd[2].Text);
                                Total_Value.Add(AssmTd[3].Text);
                            }
                            else if (j == 6)
                            {
                                Assed_Value.Add(AssmTd[2].Text);
                                Assed_Value.Add(AssmTd[3].Text);
                            }

                            j++;
                        }
                    }

                    Assemnt_Details1 = Year1 + "~" + LUC[0] + "~" + Class[0] + "~" + Land_Value[0] + "~" + Build_Value[0] + "~" + Total_Value[0] + "~" + Assed_Value[0];
                    Assemnt_Details2 = Year2 + "~" + LUC[1] + "~" + Class[1] + "~" + Land_Value[1] + "~" + Build_Value[1] + "~" + Total_Value[1] + "~" + Assed_Value[1];
                    //Assemnt_Details3 = Year3 + "~" + LUC[2] + "~" + Class[2] + "~" + Land_Value[2] + "~" + Build_Value[2] + "~" + Total_Value[2] + "~" + Assed_Value[2];
                    //Assemnt_Details4 = Year4 + "~" + LUC[3] + "~" + Class[3] + "~" + Land_Value[3] + "~" + Build_Value[3] + "~" + Total_Value[3] + "~" + Assed_Value[3];
                    //string Assemnt_Details5 = Year5 + "~" + LUC[4] + "~" + Class[4] + "~" + Land_Value[4] + "~" + Build_Value[4] + "~" + Total_Value[4] + "~" + Assed_Value[4];
                    //string Assemnt_Details6 = Year6 + "~" + LUC[5] + "~" + Class[5] + "~" + Land_Value[5] + "~" + Build_Value[5] + "~" + Total_Value[5] + "~" + Assed_Value[5];
                    gc.insert_date(orderNumber, Parcel_ID, 1244, Assemnt_Details1, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 1244, Assemnt_Details2, 1, DateTime.Now);
                    //gc.insert_date(orderNumber, Parcel_ID, 1244, Assemnt_Details3, 1, DateTime.Now);
                    //gc.insert_date(orderNumber, Parcel_ID, 1244, Assemnt_Details4, 1, DateTime.Now);
                    //gc.insert_date(orderNumber, Parcel_ID, 1244, Assemnt_Details5, 1, DateTime.Now);
                    //gc.insert_date(orderNumber, Parcel_ID, 1244, Assemnt_Details6, 1, DateTime.Now);
                    gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "GA", "Forsyth");
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    //tax site
                    driver.Navigate().GoToUrl("https://www1.forsythco.com/PayPropertyTax/TaxBillSearch.aspx");
                    string p_no       = Parcel_ID.Trim();
                    string parcel     = p_no.Split(' ')[0];
                    string parcel_num = p_no.Split(' ')[1];

                    driver.FindElement(By.Id("Body_MapParcelID1")).SendKeys(parcel);
                    driver.FindElement(By.Id("Body_MapParcelID2")).SendKeys(parcel_num);
                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Parcel", driver, "GA", "Forsyth");
                    driver.FindElement(By.Id("Body_MapParcelIDGo")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Parcel click", driver, "GA", "Forsyth");
                    IWebElement Percelhref = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody/tr[2]/td[1]/a"));
                    string      Hrefclick  = Percelhref.GetAttribute("href");
                    driver.Navigate().GoToUrl(Hrefclick);
                    Thread.Sleep(1000);
                    List <string> ParcelSearch = new List <string>();
                    try
                    {
                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax Information click", driver, "GA", "Forsyth");
                        IWebElement         ParcelTB = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/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 - 3 || row == rows_count - 1 || row == rows_count - 2)
                            {
                                IList <IWebElement> Columns_row = ParcelTR[row].FindElements(By.TagName("td"));
                                int columns_count = Columns_row.Count;
                                if (columns_count != 0)
                                {
                                    IWebElement ParcelBill_link = Columns_row[1].FindElement(By.TagName("a"));
                                    string      Parcelurl       = ParcelBill_link.GetAttribute("href");
                                    ParcelSearch.Add(Parcelurl);
                                }
                            }
                        }
                    }
                    catch { }
                    string              bodyowner          = driver.FindElement(By.Id("Body_Owners")).Text;
                    IWebElement         taxbillnumbertable = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody"));
                    IList <IWebElement> taxbillnumberrow   = taxbillnumbertable.FindElements(By.TagName("tr"));
                    IList <IWebElement> taxbillnumberid;
                    foreach (IWebElement Currenttax1 in taxbillnumberrow)
                    {
                        taxbillnumberid = Currenttax1.FindElements(By.TagName("td"));
                        if (taxbillnumberid.Count == 4 && taxbillnumberid[1].Text.Trim() != "")
                        {
                            string taxbillnumberresult = bodyowner + "~" + taxbillnumberid[0].Text + "~" + taxbillnumberid[1].Text + "~" + taxbillnumberid[2].Text;
                            gc.insert_date(orderNumber, Parcel_ID, 1250, taxbillnumberresult, 1, DateTime.Now);
                        }
                    }

                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Click after", driver, "GA", "Forsyth");
                    string TotalPaymenthead     = driver.FindElement(By.Id("Body_TotalPaymentsPendingLabel")).Text;
                    string Toatalpaymentpending = driver.FindElement(By.Id("Body_TotalPaymentsPending")).Text;
                    gc.insert_date(orderNumber, Parcel_ID, 1250, "~" + "~" + TotalPaymenthead + "~" + Toatalpaymentpending, 1, DateTime.Now);
                    string ConvenFeehead = driver.FindElement(By.Id("Body_Label1")).Text;
                    string convenfeebody = driver.FindElement(By.Id("Body_ConvenienceFee")).Text;
                    gc.insert_date(orderNumber, Parcel_ID, 1250, "~" + "~" + ConvenFeehead + "~" + convenfeebody, 1, DateTime.Now);
                    string Totalbodyhead = driver.FindElement(By.Id("Body_Label2")).Text;
                    string Totalamtbody  = driver.FindElement(By.Id("Body_TotalAmountToBePaid")).Text;
                    gc.insert_date(orderNumber, Parcel_ID, 1250, "~" + "~" + Totalbodyhead + "~" + Totalamtbody, 1, DateTime.Now);
                    int i = 0;
                    foreach (string taxlink in ParcelSearch)
                    {
                        driver.Navigate().GoToUrl(taxlink);
                        string Taxyear1      = driver.FindElement(By.Id("PropertyTaxLabel")).Text;
                        string Taxyear       = GlobalClass.Before(Taxyear1, "Property Tax").Trim();
                        string Taxpayer      = driver.FindElement(By.Id("TaxPayerText")).Text;
                        string Discription   = driver.FindElement(By.Id("DescriptionText")).Text;
                        string LocationTax   = driver.FindElement(By.Id("LocationText")).Text;
                        string Billnumber    = driver.FindElement(By.Id("BillNoText")).Text;
                        string district      = driver.FindElement(By.Id("DistrictText")).Text;
                        string Builiding     = driver.FindElement(By.Id("BuildingValueText")).Text;
                        string Lanvalue      = driver.FindElement(By.Id("LandValueText")).Text;
                        string Arces         = driver.FindElement(By.Id("AcresText")).Text;
                        string FairMarket    = driver.FindElement(By.Id("FairMarketValueText")).Text;
                        string Duedate       = driver.FindElement(By.Id("DueDateText")).Text;
                        string Exemptions    = driver.FindElement(By.Id("ExemptionsText")).Text;
                        string Topduedaate   = driver.FindElement(By.Id("DueDateTopText")).Text;
                        string Totaldue      = driver.FindElement(By.Id("TotalDueTopText")).Text;
                        string Lastpayerid   = driver.FindElement(By.Id("LastPaymentTopText")).Text;
                        string Lastpayername = GlobalClass.After(Lastpayerid, "Last payment made on:");
                        Tax_Auth1     = driver.FindElement(By.Id("title")).Text;
                        Tax_Auth2     = driver.FindElement(By.Id("streetAddress")).Text;
                        Tax_Authotiry = driver.FindElement(By.Id("cityStateZip")).Text;
                        string Tax_Auth3 = driver.FindElement(By.XPath("//*[@id='commissionerData']/tbody/tr[8]/td")).Text;
                        TaxAuthority_Details = Tax_Auth1 + " " + Tax_Auth2 + " " + Tax_Authotiry + " " + Tax_Auth3;
                        string TaxDetailresult = Taxyear + "~" + Taxpayer + "~" + Discription + "~" + LocationTax + "~" + Billnumber + "~" + district + "~" + Builiding + "~" + Lanvalue + "~" + Arces + "~" + FairMarket + "~" + Duedate + "~" + Exemptions + "~" + Totaldue + "~" + Lastpayername + "~" + TaxAuthority_Details;
                        gc.insert_date(orderNumber, Parcel_ID, 1247, TaxDetailresult, 1, DateTime.Now);
                        IWebElement         CurrenttaxTable = driver.FindElement(By.XPath("//*[@id='EntityTable']/tbody"));
                        IList <IWebElement> Currenttaxrow   = CurrenttaxTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> Currenttaxid;
                        foreach (IWebElement Currenttax in Currenttaxrow)
                        {
                            Currenttaxid = Currenttax.FindElements(By.TagName("td"));
                            if (Currenttaxid.Count == 9 && !Currenttax.Text.Contains("Entity"))
                            {
                                string Currentresult = Taxyear + "~" + Currenttaxid[0].Text + "~" + Currenttaxid[1].Text + "~" + Currenttaxid[2].Text + "~" + Currenttaxid[3].Text + "~" + Currenttaxid[4].Text + "~" + Currenttaxid[5].Text + "~" + Currenttaxid[6].Text + "~" + Currenttaxid[7].Text + "~" + Currenttaxid[8].Text;
                                gc.insert_date(orderNumber, Parcel_ID, 1248, Currentresult, 1, DateTime.Now);
                            }
                            if (Currenttaxid.Count == 5 && !Currenttax.Text.Contains("Entity"))
                            {
                                string Currentresult = Taxyear + "~" + " " + "~" + "~" + "~" + "~" + Currenttaxid[0].Text + "~" + Currenttaxid[1].Text + "~" + Currenttaxid[2].Text + "~" + Currenttaxid[3].Text + "~" + Currenttaxid[4].Text;
                                gc.insert_date(orderNumber, Parcel_ID, 1248, Currentresult, 1, DateTime.Now);
                            }
                        }
                        gc.CreatePdf(orderNumber, Parcel_ID, "Property Tax statment" + i, driver, "GA", "Forsyth");
                        IWebElement         CurrenttaxTable1 = driver.FindElement(By.XPath("//*[@id='CurrentDueTable']/tbody"));
                        IList <IWebElement> Currenttaxrow1   = CurrenttaxTable1.FindElements(By.TagName("tr"));
                        IList <IWebElement> Currenttaxid1;
                        foreach (IWebElement Currenttax1 in Currenttaxrow1)
                        {
                            Currenttaxid1 = Currenttax1.FindElements(By.TagName("td"));
                            if (Currenttaxid1.Count == 3 && Currenttaxid1[1].Text.Trim() != "")
                            {
                                string Currentresult = Taxyear + "~" + Currenttaxid1[1].Text + "~" + Currenttaxid1[2].Text;
                                gc.insert_date(orderNumber, Parcel_ID, 1361, Currentresult, 1, DateTime.Now);
                            }
                        }
                        i++;
                    }
                    driver.Quit();
                    gc.mergpdf(orderNumber, "GA", "Forsyth");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
        public string FTP_CASanBernardino(string houseno, string sname, string stype, string city, string parcelNumber, string searchType, string orderNumber, string ownername, string unitno)
        {
            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())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    if (searchType == "titleflex")
                    {
                        address = houseno + " " + sname + " " + stype + " " + unitno;
                        gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "CA", "San Bernardino");

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

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("http://www.mytaxcollector.com/trSearch.aspx");
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/table/tbody/tr[1]/td[2]/nobr/input")).SendKeys(houseno);
                        driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/table/tbody/tr[2]/td[2]/nobr/input")).SendKeys(sname);

                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CA", "San Bernardino");
                        driver.FindElement(By.Id("ctl00_contentHolder_cmdSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(3000);
                        gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "CA", "San Bernardino");


                        try
                        {
                            IWebElement         MultiAddressTB = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/div[1]/table/tbody"));
                            IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiAddressTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "CA", "San Bernardino");
                            int AddressmaxCheck = 0;

                            if (MultiAddressTR.Count == 2)
                            {
                                driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/div[1]/table/tbody/tr[2]/td[1]/a")).Click();
                                Thread.Sleep(2000);
                            }

                            else
                            {
                                foreach (IWebElement MultiAddress in MultiAddressTR)
                                {
                                    if (AddressmaxCheck <= 25)
                                    {
                                        MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                        if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Parcel Number"))
                                        {
                                            Parcelno = MultiAddressTD[0].Text;
                                            Address  = MultiAddressTD[1].Text;

                                            MultiAddress_details = Address;
                                            gc.insert_date(orderNumber, Parcelno, 557, MultiAddress_details, 1, DateTime.Now);
                                        }
                                        AddressmaxCheck++;
                                    }
                                }
                                if (MultiAddressTR.Count > 25)
                                {
                                    HttpContext.Current.Session["multiParcel_SanBernardino_Multicount"] = "Maximum";
                                }
                                else
                                {
                                    HttpContext.Current.Session["multiparcel_SanBernardino"] = "Yes";
                                }
                                driver.Quit();

                                return("MultiParcel");
                            }
                        }
                        catch
                        { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://www.mytaxcollector.com/trSearch.aspx");
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/table/tbody/tr[6]/td[2]/input")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "CA", "San Bernardino");

                        driver.FindElement(By.Id("ctl00_contentHolder_cmdSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }

                    else if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("http://www.sbcounty.gov/assessor/pims/(S(fbwsp3kdg4b2bm5y5tgxd2r3))/PIMSINTERFACE.ASPX");
                        Thread.Sleep(2000);

                        IWebElement iframeElementOwner = driver.FindElement(By.XPath("//*[@id='frameSearchResults']"));
                        driver.SwitchTo().Frame(iframeElementOwner);
                        Thread.Sleep(2000);

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

                        driver.FindElement(By.Id("FormattedNameSearchInput1_txtLASTNAME")).SendKeys(ownername);
                        driver.FindElement(By.Id("FormattedNameSearchInput1_btnStartNameSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(4000);
                        try
                        {
                            IWebElement         MultiOwnerTB = driver.FindElement(By.XPath("//*[@id='G_UltraWebGridSearchResults']/tbody"));
                            IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiOwnerTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "CA", "San Bernardino");
                            int maxCheck = 0;

                            foreach (IWebElement MultiOwner in MultiOwnerTR)
                            {
                                if (maxCheck <= 25)
                                {
                                    MultiOwnerTD = MultiOwner.FindElements(By.TagName("td"));
                                    if (MultiOwnerTD.Count != 0)
                                    {
                                        Parcelno = MultiOwnerTD[1].Text;
                                        Address  = MultiOwnerTD[6].Text;

                                        MultiOwner_details = Address;
                                        gc.insert_date(orderNumber, Parcelno, 557, MultiOwner_details, 1, DateTime.Now);
                                    }
                                    maxCheck++;
                                }
                            }

                            if (MultiOwnerTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_SanBernardino_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_SanBernardino"] = "Yes";
                            }
                            driver.Quit();

                            return("MultiParcel");
                        }
                        catch
                        { }
                    }
                    try
                    {
                        Parcelno = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[1]/tbody/tr[2]/td")).Text;
                        Parcelno = WebDriverTest.After(Parcelno, "Parcel ").Replace("-", "");
                    }
                    catch
                    { }

                    //Property Details
                    driver.Navigate().GoToUrl("http://www.sbcounty.gov/assessor/pims/(S(fbwsp3kdg4b2bm5y5tgxd2r3))/PIMSINTERFACE.ASPX");
                    Thread.Sleep(4000);

                    IWebElement iframeElementAdd = driver.FindElement(By.XPath("//*[@id='frameSearchResults']"));
                    driver.SwitchTo().Frame(iframeElementAdd);
                    Thread.Sleep(2000);

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

                    driver.FindElement(By.Id("ParcelInquiryInput1_txtParcelNbr")).SendKeys(Parcelno);
                    driver.FindElement(By.Id("ParcelInquiryInput1_btnStartParcelInquiry")).SendKeys(Keys.Enter);
                    Thread.Sleep(6000);
                    driver.SwitchTo().DefaultContent();

                    IWebElement iframeElementAdd1 = driver.FindElement(By.XPath("//*[@id='frmset']/frame[2]"));
                    driver.SwitchTo().Frame(iframeElementAdd1);
                    Thread.Sleep(2000);

                    IWebElement iframeElementAdd2 = driver.FindElement(By.XPath("//*[@id='RadPageViewPropInfo']/iframe"));
                    driver.SwitchTo().Frame(iframeElementAdd2);
                    Thread.Sleep(2000);

                    try
                    {
                        Parcelno              = driver.FindElement(By.XPath("//*[@id='spnPROPERTYINFO']/center[1]/table/tbody/tr[2]/td[1]")).Text;
                        ownername1            = driver.FindElement(By.XPath("//*[@id='spnPROPERTYINFO']/div[1]/table/tbody/tr/td[3]/table/tbody/tr[2]/td[1]")).Text;
                        Effective_Date        = driver.FindElement(By.XPath("//*[@id='spnPROPERTYINFO']/div[1]/table/tbody/tr/td[3]/table/tbody/tr[2]/td[2]")).Text;
                        ownername2            = driver.FindElement(By.XPath("//*[@id='spnPROPERTYINFO']/div[1]/table/tbody/tr/td[3]/table/tbody/tr[3]/td")).Text;
                        Owner_Mailing_Address = ownername1 + ownername2;
                        Legal_Description     = driver.FindElement(By.XPath("//*[@id='spnPROPERTYINFO']/div[3]/textarea")).Text;

                        Property_Details = Owner_Mailing_Address + "~" + Effective_Date + "~" + Legal_Description;
                        gc.CreatePdf(orderNumber, Parcelno, "Property Details", driver, "CA", "San Bernardino");
                        gc.insert_date(orderNumber, Parcelno, 558, Property_Details, 1, DateTime.Now);
                    }
                    catch
                    { }
                    driver.SwitchTo().DefaultContent();

                    //Assessment Details
                    IWebElement iframeElementAdd3 = driver.FindElement(By.XPath("//*[@id='frmset']/frame[2]"));
                    driver.SwitchTo().Frame(iframeElementAdd3);
                    Thread.Sleep(2000);

                    driver.FindElement(By.XPath("//*[@id='RadTabStripMain']/div/ul/li[2]/a")).Click();
                    Thread.Sleep(2000);

                    IWebElement iframeElementAdd4 = driver.FindElement(By.XPath("//*[@id='RadPageViewRollValuesHist']/iframe"));
                    driver.SwitchTo().Frame(iframeElementAdd4);
                    Thread.Sleep(4000);

                    Land_Value          = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[8]/td[1]")).Text;
                    Improvement_Value   = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[9]/td[1]")).Text;
                    Improvement_Penalty = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[10]/td[1]")).Text;
                    PresProp_Value      = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[11]/td[1]")).Text;
                    PresProp_Penalty    = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[12]/td[1]")).Text;
                    Total_Penalties     = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[13]/td[1]")).Text;
                    TotalAssessed_Value = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[14]/td[1]")).Text;
                    Homeowner_Exemption = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[15]/td[1]")).Text;
                    Special_Exemptions  = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[16]/td[1]")).Text;
                    Net_Value           = driver.FindElement(By.XPath("//*[@id='mainsect']/tbody/tr[17]/td[1]")).Text;

                    Assessment_Details = Land_Value + "~" + Improvement_Value + "~" + Improvement_Penalty + "~" + PresProp_Value + "~" + PresProp_Penalty + "~" + Total_Penalties + "~" + TotalAssessed_Value + "~" + Homeowner_Exemption + "~" + Special_Exemptions + "~" + Net_Value;
                    gc.CreatePdf(orderNumber, Parcelno, "Assessment Details", driver, "CA", "San Bernardino");
                    gc.insert_date(orderNumber, Parcelno, 559, Assessment_Details, 1, DateTime.Now);
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    driver.Navigate().GoToUrl("http://www.mytaxcollector.com/trSearch.aspx");
                    Thread.Sleep(2000);

                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/table/tbody/tr[6]/td[2]/input")).SendKeys(Parcelno);

                    driver.FindElement(By.Id("ctl00_contentHolder_cmdSearch")).SendKeys(Keys.Enter);
                    Thread.Sleep(2000);

                    driver.FindElement(By.XPath("//*[@id='ctl00_menuHolder_trLeftNav_LeftNavMenuControln9']/td/table/tbody/tr/td/a")).Click();
                    Thread.Sleep(2000);

                    //Tax Payment History Details

                    IWebElement         PaymentTB = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/div[1]/table/tbody"));
                    IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> PaymentTD;

                    foreach (IWebElement Payment in PaymentTR)
                    {
                        PaymentTD = Payment.FindElements(By.TagName("td"));
                        if (PaymentTD.Count != 0 && !Payment.Text.Contains("Bill Number"))
                        {
                            Bill_Number = PaymentTD[0].Text;
                            Eff_Date    = PaymentTD[1].Text;
                            Extnd_Date  = PaymentTD[2].Text;
                            Correction  = PaymentTD[3].Text;
                            Remarks     = PaymentTD[4].Text;

                            Payment_details = Bill_Number + "~" + Eff_Date + "~" + Extnd_Date + "~" + Correction + "~" + Remarks;
                            gc.CreatePdf(orderNumber, Parcelno, "Tax Paymnt Details", driver, "CA", "San Bernardino");
                            gc.insert_date(orderNumber, Parcelno, 560, Payment_details, 1, DateTime.Now);
                        }
                    }

                    //Current Tax Details
                    driver.FindElement(By.XPath("//*[@id='ctl00_menuHolder_trLeftNav_LeftNavMenuControln10']/td/table/tbody/tr/td/a")).Click();
                    Thread.Sleep(2000);

                    List <string> secure   = new List <string>();
                    List <string> Unsecure = new List <string>();
                    try
                    {
                        Bill_Type = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/div[1]/div")).Text;

                        IWebElement         Receipttable    = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/div[1]/table[3]/tbody"));
                        IList <IWebElement> ReceipttableRow = Receipttable.FindElements(By.TagName("tr"));
                        IList <IWebElement> ReceipttableTD;

                        foreach (IWebElement Receipt in ReceipttableRow)
                        {
                            ReceipttableTD = Receipt.FindElements(By.TagName("td"));
                            if (ReceipttableTD.Count != 0 && Receipt.Text.Contains("Installment"))
                            {
                                IWebElement Bill_link = ReceipttableTD[0].FindElement(By.TagName("a"));
                                url = Bill_link.GetAttribute("href");
                                secure.Add(url);
                            }
                            if (ReceipttableTD.Count != 0 && !Receipt.Text.Contains("Bill Number") && !Receipt.Text.Contains("Total:"))
                            {
                                Penalty  = ReceipttableTD[2].Text;
                                Cost     = ReceipttableTD[3].Text;
                                Inst_Del = ReceipttableTD[6].Text;

                                CurrentTax_Details = Bill_Type + "~" + Penalty + "~" + Cost + "~" + Inst_Del + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-";
                                gc.CreatePdf(orderNumber, Parcelno, "Secured Tax Bills Details", driver, "CA", "San Bernardino");
                                gc.insert_date(orderNumber, Parcelno, 561, CurrentTax_Details, 1, DateTime.Now);
                            }
                        }

                        //Deliquent taxes
                        try
                        {
                            bill_type = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/div[2]/table[1]/tbody/tr/th/center/font/a")).Text;

                            IWebElement         Unsecuredtable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/form/div[2]/table[2]/tbody"));
                            IList <IWebElement> UnsecuredRow   = Unsecuredtable.FindElements(By.TagName("tr"));
                            IList <IWebElement> UnsecuredTD;

                            foreach (IWebElement Unsecured in UnsecuredRow)
                            {
                                UnsecuredTD = Unsecured.FindElements(By.TagName("td"));
                                if (UnsecuredTD.Count != 0 && Unsecured.Text.Contains("*"))
                                {
                                    IWebElement UnBill_link = UnsecuredTD[0].FindElement(By.TagName("a"));
                                    Unurl = UnBill_link.GetAttribute("href");
                                    Unsecure.Add(Unurl);
                                }
                                if (UnsecuredTD.Count != 0 && !Unsecured.Text.Contains("Bill Number") && !Unsecured.Text.Contains("Responsible Parties"))
                                {
                                    Lien       = UnsecuredTD[3].Text;
                                    Intrest    = UnsecuredTD[5].Text;
                                    Unpenalty  = UnsecuredTD[6].Text;
                                    Uncost     = UnsecuredTD[7].Text;
                                    Redemption = UnsecuredTD[8].Text;

                                    UnCurrentTax_Details = bill_type + "~" + Lien + "~" + Intrest + "~" + Unpenalty + "~" + Uncost + "~" + Redemption + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-";
                                    gc.CreatePdf(orderNumber, Parcelno, "UnSecured Tax Bills Details", driver, "CA", "San Bernardino");
                                    gc.insert_date(orderNumber, Parcelno, 566, UnCurrentTax_Details, 1, DateTime.Now);
                                }
                            }
                        }
                        catch
                        { }

                        foreach (string bill in secure)
                        {
                            driver.Navigate().GoToUrl(bill);
                            Thread.Sleep(3000);
                            try
                            {
                                Billed_Owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[1]/td/table/tbody/tr[2]/td[2]")).Text;
                                try
                                {
                                    Co_Owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[1]/td/table/tbody/tr[3]/td[2]")).Text;
                                }
                                catch { }
                                Default_date   = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[1]/td[2]")).Text;
                                Tax_Type       = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[1]/td[3]")).Text;
                                TaxBill_Number = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text;
                                Extend_date    = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td[2]")).Text;
                                Effective_date = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td[3]")).Text;
                                Taxrate_Year   = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[4]/td[3]")).Text;

                                IWebElement         valuetableElement = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody"));
                                IList <IWebElement> valuetableRow     = valuetableElement.FindElements(By.TagName("tr"));
                                IList <IWebElement> valuerowTD;

                                List <string> Installment1 = new List <string>();
                                List <string> Due_Amt1     = new List <string>();
                                List <string> Delq_Amt1    = new List <string>();
                                List <string> Due_Date1    = new List <string>();
                                List <string> Pmt_Posted1  = new List <string>();
                                List <string> Installment2 = new List <string>();
                                List <string> Due_Amt2     = new List <string>();
                                List <string> Delq_Amt2    = new List <string>();
                                List <string> Due_Date2    = new List <string>();
                                List <string> Total_Tax    = new List <string>();
                                List <string> Pay_Status   = new List <string>();

                                int j = 0;
                                foreach (IWebElement row in valuetableRow)
                                {
                                    valuerowTD = row.FindElements(By.TagName("td"));
                                    if (j == 0)
                                    {
                                        Installment1.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 1)
                                    {
                                        Due_Amt1.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 2)
                                    {
                                        Delq_Amt1.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 3)
                                    {
                                        Due_Date1.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 4)
                                    {
                                        Pmt_Posted1.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 5)
                                    {
                                        Installment2.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 6)
                                    {
                                        Due_Amt2.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 7)
                                    {
                                        Delq_Amt2.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 8)
                                    {
                                        Due_Date2.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 9)
                                    {
                                        Total_Tax.Add(valuerowTD[0].Text);
                                    }
                                    else if (j == 10)
                                    {
                                        Pay_Status.Add(valuerowTD[0].Text);
                                    }
                                    j++;
                                }

                                SecuredCurrentTax_Details = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + Billed_Owner + "~" + Co_Owner + "~" + Default_date + "~" + Tax_Type + "~" + TaxBill_Number + "~" + Extend_date + "~" + Effective_date + "~" + Taxrate_Year + "~" + Installment1[0] + "~" + Due_Amt1[0] + "~" + Delq_Amt1[0] + "~" + Due_Date1[0] + "~" + Pmt_Posted1[0] + "~" + Installment2[0] + "~" + Due_Amt2[0] + "~" + Delq_Amt2[0] + "~" + Due_Date2[0] + "~" + Total_Tax[0] + "~" + Pay_Status[0];
                                gc.CreatePdf(orderNumber, Parcelno, "Secured Bills Details", driver, "CA", "San Bernardino");
                                gc.insert_date(orderNumber, Parcelno, 561, SecuredCurrentTax_Details, 1, DateTime.Now);
                            }
                            catch
                            { }
                        }
                    }
                    catch
                    { }

                    try
                    {
                        foreach (string Unbill in Unsecure)
                        {
                            driver.Navigate().GoToUrl(Unbill);
                            Thread.Sleep(3000);

                            UnBilled_Owner    = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[1]/td/table/tbody/tr[2]/td[2]")).Text;
                            UnCo_Owner        = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[1]/td/table/tbody/tr[3]/td[2]")).Text;
                            UnDefault_Date    = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[1]/td[2]")).Text;
                            UnTax_Type        = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[1]/td[3]")).Text;
                            UnBill_Number     = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text;
                            UnExtended_Date   = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td[2]")).Text;
                            UnEffective_Owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td[3]")).Text;
                            UnTaxrate_Year    = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[3]/td/table/tbody/tr[4]/td[3]")).Text;

                            IWebElement         UnvaluetableElement = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/table[2]/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody"));
                            IList <IWebElement> UnvaluetableRow     = UnvaluetableElement.FindElements(By.TagName("tr"));
                            IList <IWebElement> UnvaluerowTD;

                            List <string> UnInstallment = new List <string>();
                            List <string> UnDue_Amt     = new List <string>();
                            List <string> UnDelq_Amt    = new List <string>();
                            List <string> UnDue_Date    = new List <string>();
                            List <string> UnTotal_Tax   = new List <string>();
                            List <string> UnPay_Status  = new List <string>();


                            int K = 0;
                            foreach (IWebElement Unrow in UnvaluetableRow)
                            {
                                UnvaluerowTD = Unrow.FindElements(By.TagName("td"));
                                if (K == 0)
                                {
                                    UnInstallment.Add(UnvaluerowTD[0].Text);
                                }
                                else if (K == 1)
                                {
                                    UnDue_Amt.Add(UnvaluerowTD[0].Text);
                                }
                                else if (K == 2)
                                {
                                    UnDelq_Amt.Add(UnvaluerowTD[0].Text);
                                }
                                else if (K == 3)
                                {
                                    UnDue_Date.Add(UnvaluerowTD[0].Text);
                                }
                                else if (K == 4)
                                {
                                    UnTotal_Tax.Add(UnvaluerowTD[0].Text);
                                }
                                else if (K == 5)
                                {
                                    UnPay_Status.Add(UnvaluerowTD[0].Text);
                                }
                                K++;
                            }
                            UnSecuredCurrentTax_Details = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + UnBilled_Owner + "~" + UnCo_Owner + "~" + UnDefault_Date + "~" + UnTax_Type + "~" + UnBill_Number + "~" + UnExtended_Date + "~" + UnEffective_Owner + "~" + UnTaxrate_Year + "~" + UnInstallment[0] + "~" + UnDue_Amt[0] + "~" + UnDelq_Amt[0] + "~" + UnDue_Date[0] + "~" + UnTotal_Tax[0] + "~" + UnPay_Status[0];
                            gc.CreatePdf(orderNumber, Parcelno, "UnSecured Bills Details", driver, "CA", "San Bernardino");
                            gc.insert_date(orderNumber, Parcelno, 566, UnSecuredCurrentTax_Details, 1, DateTime.Now);
                        }
                    }
                    catch
                    { }

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

                    driver.Quit();
                    gc.mergpdf(orderNumber, "CA", "San Bernardino");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Ejemplo n.º 3
0
        public string FTP_MauiHI(string houseno, string Direction, string sname, string stype, string account, string parcelNumber, string ownername, string searchType, string orderNumber)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";

            string        outparcelno = "", taxparcel = "", mailingaddress = "", tax_district = "", siteaddr = "", legal_desc = "", year_built = "", propuse = "", par1 = "", par2 = "";
            string        Building_Value = "", LandValue = "", JustValue = "", cctaxyear = "", Cap = "", AssessedValue = "", Exemption = "", TaxableValue = "";
            string        strBill = "-", strBalance = "-", strBillDate = "-", strBillPaid = "-";
            string        taxowner = "", tax_addr = "", accno = "", alterkey = "", millagecode = "", milagerate = "", ctax_year = "", cpaiddate = "", cpaidamount = "", creceipt = "", combinedtaxamount = "", ceffdate = "", grosstax = "", ifpaidby = "", pleasepay = "";
            string        taxauth1 = "", taxauth2 = "", taxauth3 = "", taxauth4 = "", TaxYear = "";;
            List <string> strissuecertificate = new List <string>();
            List <string> taxhistorylink = new List <string>();
            List <string> downloadlink = new List <string>();
            List <string> taxhistorylinkinst = new List <string>();
            List <string> MailURL = new List <string>();
            string        multi = "", TaxAuthority = "";
            var           driverService = PhantomJSDriverService.CreateDefaultService();

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

                    try
                    {
                        driver.Navigate().GoToUrl("https://www.mauicounty.gov/1952/Real-Property-Assessment-Division");
                        Thread.Sleep(1000);
                        TaxAuthority = driver.FindElement(By.XPath("//*[@id='cc25b3e585-80a6-4aee-89a1-3a53a3528100']/div[1]/div/div[1]/div/div/ol/li/div[1]")).Text.Replace("Physical Address", "").Replace("\r\n", " ").Trim();
                    }
                    catch { }

                    driver.Navigate().GoToUrl("http://qpublic9.qpublic.net/hi_maui_search.php");
                    Thread.Sleep(1000);
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                        Thread.Sleep(2000);
                    }
                    catch { }
                    string Parcelno = "", Ownername = "", parcellocation = "";

                    if (searchType == "titleflex")
                    {
                        gc.TitleFlexSearch(orderNumber, "", ownername, "", "HI", "Maui");
                        //gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "HI", "Maui");
                        if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        if ((HttpContext.Current.Session["TitleFlex_Search"] == null))
                        {
                            HttpContext.Current.Session["Zero_Maui"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                        parcelNumber = parcelNumber.Replace("-", "");
                    }
                    //if (searchType == "address")
                    //{


                    //    try
                    //    {
                    //        driver.FindElement(By.LinkText("Search by Location Address")).Click();
                    //        Thread.Sleep(1000);


                    //        driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[1]/td[2]/input")).SendKeys(houseno);
                    //        driver.FindElement(By.Id("streetName")).SendKeys(sname);
                    //        // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[3]/td[2]/input")).SendKeys(stype);
                    //        // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[4]/td[2]/input")).SendKeys(account);
                    //        gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "HI", "Maui");
                    //        driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[6]/td[2]/input")).SendKeys(Keys.Enter);
                    //        Thread.Sleep(1000);
                    //        //IWebElement multirecord = driver.FindElement(By.XPath("//*[@id='mMessage']"));
                    //    }
                    //    catch { }
                    //    gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "HI", "Maui");
                    //    int Max = 0;
                    //    IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody"));
                    //    IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr"));
                    //    IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th"));
                    //    IList<IWebElement> TDmultiaddress;

                    //    if (TRmultiaddress.Count > 28)
                    //    {
                    //        HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum";
                    //        return "Maximum";
                    //        Max++;
                    //    }
                    //    //if (TRmultiaddress.Count == 8)
                    //    //{
                    //    //    IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a"));
                    //    //    multiclick.Click();
                    //    //    Max++;
                    //    //}
                    //    if (TRmultiaddress.Count >= 6 && Max != 1)
                    //    {
                    //        foreach (IWebElement row in TRmultiaddress)
                    //        {
                    //            TDmultiaddress = row.FindElements(By.TagName("td"));
                    //            if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 5)
                    //            {
                    //                try
                    //                {
                    //                    Parcelno = TDmultiaddress[0].Text.Trim();
                    //                    Ownername = TDmultiaddress[1].Text.Trim();
                    //                    parcellocation = TDmultiaddress[2].Text.Trim();
                    //                    string Multi = Ownername + "~" + parcellocation;
                    //                    gc.insert_date(orderNumber, Parcelno, 1731, Multi, 1, DateTime.Now);
                    //                    Max++;
                    //                }
                    //                catch { }

                    //            }

                    //        }

                    //    }
                    //    if (Max == 1)
                    //    {
                    //        IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a"));
                    //        multiclick.Click();
                    //        Thread.Sleep(2000);
                    //    }
                    //    if (Max > 1)
                    //    {
                    //        HttpContext.Current.Session["multiParcel_Maui"] = "Yes";
                    //        driver.Quit();
                    //        return "MultiParcel";
                    //    }
                    //    if (Max == 0)
                    //    {
                    //        HttpContext.Current.Session["Zero_Maui"] = "Zero";
                    //        driver.Quit();
                    //        return "No Data Found";
                    //    }
                    //}

                    //if (searchType == "parcel")
                    //{

                    //    try
                    //    {
                    //        driver.FindElement(By.LinkText("Search by Parcel Number")).SendKeys(Keys.Enter);
                    //        Thread.Sleep(1000);
                    //    }
                    //    catch { }
                    //    string s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
                    //    if (Convert.ToInt16(parcelNumber.Replace("-", "").Count()) != 12)
                    //    {
                    //        string[] parcelSplit = parcelNumber.Split('-');
                    //        s1 = parcelSplit[0];
                    //        s2 = parcelSplit[1];
                    //        s3 = parcelSplit[2];
                    //        s4 = parcelSplit[3];
                    //        s5 = parcelSplit[4];
                    //        s6 = parcelSplit[5];
                    //        parcelNumber = s2 + s3 + s4 + s5 + s6;
                    //    }
                    //    else
                    //    {
                    //        parcelNumber = parcelNumber.Replace("-", "");
                    //    }
                    //    driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[2]")).SendKeys(parcelNumber);
                    //    gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "HI", "Maui");
                    //    driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter);
                    //    Thread.Sleep(1000);
                    //    gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "HI", "Maui");


                    //    int Max = 0;
                    //    try
                    //    {
                    //        IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody"));
                    //        IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr"));
                    //        IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th"));
                    //        IList<IWebElement> TDmultiaddress;


                    //        if (TRmultiaddress.Count > 28)
                    //        {
                    //            HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum";
                    //            return "Maximum";
                    //            Max++;
                    //        }
                    //        //if (TRmultiaddress.Count == 8)
                    //        //{
                    //        //    IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a"));
                    //        //    multiclick.Click();
                    //        //    Max++;
                    //        //}
                    //        if (TRmultiaddress.Count >= 6 && Max != 1)
                    //        {
                    //            foreach (IWebElement row in TRmultiaddress)
                    //            {
                    //                TDmultiaddress = row.FindElements(By.TagName("td"));
                    //                if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 5)
                    //                {
                    //                    try
                    //                    {
                    //                        Parcelno = TDmultiaddress[0].Text.Trim();
                    //                        Ownername = TDmultiaddress[1].Text.Trim();
                    //                        parcellocation = TDmultiaddress[2].Text.Trim();
                    //                        string Multi = Ownername + "~" + parcellocation;
                    //                        gc.insert_date(orderNumber, Parcelno, 1731, Multi, 1, DateTime.Now);
                    //                        Max++;
                    //                    }
                    //                    catch { }

                    //                }

                    //            }

                    //        }
                    //        if (Max == 1)
                    //        {
                    //            IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a"));
                    //            multiclick.Click();
                    //            Thread.Sleep(2000);
                    //        }
                    //        if (Max > 1)
                    //        {
                    //            HttpContext.Current.Session["multiParcel_Maui"] = "Yes";
                    //            driver.Quit();
                    //            return "MultiParcel";
                    //        }
                    //        if (Max == 0)
                    //        {
                    //            HttpContext.Current.Session["Zero_Maui"] = "Zero";
                    //            driver.Quit();
                    //            return "No Data Found";
                    //        }
                    //    }
                    //    catch { }
                    //}

                    //if (searchType == "ownername")
                    //{

                    //    try
                    //    {
                    //        driver.FindElement(By.LinkText("Search by Owner Name")).SendKeys(Keys.Enter);
                    //        Thread.Sleep(1000);
                    //    }
                    //    catch { }

                    //    driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[2]")).SendKeys(ownername);
                    //    gc.CreatePdf_WOP(orderNumber, "Ownername Search", driver, "HI", "Maui");
                    //    driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter);
                    //    Thread.Sleep(1000);
                    //    gc.CreatePdf_WOP(orderNumber, "Ownername Search Result", driver, "HI", "Maui");

                    //    string ParcelNum = "", Owner_Name = "", ParcelLocation = "";
                    //    int Max = 0;
                    //    try
                    //    {
                    //        IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody"));
                    //        IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr"));
                    //        IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th"));
                    //        IList<IWebElement> TDmultiaddress;


                    //        if (TRmultiaddress.Count > 28)
                    //        {
                    //            HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum";
                    //            return "Maximum";
                    //            Max++;
                    //        }

                    //        if (TRmultiaddress.Count >= 6 && Max != 1)
                    //        {
                    //            foreach (IWebElement row in TRmultiaddress)
                    //            {
                    //                TDmultiaddress = row.FindElements(By.TagName("td"));
                    //                if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 5)
                    //                {
                    //                    try
                    //                    {
                    //                        Parcelno = TDmultiaddress[0].Text.Trim();
                    //                        Ownername = TDmultiaddress[1].Text.Trim();
                    //                        parcellocation = TDmultiaddress[2].Text.Trim();
                    //                        string Multi = Ownername + "~" + parcellocation;
                    //                        gc.insert_date(orderNumber, Parcelno, 1731, Multi, 1, DateTime.Now);
                    //                        Max++;
                    //                    }
                    //                    catch { }

                    //                }

                    //            }

                    //        }
                    //        if (Max == 1)
                    //        {
                    //            IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a"));
                    //            multiclick.Click();
                    //            Thread.Sleep(2000);
                    //        }
                    //        if (Max > 1)
                    //        {
                    //            HttpContext.Current.Session["multiParcel_Maui"] = "Yes";
                    //            driver.Quit();
                    //            return "Multiparcel";
                    //        }
                    //        if (Max == 0)
                    //        {
                    //            HttpContext.Current.Session["Zero_Maui"] = "Zero";
                    //            driver.Quit();
                    //            return "No Record Found";
                    //        }
                    //    }
                    //    catch { }
                    //}

                    //// Property Details

                    //string propertydata = driver.FindElement(By.XPath("/html/body/center[2]/table[2]/tbody")).Text;
                    //string LocationAddress = "", Yearbuilt = "", LandArea = "", MailingAddress = "", Propertyclass = "";
                    //string OwnerName = "", LegalInformation = "", NeighborhoodCode = "", strYearbuilt = "";

                    //parcelNumber = gc.Between(propertydata, "Parcel Number", "Location Address").Trim();
                    //OwnerName = gc.Between(propertydata, "Owner Name", "Today's Date").Replace("Fee Owner", "").Replace("Show All Owners and Addresses", "").Trim();
                    //LocationAddress = gc.Between(propertydata, "Location Address", "Parcel Map").Trim();
                    //MailingAddress = gc.Between(propertydata, "Mailing Address", "Parcel Number").Trim();
                    //LandArea = gc.Between(propertydata, "Land Area", "Legal Information").Trim();
                    //NeighborhoodCode = gc.Between(propertydata, "Neighborhood Code", "Land Area").Trim();
                    //LegalInformation = gc.Between(propertydata, "Legal Information", "Parcel Note").Trim();
                    //try
                    //{
                    //    strYearbuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[6]/tbody")).Text;

                    //}
                    //catch { }
                    //try
                    //{
                    //    if (!strYearbuilt.Contains("No improvement information available for this parcel"))
                    //    {
                    //        IWebElement Iyearbuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[5]/tbody/tr[3]/td[3]"));
                    //        Yearbuilt = Iyearbuilt.Text.Trim();
                    //    }

                    //}
                    //catch { }

                    //string propertydetails = OwnerName + "~" + LocationAddress + "~" + MailingAddress + "~" + LegalInformation + "~" + Yearbuilt;
                    //gc.insert_date(orderNumber, parcelNumber, 1727, propertydetails, 1, DateTime.Now);
                    //gc.CreatePdf(orderNumber, parcelNumber, "Assessment Details", driver, "HI", "Maui");

                    //// Assessment Details
                    //string valuetype = "", Information = "";
                    //try
                    //{
                    //    driver.FindElement(By.LinkText("Show Historical Assessments")).Click();
                    //    Thread.Sleep(4000);
                    //    gc.CreatePdf(orderNumber, parcelNumber, "Assessment History Details", driver, "HI", "Maui");
                    //}
                    //catch { }

                    //try
                    //{
                    //    IWebElement Assessmentdetails = driver.FindElement(By.XPath("/html/body/center[2]/table[3]/tbody"));
                    //    IList<IWebElement> TRAssessmentdetails = Assessmentdetails.FindElements(By.TagName("tr"));
                    //    IList<IWebElement> THAssessmentdetails = Assessmentdetails.FindElements(By.TagName("th"));
                    //    IList<IWebElement> TDAssessmentdetails;
                    //    foreach (IWebElement row in TRAssessmentdetails)
                    //    {
                    //        TDAssessmentdetails = row.FindElements(By.TagName("td"));
                    //        if (TDAssessmentdetails.Count != 0 && !row.Text.Contains("Assessment Information") && row.Text.Trim() != "" && !row.Text.Contains("Year") && TDAssessmentdetails.Count == 9)
                    //        {
                    //            string AssessmentDetail = TDAssessmentdetails[0].Text + "~" + TDAssessmentdetails[1].Text + "~" + TDAssessmentdetails[2].Text + "~" + TDAssessmentdetails[3].Text + "~" + TDAssessmentdetails[4].Text + "~" + TDAssessmentdetails[5].Text + "~" + TDAssessmentdetails[6].Text + "~" + TDAssessmentdetails[7].Text + "~" + TDAssessmentdetails[8].Text;
                    //            gc.insert_date(orderNumber, parcelNumber, 1728, AssessmentDetail, 1, DateTime.Now);

                    //        }
                    //    }

                    //}
                    //catch { }



                    //// Tax History Taxes
                    //int tyear = 0;
                    //try
                    //{
                    //    IWebElement ITaxyear = driver.FindElement(By.XPath("/html/body/center[2]/table[5]/tbody/tr[1]/td/font[1]/a"));
                    //    TaxYear = ITaxyear.Text.Replace("Tax Payments", "").Trim();
                    //    tyear = Convert.ToInt16(TaxYear);
                    //}
                    //catch { }
                    //if (tyear == 0)
                    //{
                    //    try
                    //    {
                    //        TaxYear = driver.FindElement(By.XPath("/html/body/center[2]/table[6]/tbody/tr[1]/td/font[1]/a")).Text;
                    //        TaxYear = TaxYear.Replace("Tax Payments", "").Trim();
                    //        tyear = Convert.ToInt16(TaxYear);
                    //    }
                    //    catch { }
                    //}

                    ////read all tables

                    //IList<IWebElement> tables = driver.FindElements(By.XPath("/html/body/center[2]/table"));
                    //int count = tables.Count;
                    //int j = 0;
                    //foreach (IWebElement tab in tables)
                    //{
                    //    if (tab.Text.Contains("Current Tax Bill Information"))
                    //    {
                    //        IList<IWebElement> currtaxbill = tab.FindElements(By.XPath("tbody/tr"));
                    //        IList<IWebElement> TDCurrentTax;
                    //        foreach (IWebElement row in currtaxbill)
                    //        {
                    //            TDCurrentTax = row.FindElements(By.TagName("td"));
                    //            if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online"))
                    //            {
                    //                if (TDCurrentTax.Count == 10)
                    //                {
                    //                    string CurrentTaxDetail1 = TDCurrentTax[0].Text + "~" + TDCurrentTax[1].Text + "~" + TDCurrentTax[2].Text + "~" + TDCurrentTax[3].Text + "~" + TDCurrentTax[4].Text + "~" + TDCurrentTax[5].Text + "~" + TDCurrentTax[6].Text + "~" + TDCurrentTax[7].Text + "~" + TDCurrentTax[8].Text + "~" + TDCurrentTax[9].Text;
                    //                    gc.insert_date(orderNumber, parcelNumber, 1738, CurrentTaxDetail1, 1, DateTime.Now);
                    //                }

                    //                if (TDCurrentTax.Count == 2)
                    //                {
                    //                    string CurrentTaxDetail2 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TDCurrentTax[0].Text;
                    //                    gc.insert_date(orderNumber, parcelNumber, 1738, CurrentTaxDetail2, 1, DateTime.Now);
                    //                }
                    //            }

                    //        }
                    //    }
                    //    else if (tab.Text.Contains("Historical Tax Information"))
                    //    {
                    //        int u = 0;
                    //        IList<IWebElement> taxhistoryvalue1 = tab.FindElements(By.XPath("tbody/tr"));
                    //        IList<IWebElement> TDTaxHistroy1;
                    //        foreach (IWebElement row in taxhistoryvalue1)
                    //        {
                    //            TDTaxHistroy1 = row.FindElements(By.TagName("td"));
                    //            if (TDTaxHistroy1.Count != 0 && !row.Text.Contains("Historical Tax") && row.Text.Trim() != "" && !row.Text.Contains("Penalty") && !row.Text.Contains("Click") && TDTaxHistroy1.Count == 7)
                    //            {
                    //                if (u < 3)
                    //                {
                    //                    IWebElement Ilink = TDTaxHistroy1[0].FindElement(By.TagName("a"));
                    //                    string URL = Ilink.GetAttribute("href");
                    //                    MailURL.Add(URL);
                    //                    u++;
                    //                }

                    //                string TaxHistoryDetail = TDTaxHistroy1[0].Text + "~" + TDTaxHistroy1[1].Text + "~" + TDTaxHistroy1[2].Text + "~" + TDTaxHistroy1[3].Text + "~" + TDTaxHistroy1[4].Text + "~" + TDTaxHistroy1[5].Text + "~" + TDTaxHistroy1[6].Text;
                    //                gc.insert_date(orderNumber, parcelNumber, 1729, TaxHistoryDetail, 1, DateTime.Now);
                    //            }

                    //        }
                    //    }

                    //    else if (tab.Text.Contains("Sales Information"))
                    //    {
                    //        IList<IWebElement> saleshisvalue = tab.FindElements(By.XPath("tbody/tr"));
                    //        IList<IWebElement> tdsaleshis;
                    //        foreach (IWebElement row in saleshisvalue)
                    //        {
                    //            tdsaleshis = row.FindElements(By.TagName("td"));
                    //            if (tdsaleshis.Count != 0 && !row.Text.Contains("Sale Date") && row.Text.Trim() != "" && !row.Text.Contains("No sales information associated") && tdsaleshis.Count == 9)
                    //            {
                    //                string salesDetail = tdsaleshis[0].Text + "~" + tdsaleshis[1].Text + "~" + tdsaleshis[2].Text + "~" + tdsaleshis[3].Text + "~" + tdsaleshis[4].Text + "~" + tdsaleshis[5].Text + "~" + tdsaleshis[6].Text + "~" + tdsaleshis[7].Text + "~" + tdsaleshis[8].Text;
                    //                gc.insert_date(orderNumber, parcelNumber, 1820, salesDetail, 1, DateTime.Now);
                    //            }

                    //        }
                    //    }
                    //}
                    //int c = 0;
                    //foreach (string suburl in MailURL)
                    //{
                    //    driver.Navigate().GoToUrl(suburl);
                    //    Thread.Sleep(3000);
                    //    IList<IWebElement> ptables = driver.FindElements(By.XPath("/html/body/center[2]/table"));
                    //    int pcount = ptables.Count;

                    //    foreach (IWebElement tabp in ptables)
                    //    {
                    //        if (tabp.Text.Contains("Tax Payment Information "))
                    //        {
                    //            gc.CreatePdf(orderNumber, parcelNumber, "Tax Payment Information" + c, driver, "HI", "Maui");
                    //            IList<IWebElement> taxbill = tabp.FindElements(By.XPath("tbody/tr"));
                    //            IList<IWebElement> TDTax;
                    //            foreach (IWebElement row in taxbill)
                    //            {
                    //                TDTax = row.FindElements(By.TagName("td"));

                    //                if (TDTax.Count != 0 && !row.Text.Contains("Tax Payment") && row.Text.Trim() != "" && !row.Text.Contains("Penalty") && !row.Text.Contains("Totals") && TDTax.Count == 6)
                    //                {
                    //                    string TaxPayHistoryDetail1 = TDTax[0].Text + "~" + TDTax[1].Text + "~" + TDTax[2].Text + "~" + TDTax[3].Text + "~" + TDTax[4].Text + "~" + TDTax[5].Text + "~" + TaxAuthority;
                    //                    gc.insert_date(orderNumber, parcelNumber, 1730, TaxPayHistoryDetail1, 1, DateTime.Now);
                    //                }

                    //            }

                    //        }
                    //    }
                    //    c++;

                    //}

                    //DB Columns
                    //Owner Name~Property Address~Mailing Address~Legal Description~Year Built---- - 1---- 1727
                    //Assessment Year~Property Class~Market Land Value~Agricultural Land Value~Assessed Land Value~Building Value~Total Assessed Value~Total Exemption Value~Total Net Taxable Value-- - 2--1728
                    //Tax Year~Tax Amount~Paid Amount~Penalty~Interest~Other~Due Amount-- 3--1729
                    //Tax Year~Paid Date~Paid Amount~Penalty~Interest~Other~Taxing Authority-- 4--1730
                    //Tax Period~Description~Original Due Date~Taxes Assessment~Tax Credits~Net Tax~Penalty~Interest~Other~Amount Due-- - 5-- - 1738



                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click();
                        Thread.Sleep(2000);
                    }
                    catch { }
                    string address = "";
                    if (Direction != "")
                    {
                        address = houseno + " " + Direction + " " + sname + " " + stype + " " + account;
                    }
                    else
                    {
                        address = houseno + " " + sname + " " + stype + " " + account;
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address);

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

                        try
                        {
                            string              Owner = "", Property_Address = "", MultiAddress_details = "";
                            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, "HI", "Maui");
                            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, 1731, MultiAddress_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiAddressTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum";
                                driver.Quit();
                                return("Maximum");
                            }
                            else
                            {
                                HttpContext.Current.Session["multiParcel_Maui"] = "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["Zero_Maui"] = "Zero";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);

                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "HI", "Maui");
                        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["Zero_Maui"] = "Zero";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername);

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

                        try
                        {
                            string              Owner = "", Property_Address = "", MultiAddress_details = "";
                            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, "HI", "Maui");
                            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, 1731, MultiAddress_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiAddressTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum";
                                driver.Quit();
                                return("Maximum");
                            }
                            else
                            {
                                HttpContext.Current.Session["multiParcel_Maui"] = "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["Zero_Maui"] = "Zero";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    string PropertyAddress = "", NeighborhoodCode = "", LegalInformation = "", LandArea = "", ParcelNote = "", MaillingAddress = "", OwnerName = "", YearBuilt = "";
                    //Property Details
                    IWebElement         tbmulti11 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/table[1]/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 (row.Text.Contains("Parcel Number"))
                            {
                                parcelNumber = TDmulti11[1].Text;
                            }
                            if (row.Text.Contains("Location Address"))
                            {
                                try
                                {
                                    PropertyAddress = gc.Between(tbmulti11.Text, "Location Address", "Neighborhood Code");
                                }
                                catch { }
                            }
                            if (row.Text.Contains("Neighborhood Code"))
                            {
                                NeighborhoodCode = TDmulti11[1].Text;
                            }
                            if (row.Text.Contains("Legal Information"))
                            {
                                LegalInformation = TDmulti11[1].Text;
                            }
                            if (row.Text.Contains("Land Area"))
                            {
                                LandArea = TDmulti11[1].Text;
                            }
                            if (row.Text.Contains("Parcel Note"))
                            {
                                ParcelNote = TDmulti11[1].Text;
                            }
                        }
                    }

                    try
                    {
                        MaillingAddress = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_divMailingAddress")).Text.Replace("Mailing Address\r\n", "").Replace("\r\n", " ").Trim();
                    }
                    catch { }

                    try
                    {
                        string[] owner = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblOtherNames")).Text.Replace("Owner Names\r\n", "").Replace("    ", "").Replace("Fee Owner\r\n", "~").Replace("Fee Owner", "~").Trim().Split('~');
                        if (owner.Count() == 3)
                        {
                            OwnerName = owner[0];
                        }
                        if (owner.Count() == 2)
                        {
                            OwnerName = owner[0];
                        }
                    }
                    catch
                    { }
                    try
                    {
                        IWebElement         IyearBuilt   = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl08_mSection']/div"));
                        IList <IWebElement> TRIyearBuilt = IyearBuilt.FindElements(By.TagName("tr"));
                        IList <IWebElement> TDIyearBuilt;
                        foreach (IWebElement built in TRIyearBuilt)
                        {
                            TDIyearBuilt = built.FindElements(By.TagName("td"));
                            if (TDIyearBuilt.Count != 0)
                            {
                                if (built.Text.Contains("Year Built") && !built.Text.Contains("Eff Year Built"))
                                {
                                    YearBuilt = TDIyearBuilt[1].Text;
                                    break;
                                }
                            }
                        }
                    }
                    catch
                    { }

                    string PropertyDetails = PropertyAddress + "~" + MaillingAddress + "~" + OwnerName + "~" + NeighborhoodCode + "~" + LegalInformation + "~" + LandArea + "~" + ParcelNote + "~" + YearBuilt + "~" + TaxAuthority;
                    gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "HI", "Maui");
                    gc.insert_date(orderNumber, parcelNumber, 1727, PropertyDetails, 1, DateTime.Now);
                    //Property Address~Mailling Address~Owner Name~Neighborhood Code~Legal Information~Land Area~Parcel Note~Year Built~Tax Authority
                    //Assessment Details
                    try
                    {
                        IWebElement         clickfirst = driver.FindElement(By.Id("btndivHistorical"));
                        IJavaScriptExecutor js         = driver as IJavaScriptExecutor;
                        js.ExecuteScript("arguments[0].click();", clickfirst);
                        Thread.Sleep(2000);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, parcelNumber, "Property Assessment Details", driver, "HI", "Maui");
                    }
                    catch { }
                    IWebElement         AssmTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_ctl01_gvValuationHistorical']/tbody"));
                    IList <IWebElement> AssmTr = AssmTb.FindElements(By.TagName("tr"));
                    IList <IWebElement> AssmTd;
                    foreach (IWebElement Assm in AssmTr)
                    {
                        AssmTd = Assm.FindElements(By.TagName("td"));
                        if (AssmTd.Count != 0 && Assm.Text.Trim() != "")
                        {
                            string AssessmentDetails = AssmTd[0].Text + "~" + AssmTd[1].Text + "~" + AssmTd[2].Text + "~" + AssmTd[3].Text + "~" + AssmTd[4].Text + "~" + AssmTd[5].Text + "~" + AssmTd[6].Text + "~" + AssmTd[7].Text + "~" + AssmTd[8].Text;
                            gc.insert_date(orderNumber, parcelNumber, 1728, AssessmentDetails, 1, DateTime.Now);
                            //Year~Tax Class~Market Land Value~Agricultural Land Value~Assessed Land Value~Building Value~Total Assessed Value~Total Exemption Value~Total Net Taxable Value
                        }
                    }

                    //IWebElement ILand = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl04_ctl01_gvwLand']/tbody"));
                    //IList<IWebElement> ILandTr = ILand.FindElements(By.TagName("tr"));
                    //IList<IWebElement> ILandTd;
                    //foreach (IWebElement land in ILandTr)
                    //{
                    //    ILandTd = land.FindElements(By.TagName("td"));
                    //    if (ILandTd.Count != 0)
                    //    {
                    //        string LandDetails = ILandTd[0].Text + "~" + ILandTd[1].Text + "~" + ILandTd[2].Text + "~" + ILandTd[3].Text;
                    //        gc.insert_date(orderNumber, parcelNumber, 1729, LandDetails, 1, DateTime.Now);
                    //        //PropertyClass~Square Footage~Acerage~Agricultural USe Indicator
                    //    }
                    //}

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

                    IWebElement         ISale   = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl11_ctl01_gvwSales']/tbody"));
                    IList <IWebElement> ISaleTr = ISale.FindElements(By.TagName("tr"));
                    IList <IWebElement> ISaleTd;
                    foreach (IWebElement sale in ISaleTr)
                    {
                        ISaleTd = sale.FindElements(By.TagName("td"));
                        if (ISaleTd.Count != 0 && sale.Text.Trim() != "")
                        {
                            string SaleDetails = ISaleTd[0].Text + "~" + ISaleTd[1].Text + "~" + ISaleTd[2].Text + "~" + ISaleTd[3].Text + "~" + ISaleTd[4].Text + "~" + ISaleTd[5].Text + "~" + ISaleTd[6].Text + "~" + ISaleTd[7].Text;
                            gc.insert_date(orderNumber, parcelNumber, 1730, SaleDetails, 1, DateTime.Now);
                            //Sale Date~Price~Instrument Number~Instrument Type~Valid Sale or Reason~Document Type~Record Date~Land Court~Land Court Cert
                        }
                    }

                    IWebElement         ITaxHistory   = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl05_ctl01_gvwHistoricalTax']/tbody"));
                    IList <IWebElement> ITaxHistoryTr = ITaxHistory.FindElements(By.TagName("tr"));
                    IList <IWebElement> ITaxHistoryTd;
                    foreach (IWebElement history in ITaxHistoryTr)
                    {
                        ITaxHistoryTd = history.FindElements(By.TagName("td"));
                        if (ITaxHistoryTd.Count != 0 && history.Text.Trim() != "")
                        {
                            string TaxHistoryDetails = ITaxHistoryTd[0].Text + "~" + ITaxHistoryTd[1].Text + "~" + ITaxHistoryTd[2].Text + "~" + ITaxHistoryTd[3].Text + "~" + ITaxHistoryTd[4].Text + "~" + ITaxHistoryTd[5].Text + "~" + ITaxHistoryTd[6].Text;
                            gc.insert_date(orderNumber, parcelNumber, 1738, TaxHistoryDetails, 1, DateTime.Now);
                            //Year~Tax~Payment and Credits~Penalty~Interest~Other~Amount Due
                        }
                    }


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

                    driver.Quit();

                    gc.mergpdf(orderNumber, "HI", "Maui");
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "HI", "Maui", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Ejemplo n.º 4
0
        public string FTP_GAFayette(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername)
        {
            string Parcelno = "", Owner = "", Property_Address = "", Legal_Desp = "", MultiOwner_details = "", MultiAddress_details = "";
            string Parcel_ID = "", Location = "", Legal = "", Property_Class = "", Nighbrhod = "", Tax_Dis = "", Zoing = "", Acres = "", Homestd = "", Exemption = "", Overall_OwnMailAdd = "", Year_Built = "";
            string property = "", yblt = "", Mailing_Address2 = "", Mailing_Address1 = "", Owner1 = "", Owner2 = "", Exemp = "", Home = "", Acrs = "", Zone = "", tx_Dis = "", Nhg = "", Pro_Cls = "", Lg_Des = "", Loc = "", Par = "";
            string Year1 = "", Year2 = "", Year3 = "", Year4 = "", Assemnt_Details1 = "", Assemnt_Details2 = "", Assemnt_Details3 = "", Assemnt_Details4 = "", total = "", Total_Payments = "", Convey = "", Convey_Fee = "", Paid = "", Total_Paid = "", TaxPayment_details1 = "", TaxPayment_details = "", Balnce_Due = "", Tax_Bill = "", Tax_year = "";
            string Taxy = "", Total_DUE = "", Last_PAYDATE = "", Tax_P = "", Tax_Payer = "", Map = "", Map_Code = "", Desk = "", Desk_Pro = "", Locy = "", Tax_Location = "", Bl_No = "", Tax_Billno = "", Disti = "", Tax_Dist = "", Build_Val = "", Land_Val = "", Tax_Acres = "", FrMkt_Val = "", Tax_DueDate = "", Tax_Exmpions = "", TaxInfo_Details = "";
            string Cu_Du = "", Penalt = "", In_Tx = "", Oth_Fe = "", Pre_Pay = "", Bc_Tx = "", Tl_Du = "", Cur_Due = "", Tax_Penalty = "", Int_Rest = "", Other_Fees = "", Previous_Payments = "", Back_Taxes = "", TaxToal_Due = "", DueTaxInfo_Details = "";
            string Entity = "", FMV = "", Net_Assmnt = "", Exmpl = "", Taxble_Value = "", Millage_Rate = "", Grs_Tax = "", Cretit = "", NetTax = "", CityPayment_details = "", Taxble_Value1 = "", Millage_Rate1 = "", Grs_Tax1 = "", Cretit1 = "", NetTax1 = "";
            string Tax_Auth1 = "", Tax_Auth2 = "", Tax_Authotiry = "", TaxAuthority_Details = "";

            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())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");

                    if (searchType == "titleflex")
                    {
                        string titleaddress = address;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "GA", "Fayette");

                        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_GAFayette"] = "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?AppID=942&LayerID=18406&PageTypeID=2&PageID=8204");
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address);
                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "GA", "Fayette");
                        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", "Fayette");
                            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[2].Text;
                                        Property_Address = MultiAddressTD[3].Text;
                                        Legal_Desp       = MultiAddressTD[4].Text;

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

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?AppID=942&LayerID=18406&PageTypeID=2&PageID=8204");
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

                        if (parcelNumber.Contains(" ") || parcelNumber.Contains("-"))
                        {
                            parcelNumber = parcelNumber.Replace(" ", "").Replace("-", "");
                        }

                        string CommonParcel = parcelNumber;

                        if (CommonParcel.Length == 9)
                        {
                            driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);
                            gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "GA", "Fayette");
                            driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter);
                            Thread.Sleep(2000);
                        }

                        if (CommonParcel.Length == 7)
                        {
                            driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);
                            gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "GA", "Fayette");
                            driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter);
                            Thread.Sleep(2000);
                        }
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?AppID=942&LayerID=18406&PageTypeID=2&PageID=8204");
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

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

                        try
                        {
                            IWebElement         MultiOwnerTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiOwnerTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "GA", "Fayette");
                            int AddressmaxCheck = 0;
                            foreach (IWebElement MultiOwner in MultiOwnerTR)
                            {
                                if (AddressmaxCheck <= 25)
                                {
                                    MultiOwnerTD = MultiOwner.FindElements(By.TagName("td"));
                                    if (MultiOwnerTD.Count != 0)
                                    {
                                        Parcelno         = MultiOwnerTD[1].Text;
                                        Owner            = MultiOwnerTD[2].Text;
                                        Property_Address = MultiOwnerTD[3].Text;
                                        Legal_Desp       = MultiOwnerTD[4].Text;

                                        MultiOwner_details = Owner + "~" + Property_Address + "~" + Legal_Desp;
                                        gc.insert_date(orderNumber, Parcelno, 784, MultiOwner_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiOwnerTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_GAFayette_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_GAFayette"] = "Yes";
                            }
                            driver.Quit();

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

                    try
                    {
                        IWebElement Inodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults"));
                        if (Inodata.Text.Contains("No results match your search criteria"))
                        {
                            HttpContext.Current.Session["Nodata_GAFayette"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }
                    //Property Details
                    IWebElement         PropertyTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/table[1]/tbody"));
                    IList <IWebElement> PropertyTR = PropertyTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> PropertyTD;
                    foreach (IWebElement Property in PropertyTR)
                    {
                        PropertyTD = Property.FindElements(By.TagName("td"));
                        if (PropertyTD.Count != 0)
                        {
                            Par = PropertyTD[0].Text;
                            if (Par.Contains("Parcel Number"))
                            {
                                Parcel_ID = PropertyTD[1].Text;
                            }

                            Loc = PropertyTD[0].Text;
                            if (Loc.Contains("Location Address"))
                            {
                                Location = PropertyTD[1].Text;
                            }

                            Lg_Des = PropertyTD[0].Text;
                            if (Lg_Des.Contains("Legal Description"))
                            {
                                Legal = PropertyTD[1].Text;
                            }

                            Pro_Cls = PropertyTD[0].Text;
                            if (Pro_Cls.Contains("Property Class"))
                            {
                                Property_Class = PropertyTD[1].Text;
                            }

                            Nhg = PropertyTD[0].Text;
                            if (Nhg.Contains("Neighborhood"))
                            {
                                Nighbrhod = PropertyTD[1].Text;
                            }

                            tx_Dis = PropertyTD[0].Text;
                            if (tx_Dis.Contains("Tax District"))
                            {
                                Tax_Dis = PropertyTD[1].Text;
                            }

                            Zone = PropertyTD[0].Text;
                            if (Zone.Contains("Zoning"))
                            {
                                Zoing = PropertyTD[1].Text;
                            }

                            Acrs = PropertyTD[0].Text;
                            if (Acrs.Contains("Acres"))
                            {
                                Acres = PropertyTD[1].Text;
                            }

                            Home = PropertyTD[0].Text;
                            if (Home.Contains("Homestead"))
                            {
                                Homestd = PropertyTD[1].Text;
                            }

                            Exemp = PropertyTD[0].Text;
                            if (Exemp.Contains("Exemptions"))
                            {
                                Exemption = PropertyTD[1].Text;
                            }
                        }
                    }

                    try
                    {
                        Owner1             = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch']")).Text;
                        Owner2             = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblOwnerName2")).Text;
                        Mailing_Address1   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text;
                        Mailing_Address2   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text;
                        Overall_OwnMailAdd = Owner1 + " " + Owner2 + " & " + Mailing_Address1 + " " + Mailing_Address2;
                    }
                    catch
                    { }

                    try
                    {
                        Owner1             = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch']")).Text;
                        Mailing_Address1   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text;
                        Mailing_Address2   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text;
                        Overall_OwnMailAdd = Owner1 + " & " + Mailing_Address1 + " " + Mailing_Address2;
                    }
                    catch
                    { }

                    try
                    {
                        Owner1             = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lnkSearch']")).Text;
                        Mailing_Address1   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text;
                        Mailing_Address2   = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text;
                        Overall_OwnMailAdd = Owner1 + " & " + Mailing_Address1 + " " + Mailing_Address2;
                    }
                    catch
                    { }

                    try
                    {
                        IWebElement         Yeartb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl04_mSection']/div/div/div[1]/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)
                            {
                                yblt = YearTD[0].Text;
                                if (yblt.Contains("Year Built"))
                                {
                                    Year_Built = YearTD[1].Text;
                                }
                            }
                        }
                    }
                    catch
                    { }

                    property = Location + "~" + Legal + "~" + Property_Class + "~" + Nighbrhod + "~" + Tax_Dis + "~" + Zoing + "~" + Acres + "~" + Homestd + "~" + Exemption + "~" + Overall_OwnMailAdd + "~" + Year_Built;
                    gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "GA", "Fayette");
                    gc.insert_date(orderNumber, Parcel_ID, 785, property, 1, DateTime.Now);

                    //Assessment Details
                    IWebElement         AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_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;
                            Year4 = AssmTh[3].Text;
                        }
                    }

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

                    List <string> LUC         = new List <string>();
                    List <string> Class       = new List <string>();
                    List <string> Land_Value  = new List <string>();
                    List <string> Build_Value = new List <string>();
                    List <string> Total_Value = new List <string>();
                    List <string> Assed_Value = new List <string>();

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

                        if (AssmTd.Count != 0)
                        {
                            if (j == 0)
                            {
                                LUC.Add(AssmTd[2].Text);
                                LUC.Add(AssmTd[3].Text);
                                LUC.Add(AssmTd[4].Text);
                                LUC.Add(AssmTd[5].Text);
                            }
                            else if (j == 1)
                            {
                                Class.Add(AssmTd[2].Text);
                                Class.Add(AssmTd[3].Text);
                                Class.Add(AssmTd[4].Text);
                                Class.Add(AssmTd[5].Text);
                            }
                            else if (j == 2)
                            {
                                Land_Value.Add(AssmTd[2].Text);
                                Land_Value.Add(AssmTd[3].Text);
                                Land_Value.Add(AssmTd[4].Text);
                                Land_Value.Add(AssmTd[5].Text);
                            }
                            else if (j == 3)
                            {
                                Build_Value.Add(AssmTd[2].Text);
                                Build_Value.Add(AssmTd[3].Text);
                                Build_Value.Add(AssmTd[4].Text);
                                Build_Value.Add(AssmTd[5].Text);
                            }
                            else if (j == 4)
                            {
                                Total_Value.Add(AssmTd[2].Text);
                                Total_Value.Add(AssmTd[3].Text);
                                Total_Value.Add(AssmTd[4].Text);
                                Total_Value.Add(AssmTd[5].Text);
                            }
                            else if (j == 6)
                            {
                                Assed_Value.Add(AssmTd[2].Text);
                                Assed_Value.Add(AssmTd[3].Text);
                                Assed_Value.Add(AssmTd[4].Text);
                                Assed_Value.Add(AssmTd[5].Text);
                            }

                            j++;
                        }
                    }

                    Assemnt_Details1 = Year1 + "~" + LUC[0] + "~" + Class[0] + "~" + Land_Value[0] + "~" + Build_Value[0] + "~" + Total_Value[0] + "~" + Assed_Value[0];
                    Assemnt_Details2 = Year2 + "~" + LUC[1] + "~" + Class[1] + "~" + Land_Value[1] + "~" + Build_Value[1] + "~" + Total_Value[1] + "~" + Assed_Value[1];
                    Assemnt_Details3 = Year3 + "~" + LUC[2] + "~" + Class[2] + "~" + Land_Value[2] + "~" + Build_Value[2] + "~" + Total_Value[2] + "~" + Assed_Value[2];
                    Assemnt_Details4 = Year4 + "~" + LUC[3] + "~" + Class[3] + "~" + Land_Value[3] + "~" + Build_Value[3] + "~" + Total_Value[3] + "~" + Assed_Value[3];
                    gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details1, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details2, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details3, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details4, 1, DateTime.Now);
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    try
                    {
                        //Tax Details
                        driver.Navigate().GoToUrl("http://www.fayettecountytaxcomm.com/taxbillsearch.aspx");

                        driver.FindElement(By.Id("Body_MapParcelID1")).SendKeys(Parcel_ID);
                        Thread.Sleep(2000);

                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax Parcel Search", driver, "GA", "Fayette");
                        driver.FindElement(By.Id("Body_MapParcelIDGo")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax Site", driver, "GA", "Fayette");
                        driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody/tr[2]/td[1]/a")).Click();
                        Thread.Sleep(2000);

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

                        //Tax Payment Details
                        try
                        {
                            IWebElement         TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody"));
                            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 && !TaxPayment.Text.Contains("Year"))
                                {
                                    Tax_year   = TaxPaymentTD[0].Text;
                                    Tax_Bill   = TaxPaymentTD[1].Text;
                                    Balnce_Due = TaxPaymentTD[2].Text;

                                    TaxPayment_details = Tax_year + "~" + Tax_Bill + "~" + Balnce_Due;
                                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Payment Details", driver, "GA", "Fayette");
                                    gc.insert_date(orderNumber, Parcel_ID, 792, TaxPayment_details, 1, DateTime.Now);
                                }
                            }
                        }
                        catch
                        { }

                        try
                        {
                            IWebElement         Tax2TB = driver.FindElement(By.XPath("//*[@id='form1']/div[3]/div/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)
                                {
                                    total = Tax2TD[0].Text;
                                    if (total.Contains("Total Payments Pending:"))
                                    {
                                        Total_Payments = Tax2TD[1].Text;
                                    }
                                    Convey = Tax2TD[0].Text;
                                    if (Convey.Contains("Convenience Fee:"))
                                    {
                                        Convey_Fee = Tax2TD[1].Text;
                                    }
                                    Paid = Tax2TD[0].Text;
                                    if (Paid.Contains("Total Amount to be paid:"))
                                    {
                                        Total_Paid = Tax2TD[1].Text;
                                    }
                                }
                            }

                            TaxPayment_details1 = "" + "~" + "" + "~" + "" + "~" + Total_Payments + "~" + Convey_Fee + "~" + Total_Paid;
                            gc.insert_date(orderNumber, Parcel_ID, 792, TaxPayment_details1, 1, DateTime.Now);
                        }
                        catch
                        { }
                        //Tax Info Details

                        List <string> TaxInfoSearch = new List <string>();

                        IWebElement         TaxInfoTB = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody"));
                        IList <IWebElement> TaxInfoTR = TaxInfoTB.FindElements(By.TagName("tr"));
                        TaxInfoTR.Reverse();

                        int rows_count = TaxInfoTR.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 = TaxInfoTR[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[1].FindElement(By.TagName("a"));
                                        string      Parcelurl       = ParcelBill_link.GetAttribute("href");
                                        TaxInfoSearch.Add(Parcelurl);
                                    }
                                }
                            }
                        }

                        foreach (string TaxInfobill in TaxInfoSearch)
                        {
                            driver.Navigate().GoToUrl(TaxInfobill);
                            Thread.Sleep(3000);
                            driver.SwitchTo().Window(driver.WindowHandles.Last());
                            Thread.Sleep(2000);
                            try
                            {
                                Taxy         = driver.FindElement(By.Id("PropertyTaxLabel")).Text;
                                Taxy         = WebDriverTest.Before(Taxy, " Property Tax Statement");
                                Total_DUE    = driver.FindElement(By.Id("TotalDueTopText")).Text;
                                Last_PAYDATE = driver.FindElement(By.Id("LastPaymentTopText")).Text;
                                Last_PAYDATE = WebDriverTest.After(Last_PAYDATE, "Last payment made on: ");
                            }
                            catch
                            { }

                            try
                            {
                                IWebElement         IntrestTB = driver.FindElement(By.XPath("//*[@id='TaxPayerInfo']/tbody"));
                                IList <IWebElement> IntrestTR = IntrestTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> IntrestTD;
                                foreach (IWebElement Intrest in IntrestTR)
                                {
                                    IntrestTD = Intrest.FindElements(By.TagName("td"));
                                    if (IntrestTD.Count != 0)
                                    {
                                        Tax_P = IntrestTD[0].Text;
                                        if (Tax_P.Contains("Tax Payer:"))
                                        {
                                            Tax_Payer = IntrestTD[1].Text;
                                        }
                                        Map = IntrestTD[0].Text;
                                        if (Map.Contains("Map Code:"))
                                        {
                                            Map_Code = IntrestTD[1].Text;
                                        }
                                        Desk = IntrestTD[0].Text;
                                        if (Desk.Contains("Description:"))
                                        {
                                            Desk_Pro = IntrestTD[1].Text;
                                        }
                                        Locy = IntrestTD[0].Text;
                                        if (Locy.Contains("Location:"))
                                        {
                                            Tax_Location = IntrestTD[1].Text;
                                        }
                                        Bl_No = IntrestTD[0].Text;
                                        if (Bl_No.Contains("Bill No:"))
                                        {
                                            Tax_Billno = IntrestTD[1].Text;
                                        }
                                        Disti = IntrestTD[0].Text;
                                        if (Disti.Contains("District:"))
                                        {
                                            Tax_Dist = IntrestTD[1].Text;
                                        }
                                    }
                                }
                            }
                            catch
                            { }

                            try
                            {
                                IWebElement         CinfoTB = driver.FindElement(By.XPath("//*[@id='BottomTable']/tbody"));
                                IList <IWebElement> CinfoTR = CinfoTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> CinfoTD;
                                foreach (IWebElement Cinfo in CinfoTR)
                                {
                                    CinfoTD = Cinfo.FindElements(By.TagName("td"));
                                    if (CinfoTD.Count != 0 && !Cinfo.Text.Contains("Building Value") && Cinfo.Text != "")
                                    {
                                        Build_Val    = CinfoTD[0].Text;
                                        Land_Val     = CinfoTD[1].Text;
                                        Tax_Acres    = CinfoTD[2].Text;
                                        FrMkt_Val    = CinfoTD[3].Text;
                                        Tax_DueDate  = CinfoTD[4].Text;
                                        Tax_Exmpions = CinfoTD[7].Text;
                                    }
                                }
                            }
                            catch
                            { }

                            gc.CreatePdf(orderNumber, Parcel_ID, "Tax Info Details" + " " + Taxy, driver, "GA", "Fayette");

                            TaxInfo_Details = Taxy + "~" + Tax_Payer + "~" + Map_Code + "~" + Desk_Pro + "~" + Tax_Location + "~" + Tax_Billno + "~" + Tax_Dist + "~" + Last_PAYDATE + "~" + Build_Val + "~" + Land_Val + "~" + Tax_Acres + "~" + FrMkt_Val + "~" + Tax_Exmpions + "~" + Tax_DueDate + "~" + Total_DUE;
                            gc.insert_date(orderNumber, Parcel_ID, 793, TaxInfo_Details, 1, DateTime.Now);
                            Tax_Payer = ""; Map_Code = ""; Desk_Pro = ""; Tax_Location = ""; Tax_Billno = ""; Tax_Dist = ""; Last_PAYDATE = ""; Build_Val = ""; Land_Val = ""; Tax_Acres = ""; FrMkt_Val = ""; Tax_Exmpions = ""; Tax_DueDate = ""; Total_DUE = "";

                            try
                            {
                                IWebElement         DueTaxTB = driver.FindElement(By.XPath("//*[@id='CurrentDueTable']/tbody"));
                                IList <IWebElement> DueTaxTR = DueTaxTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> DueTaxTD;

                                foreach (IWebElement DueTax in DueTaxTR)
                                {
                                    DueTaxTD = DueTax.FindElements(By.TagName("td"));
                                    if (DueTaxTD.Count != 0 && DueTaxTD.Count != 1 && DueTaxTD.Count != 8 && DueTaxTD.Count != 9)
                                    {
                                        Cu_Du = DueTaxTD[1].Text;
                                        if (Cu_Du.Contains("Current Due"))
                                        {
                                            Cur_Due = DueTaxTD[2].Text;
                                        }
                                        Penalt = DueTaxTD[1].Text;
                                        if (Penalt.Contains("Penalty"))
                                        {
                                            Tax_Penalty = DueTaxTD[2].Text;
                                        }
                                        In_Tx = DueTaxTD[1].Text;
                                        if (In_Tx.Contains("Interest"))
                                        {
                                            Int_Rest = DueTaxTD[2].Text;
                                        }
                                        Oth_Fe = DueTaxTD[1].Text;
                                        if (Oth_Fe.Contains("Other Fees"))
                                        {
                                            Other_Fees = DueTaxTD[2].Text;
                                        }
                                        Pre_Pay = DueTaxTD[1].Text;
                                        if (Pre_Pay.Contains("Previous Payments"))
                                        {
                                            Previous_Payments = DueTaxTD[2].Text;
                                        }
                                        Bc_Tx = DueTaxTD[1].Text;
                                        if (Bc_Tx.Contains("Back Taxes"))
                                        {
                                            Back_Taxes = DueTaxTD[2].Text;
                                        }
                                        Tl_Du = DueTaxTD[1].Text;
                                        if (Tl_Du.Contains("Total Due"))
                                        {
                                            TaxToal_Due = DueTaxTD[2].Text;
                                        }
                                    }
                                }

                                DueTaxInfo_Details = Taxy + "~" + Cur_Due + "~" + Tax_Penalty + "~" + Int_Rest + "~" + Other_Fees + "~" + Previous_Payments + "~" + Back_Taxes + "~" + TaxToal_Due;
                                gc.insert_date(orderNumber, Parcel_ID, 802, DueTaxInfo_Details, 1, DateTime.Now);
                            }
                            catch
                            { }

                            try
                            {
                                IWebElement         CityTaxPaymentTB = driver.FindElement(By.XPath("//*[@id='EntityTable']/tbody"));
                                IList <IWebElement> CityTaxPaymentTR = CityTaxPaymentTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> CityTaxPaymentTD;

                                foreach (IWebElement CityTaxPayment in CityTaxPaymentTR)
                                {
                                    CityTaxPaymentTD = CityTaxPayment.FindElements(By.TagName("td"));
                                    if (CityTaxPaymentTD.Count != 0 && !CityTaxPayment.Text.Contains("Entity") && !CityTaxPayment.Text.Contains("Totals: "))
                                    {
                                        Entity       = CityTaxPaymentTD[0].Text;
                                        FMV          = CityTaxPaymentTD[1].Text;
                                        Net_Assmnt   = CityTaxPaymentTD[2].Text;
                                        Exmpl        = CityTaxPaymentTD[3].Text;
                                        Taxble_Value = CityTaxPaymentTD[4].Text;
                                        Millage_Rate = CityTaxPaymentTD[5].Text;
                                        Grs_Tax      = CityTaxPaymentTD[6].Text;
                                        Cretit       = CityTaxPaymentTD[7].Text;
                                        NetTax       = CityTaxPaymentTD[8].Text;

                                        CityPayment_details = Entity + "~" + FMV + "~" + Net_Assmnt + "~" + Exmpl + "~" + Taxble_Value + "~" + Millage_Rate + "~" + Grs_Tax + "~" + Cretit + "~" + NetTax;
                                        gc.insert_date(orderNumber, Parcel_ID, 803, CityPayment_details, 1, DateTime.Now);
                                    }
                                }
                            }
                            catch
                            { }

                            try
                            {
                                IWebElement         CityTaxPaymentTB1 = driver.FindElement(By.XPath("//*[@id='EntityTable']/tbody"));
                                IList <IWebElement> CityTaxPaymentTR1 = CityTaxPaymentTB1.FindElements(By.TagName("tr"));
                                IList <IWebElement> CityTaxPaymentTD1;

                                foreach (IWebElement CityTaxPayment1 in CityTaxPaymentTR1)
                                {
                                    CityTaxPaymentTD1 = CityTaxPayment1.FindElements(By.TagName("td"));
                                    if (CityTaxPaymentTD1.Count != 0 && CityTaxPayment1.Text.Contains("Totals: "))
                                    {
                                        Taxble_Value1 = CityTaxPaymentTD1[0].Text;
                                        Millage_Rate1 = CityTaxPaymentTD1[1].Text;
                                        Grs_Tax1      = CityTaxPaymentTD1[2].Text;
                                        Cretit1       = CityTaxPaymentTD1[3].Text;
                                        NetTax1       = CityTaxPaymentTD1[4].Text;

                                        CityPayment_details = "" + "~" + "" + "~" + "" + "~" + "" + "~" + Taxble_Value1 + "~" + Millage_Rate1 + "~" + Grs_Tax1 + "~" + Cretit1 + "~" + NetTax1;
                                        gc.insert_date(orderNumber, Parcel_ID, 803, CityPayment_details, 1, DateTime.Now);
                                    }
                                }
                            }
                            catch
                            { }
                        }
                    }
                    catch
                    { }

                    //Tax Avthority
                    driver.Navigate().GoToUrl("http://www.fayettecountytaxcomm.com/");
                    Thread.Sleep(2000);

                    Tax_Auth1     = driver.FindElement(By.XPath("/html/body/div/table/tbody/tr[3]/td[3]/p[19]")).Text.Replace("Suite 109 (Motor Vehicles)", "");
                    Tax_Auth2     = driver.FindElement(By.XPath("/html/body/div/table/tbody/tr[3]/td[3]/p[15]")).Text;
                    Tax_Authotiry = Tax_Auth1 + " & " + Tax_Auth2;

                    TaxAuthority_Details = Tax_Authotiry;
                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Authority Details", driver, "GA", "Fayette");
                    gc.insert_date(orderNumber, Parcel_ID, 804, TaxAuthority_Details, 1, DateTime.Now);

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

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

                    driver.Quit();
                    gc.mergpdf(orderNumber, "GA", "Fayette");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw;
                }
            }
        }
Ejemplo n.º 5
0
        public string FTP_FLFlagler(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername)
        {
            string Parcelno = "", Owner = "", Property_Address = "", City = "", MultiOwner_details = "", MultiAddress_details = "";
            string Par = "", Parcel_ID = "", Loc = "", Location = "", Lg_Des = "", Legal = "", Pro_Code = "", Property_Code = "", Distr = "", Property_District = "", Mi_Rate = "", Pro_Milagerate = "", Acres = "", Acreage = "", PRo_Home = "", Homestead = "", Pro_Owner = "", Pro_MilingAddreess = "", Pro_YearBuilt = "", property = "";
            string Assemnt_Details1 = "", Assemnt_Details2 = "", Assemnt_Details3 = "", Assemnt_Details4 = "", Year1 = "", Year2 = "", Year3 = "", Year4 = "", currenttax = "", curtax = "", prior_total = "", priortotlinsert = "", taxhis = "", Url = "", tax_authority = "", Tax_Sale = "", tax_sales = "", taxhistoryownername = "";
            string exempt = "", exempt_amount = "", EscrowCode = "", milage_code = "", taxhistoryPayid = "", tax_type = "", tax_years = "", valoremtotal = "", total_milage = "", total_Asstax = "", valoremtax = "", nonvaloremtax = "", total_ass = "", Total_taxes = "", valoremtotalass = "", valoremtotaltax = "", curtaxhis = "", date_paid = "", Transaction = "", Receipt = "", Amount_Paid = "", Item = "";

            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

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

                    if (searchType == "titleflex")
                    {
                        string titleaddress = address;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "FL", "Flagler");

                        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_FLFlagler"] = "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=FlaglerCountyFL&Layer=Parcels&PageType=Search");
                        Thread.Sleep(5000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click();
                            Thread.Sleep(2000);
                        }
                        catch { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtAddress")).SendKeys(address);
                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Flagler");
                        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 Address search", driver, "FL", "Flagler");
                            int AddressmaxCheck = 0;
                            foreach (IWebElement MultiAddress in MultiAddressTR)
                            {
                                if (AddressmaxCheck <= 25)
                                {
                                    MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                    if (MultiAddressTD.Count != 0)
                                    {
                                        Parcelno         = MultiAddressTD[2].Text;
                                        Owner            = MultiAddressTD[3].Text;
                                        Property_Address = MultiAddressTD[4].Text;
                                        City             = MultiAddressTD[5].Text;

                                        MultiAddress_details = Owner + "~" + Property_Address + "~" + City;
                                        gc.insert_date(orderNumber, Parcelno, 1289, MultiAddress_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiAddressTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_FLFlagler_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_FLFlagler"] = "Yes";
                            }
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch
                        { }
                        try
                        {
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results"))
                            {
                                HttpContext.Current.Session["Nodata_FLFlagler"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=FlaglerCountyFL&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 { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "FL", "Flagler");
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=FlaglerCountyFL&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 { }

                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtName")).SendKeys(ownername);
                        gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "FL", "Flagler");
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        try
                        {
                            IWebElement         MultiOwnerTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> MultiOwnerTD;
                            gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "FL", "Flagler");
                            int OwnermaxCheck = 0;
                            foreach (IWebElement MultiOwner in MultiOwnerTR)
                            {
                                if (OwnermaxCheck <= 25)
                                {
                                    MultiOwnerTD = MultiOwner.FindElements(By.TagName("td"));
                                    if (MultiOwnerTD.Count != 0)
                                    {
                                        Parcelno         = MultiOwnerTD[2].Text;
                                        Owner            = MultiOwnerTD[3].Text;
                                        Property_Address = MultiOwnerTD[4].Text;
                                        City             = MultiOwnerTD[5].Text;

                                        MultiOwner_details = Owner + "~" + Property_Address + "~" + City;
                                        gc.insert_date(orderNumber, Parcelno, 1289, MultiOwner_details, 1, DateTime.Now);
                                    }
                                    OwnermaxCheck++;
                                }
                            }
                            if (MultiOwnerTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_FLFlagler_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_FLFlagler"] = "Yes";
                            }
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch
                        { }
                    }
                    try
                    {
                        IWebElement Inodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults"));
                        if (Inodata.Text.Contains("No results match"))
                        {
                            HttpContext.Current.Session["Nodata_FLFlagler"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }
                    //Property Details
                    IWebElement         PropertyTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_mSection']/div/table/tbody"));
                    IList <IWebElement> PropertyTR = PropertyTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> PropertyTD;
                    foreach (IWebElement Property in PropertyTR)
                    {
                        PropertyTD = Property.FindElements(By.TagName("td"));
                        if (PropertyTD.Count != 0)
                        {
                            Par = PropertyTD[0].Text;
                            if (Par.Contains("Parcel ID"))
                            {
                                Parcel_ID = PropertyTD[1].Text;
                            }

                            Loc = PropertyTD[0].Text;
                            if (Loc.Contains("Location Address"))
                            {
                                Location = PropertyTD[1].Text;
                            }

                            Lg_Des = PropertyTD[0].Text;
                            if (Lg_Des.Contains("Brief Tax Description*"))
                            {
                                Legal = PropertyTD[1].Text;
                            }

                            Pro_Code = PropertyTD[0].Text;
                            if (Pro_Code.Contains("Property Use Code"))
                            {
                                Property_Code = PropertyTD[1].Text;
                            }

                            Distr = PropertyTD[0].Text;
                            if (Distr.Contains("Tax District"))
                            {
                                Property_District = PropertyTD[1].Text;
                            }

                            Mi_Rate = PropertyTD[0].Text;
                            if (Mi_Rate.Contains("Millage Rate"))
                            {
                                Pro_Milagerate = PropertyTD[1].Text;
                            }

                            Acres = PropertyTD[0].Text;
                            if (Acres.Contains("Acreage"))
                            {
                                Acreage = PropertyTD[1].Text;
                            }

                            PRo_Home = PropertyTD[0].Text;
                            if (PRo_Home.Contains("Homestead"))
                            {
                                Homestead = PropertyTD[1].Text;
                            }
                        }
                    }

                    try
                    {
                        Pro_Owner          = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lstPrimaryOwner_ctl00_lblPrimaryOwnerName_lblSearch")).Text;
                        Pro_MilingAddreess = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lstPrimaryOwner_ctl00_lblPrimaryOwnerAddress")).Text;
                        Pro_YearBuilt      = driver.FindElement(By.Id("ctlBodyPane_ctl08_ctl01_lstBuildings_ctl00_Label1")).Text;
                    }
                    catch
                    { }

                    property = Location + "~" + Legal + "~" + Pro_Owner + "~" + Property_Code + "~" + Property_District + "~" + Pro_Milagerate + "~" + Acreage + "~" + Homestead + "~" + Pro_MilingAddreess + "~" + Pro_YearBuilt;
                    gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "FL", "Flagler");
                    gc.insert_date(orderNumber, Parcel_ID, 1290, property, 1, DateTime.Now);

                    //Assessment Details
                    //*[@id="ctlBodyPane_ctl02_ctl01_grdValuation"]/thead
                    IWebElement         AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_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;
                            Year4 = AssmTh[3].Text;
                        }
                    }

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

                    List <string> Building_Value          = new List <string>();
                    List <string> Extra_Feature_Value     = new List <string>();
                    List <string> Land_Value              = new List <string>();
                    List <string> Land_Agricultural_Value = new List <string>();
                    List <string> Agricultural_Value      = new List <string>();
                    List <string> Just_Value              = new List <string>();
                    List <string> Assessed_Value          = new List <string>();
                    List <string> Exempt_Value            = new List <string>();
                    List <string> Taxable_Value           = new List <string>();
                    List <string> Protected_Value         = new List <string>();

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

                        if (AssmTd.Count != 0)
                        {
                            if (j == 0)
                            {
                                Building_Value.Add(AssmTd[1].Text);
                                Building_Value.Add(AssmTd[2].Text);
                                Building_Value.Add(AssmTd[3].Text);
                                Building_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 1)
                            {
                                Extra_Feature_Value.Add(AssmTd[1].Text);
                                Extra_Feature_Value.Add(AssmTd[2].Text);
                                Extra_Feature_Value.Add(AssmTd[3].Text);
                                Extra_Feature_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 2)
                            {
                                Land_Value.Add(AssmTd[1].Text);
                                Land_Value.Add(AssmTd[2].Text);
                                Land_Value.Add(AssmTd[3].Text);
                                Land_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 3)
                            {
                                Land_Agricultural_Value.Add(AssmTd[1].Text);
                                Land_Agricultural_Value.Add(AssmTd[2].Text);
                                Land_Agricultural_Value.Add(AssmTd[3].Text);
                                Land_Agricultural_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 4)
                            {
                                Agricultural_Value.Add(AssmTd[1].Text);
                                Agricultural_Value.Add(AssmTd[2].Text);
                                Agricultural_Value.Add(AssmTd[3].Text);
                                Agricultural_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 5)
                            {
                                Just_Value.Add(AssmTd[1].Text);
                                Just_Value.Add(AssmTd[2].Text);
                                Just_Value.Add(AssmTd[3].Text);
                                Just_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 6)
                            {
                                Assessed_Value.Add(AssmTd[1].Text);
                                Assessed_Value.Add(AssmTd[2].Text);
                                Assessed_Value.Add(AssmTd[3].Text);
                                Assessed_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 7)
                            {
                                Exempt_Value.Add(AssmTd[1].Text);
                                Exempt_Value.Add(AssmTd[2].Text);
                                Exempt_Value.Add(AssmTd[3].Text);
                                Exempt_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 8)
                            {
                                Taxable_Value.Add(AssmTd[1].Text);
                                Taxable_Value.Add(AssmTd[2].Text);
                                Taxable_Value.Add(AssmTd[3].Text);
                                Taxable_Value.Add(AssmTd[4].Text);
                            }

                            else if (j == 9)
                            {
                                Protected_Value.Add(AssmTd[1].Text);
                                Protected_Value.Add(AssmTd[2].Text);
                                Protected_Value.Add(AssmTd[3].Text);
                                Protected_Value.Add(AssmTd[4].Text);
                            }

                            j++;
                        }
                    }
                    Assemnt_Details1 = Year1 + "~" + Building_Value[0] + "~" + Extra_Feature_Value[0] + "~" + Land_Value[0] + "~" + Land_Agricultural_Value[0] + "~" + Agricultural_Value[0] + "~" + Just_Value[0] + "~" + Assessed_Value[0] + "~" + Exempt_Value[0] + "~" + Taxable_Value[0] + "~" + Protected_Value[0];
                    Assemnt_Details2 = Year2 + "~" + Building_Value[1] + "~" + Extra_Feature_Value[1] + "~" + Land_Value[1] + "~" + Land_Agricultural_Value[1] + "~" + Agricultural_Value[1] + "~" + Just_Value[1] + "~" + Assessed_Value[1] + "~" + Exempt_Value[1] + "~" + Taxable_Value[1] + "~" + Protected_Value[1];
                    Assemnt_Details3 = Year3 + "~" + Building_Value[2] + "~" + Extra_Feature_Value[2] + "~" + Land_Value[2] + "~" + Land_Agricultural_Value[2] + "~" + Agricultural_Value[2] + "~" + Just_Value[2] + "~" + Assessed_Value[2] + "~" + Exempt_Value[2] + "~" + Taxable_Value[2] + "~" + Protected_Value[2];
                    Assemnt_Details4 = Year4 + "~" + Building_Value[3] + "~" + Extra_Feature_Value[3] + "~" + Land_Value[3] + "~" + Land_Agricultural_Value[3] + "~" + Agricultural_Value[3] + "~" + Just_Value[3] + "~" + Assessed_Value[3] + "~" + Exempt_Value[3] + "~" + Taxable_Value[3] + "~" + Protected_Value[3];

                    gc.insert_date(orderNumber, Parcel_ID, 1291, Assemnt_Details1, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 1291, Assemnt_Details2, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 1291, Assemnt_Details3, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_ID, 1291, Assemnt_Details4, 1, DateTime.Now);
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    //Tax Details

                    driver.Navigate().GoToUrl("http://fl-flagler-taxcollector.governmax.com/collectmax/collect30.asp");
                    Thread.Sleep(5000);
                    IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame"));
                    driver.SwitchTo().Frame(iframeElement);
                    IWebElement img     = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[4]/td/center")).FindElement(By.TagName("a"));
                    string      imghref = img.GetAttribute("href");
                    driver.Navigate().GoToUrl(imghref);
                    // img.SendKeys(Keys.Enter);
                    Thread.Sleep(5000);
                    // /html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody/tr[2]/td/font/input
                    //driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[4]/td/center/a")).SendKeys(Keys.Enter);
                    // Thread.Sleep(5000);
                    driver.FindElement(By.Name("account")).SendKeys(Parcel_ID);
                    gc.CreatePdf(orderNumber, Parcel_ID, "TaxPage Input Passed", driver, "FL", "Flagler");
                    driver.FindElement(By.Name("go")).SendKeys(Keys.Enter);
                    Thread.Sleep(5000);
                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Deails", driver, "FL", "Flagler");
                    try
                    {
                        exempt = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[6]/td/table/tbody/tr/td/table/tbody/tr[2]/td[1]/font")).Text.Trim();
                    }
                    catch { }

                    try
                    {
                        IWebElement         exemtable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[6]/td/table/tbody/tr/td/table/tbody/tr[2]/td[1]/table/tbody"));
                        IList <IWebElement> exemtableRow = exemtable.FindElements(By.TagName("tr"));
                        int exemtablecount = exemtableRow.Count;
                        IList <IWebElement> exemtablerowTD;
                        int a = 0;
                        foreach (IWebElement rowid in exemtableRow)
                        {
                            exemtablerowTD = rowid.FindElements(By.TagName("td"));
                            if (exemtablerowTD.Count != 0 && !rowid.Text.Contains("Taxing Authority"))
                            {
                                if (a == 0)
                                {
                                    exempt        = exemtablerowTD[0].Text;
                                    exempt_amount = exemtablerowTD[1].Text;
                                }
                                else if (a == 1)
                                {
                                    exempt += ",";

                                    exempt        += exemtablerowTD[0].Text;
                                    exempt_amount += ",";
                                    exempt_amount += exemtablerowTD[1].Text;
                                }
                                a++;
                            }
                        }
                    }
                    catch { }

                    try
                    {
                        milage_code = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[6]/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/font")).Text.Trim();
                        tax_type    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td[2]/font/b")).Text.Trim();
                        tax_years   = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td[3]/font/b")).Text.Trim();
                        EscrowCode  = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[6]/td/table/tbody/tr/td/table/tbody/tr[2]/td[3]/font")).Text;
                    }
                    catch
                    { }

                    //valorem Details
                    try
                    {
                        IWebElement         valoremtable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[8]/td/table[1]/tbody"));
                        IList <IWebElement> valoremtableRow = valoremtable.FindElements(By.TagName("tr"));
                        int valoremtablerowcount            = valoremtableRow.Count;
                        IList <IWebElement> valoremtablerowTD;
                        foreach (IWebElement rowid in valoremtableRow)
                        {
                            valoremtablerowTD = rowid.FindElements(By.TagName("td"));
                            if (valoremtablerowTD.Count != 0 && !rowid.Text.Contains("Taxing Authority"))
                            {
                                if (valoremtablerowTD.Count == 6)
                                {
                                    valoremtax = valoremtablerowTD[0].Text + "~" + "" + "~" + "Ad Valorem Taxes" + "~" + valoremtablerowTD[1].Text + "~" + valoremtablerowTD[2].Text + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text + "~" + valoremtablerowTD[5].Text;
                                    gc.insert_date(orderNumber, Parcel_ID, 1297, valoremtax, 1, DateTime.Now);
                                }
                                else if (valoremtablerowTD.Count == 2)
                                {
                                    valoremtax = valoremtablerowTD[0].Text + "~" + "" + "~" + "Ad Valorem Taxes" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "";
                                    gc.insert_date(orderNumber, Parcel_ID, 1297, valoremtax, 1, DateTime.Now);
                                }
                            }
                        }

                        total_milage = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[8]/td/table[2]/tbody/tr/td[2]/font")).Text.Trim();
                        total_Asstax = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[8]/td/table[2]/tbody/tr/td[4]/font")).Text.Trim();
                        valoremtotal = "Total" + "~" + "" + "~" + "Ad Valorem Taxes" + "~" + total_milage + "~" + " " + "~" + " " + "~" + " " + "~" + total_Asstax;
                        gc.insert_date(orderNumber, Parcel_ID, 1297, valoremtotal, 1, DateTime.Now);
                    }
                    catch { }

                    try
                    {
                        IWebElement         nonvaloremtable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[10]/td/table[1]/tbody"));
                        IList <IWebElement> nonvaloremtableRow = nonvaloremtable.FindElements(By.TagName("tr"));
                        int nonvaloremtablerowcount            = nonvaloremtableRow.Count;
                        IList <IWebElement> nonvaloremtablerowTD;
                        foreach (IWebElement rowid in nonvaloremtableRow)
                        {
                            nonvaloremtablerowTD = rowid.FindElements(By.TagName("td"));
                            if (nonvaloremtablerowTD.Count != 0 && !rowid.Text.Contains("Levying Authority") && !rowid.Text.Trim().Contains(""))
                            {
                                nonvaloremtax = "";
                                try
                                {
                                    nonvaloremtax = nonvaloremtablerowTD[1].Text + "~" + nonvaloremtablerowTD[0].Text + "~" + "Non-Ad Valorem Taxes" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[2].Text;
                                    gc.insert_date(orderNumber, Parcel_ID, 1297, nonvaloremtax, 1, DateTime.Now);
                                }
                                catch { }
                            }
                        }

                        total_ass       = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[10]/td/table[2]/tbody/tr/td[2]/font")).Text.Trim();
                        Total_taxes     = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[11]/td/table/tbody/tr/td[4]/font")).Text.Trim();
                        valoremtotalass = "Total" + "~" + "" + "~" + "Total Assessments" + "~" + "" + "~" + " " + "~" + " " + "~" + " " + "~" + total_ass;
                        gc.insert_date(orderNumber, Parcel_ID, 1297, valoremtotalass, 1, DateTime.Now);
                        valoremtotaltax = "Total" + "~" + "" + "~" + "Taxes & Assessments" + "~" + "" + "~" + " " + "~" + " " + "~" + " " + "~" + Total_taxes;
                        gc.insert_date(orderNumber, Parcel_ID, 1297, valoremtotaltax, 1, DateTime.Now);
                    }
                    catch
                    { }

                    //Tax Due
                    try
                    {
                        IWebElement         taxduetable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[4]/tbody/tr/td/table/tbody"));
                        IList <IWebElement> taxduetableRow = taxduetable.FindElements(By.TagName("tr"));
                        int taxduerowcount = taxduetableRow.Count;
                        IList <IWebElement> taxduetablerowTD;
                        foreach (IWebElement rowid in taxduetableRow)
                        {
                            taxduetablerowTD = rowid.FindElements(By.TagName("td"));
                            if (taxduetablerowTD.Count != 0 && !rowid.Text.Contains("If Paid By"))
                            {
                                try
                                {
                                    curtax = taxduetablerowTD[0].Text + "~" + taxduetablerowTD[1].Text;
                                    gc.insert_date(orderNumber, Parcel_ID, 1298, curtax, 1, DateTime.Now);
                                }
                                catch { }
                            }
                        }
                    }
                    catch { }

                    //curtaxhistory
                    try
                    {
                        IWebElement         taxpaidtable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[5]"));
                        IList <IWebElement> taxpaidtableRow = taxpaidtable.FindElements(By.TagName("tr"));
                        int taxpaidrowcount = taxpaidtableRow.Count;
                        IList <IWebElement> taxduetablerowTD;
                        foreach (IWebElement rowid in taxpaidtableRow)
                        {
                            taxduetablerowTD = rowid.FindElements(By.TagName("td"));
                            if (taxduetablerowTD.Count != 0 && !rowid.Text.Contains("Date Paid"))
                            {
                                try
                                {
                                    date_paid = taxduetablerowTD[0].Text; Transaction = taxduetablerowTD[1].Text; Receipt = taxduetablerowTD[2].Text;
                                    Item      = taxduetablerowTD[3].Text; Amount_Paid = taxduetablerowTD[4].Text;
                                    //currenttax = "" + "~" + "" + "~" + "" + "~" + "" + "~" + Item + "~" + "" + "~" + Amount_Paid + "~" + date_paid + "~" + "" + "~" + Receipt + "~" + "" + "~" + Transaction + "~" + "";
                                    //gc.insert_date(orderNumber, Parcel_ID, 1299, currenttax, 1, DateTime.Now);
                                }
                                catch { }
                            }
                        }
                    }
                    catch
                    { }

                    //prior year tax
                    try
                    {
                        IWebElement         priortaxtable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[6]/tbody/tr[2]/td/table[1]/tbody"));
                        IList <IWebElement> priortaxtableRow = priortaxtable.FindElements(By.TagName("tr"));
                        int priorrowcount = priortaxtableRow.Count;
                        IList <IWebElement> priortaxtablerowTD;
                        foreach (IWebElement rowid in priortaxtableRow)
                        {
                            priortaxtablerowTD = rowid.FindElements(By.TagName("td"));
                            if (priortaxtablerowTD.Count != 0 && !rowid.Text.Contains("Year"))
                            {
                                try
                                {
                                    curtax = priortaxtablerowTD[0].Text + "~" + priortaxtablerowTD[1].Text + "~" + priortaxtablerowTD[2].Text + "~" + priortaxtablerowTD[3].Text + "~" + priortaxtablerowTD[4].Text + "~" + priortaxtablerowTD[5].Text;
                                    gc.insert_date(orderNumber, Parcel_ID, 1300, curtax, 1, DateTime.Now);
                                }
                                catch { }
                            }
                        }
                    }
                    catch { }

                    try
                    {
                        prior_total     = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[6]/tbody/tr[2]/td/table[3]/tbody/tr/td[2]")).Text.Trim();
                        priortotlinsert = "Prior Years Total " + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + prior_total;
                        gc.insert_date(orderNumber, Parcel_ID, 1300, priortotlinsert, 1, DateTime.Now);

                        IWebElement         priortaxdettable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[7]/tbody"));
                        IList <IWebElement> priortaxdettableRow = priortaxdettable.FindElements(By.TagName("tr"));
                        int priortaxdettablecount = priortaxdettableRow.Count;
                        IList <IWebElement> priortaxdettablerowTD;
                        foreach (IWebElement rowid in priortaxdettableRow)
                        {
                            priortaxdettablerowTD = rowid.FindElements(By.TagName("td"));
                            if (priortaxdettablerowTD.Count != 0 && !rowid.Text.Contains("If Paid By"))
                            {
                                try
                                {
                                    curtax = priortaxdettablerowTD[0].Text + "~" + "Delinquent" + "~" + priortaxdettablerowTD[1].Text;
                                    gc.insert_date(orderNumber, Parcel_ID, 1298, curtax, 1, DateTime.Now);
                                }
                                catch { }
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Sale
                    try
                    {
                        tax_sales = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[4]/tbody/tr/td")).Text;
                        tax_sales = WebDriverTest.Between(tax_sales, "Please contact the ", " at (386)");
                        if (tax_sales == "Tax Department")
                        {
                            Tax_Sale = "Due to the status code assigned to this account, the remaining detail is blocked from viewing. Please contact the Tax Department at (386) 313-4160 for further information regarding this account.";
                            gc.insert_date(orderNumber, Parcel_ID, 1372, Tax_Sale, 1, DateTime.Now);
                        }
                    }
                    catch
                    { }

                    //Tax History Details
                    try
                    {
                        try
                        {
                            driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[6]/tbody/tr/td/font/a")).SendKeys(Keys.Enter);
                            Thread.Sleep(2000);
                        }
                        catch { }
                        try
                        {
                            driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[5]/tbody/tr/td/font/a")).SendKeys(Keys.Enter);
                        }
                        catch { }
                        Thread.Sleep(7000);
                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax History Deails", driver, "FL", "Flagler");

                        IWebElement         tablelist  = driver.FindElement(By.XPath("html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td"));
                        IList <IWebElement> tablelists = tablelist.FindElements(By.TagName("table"));
                        int tablecount = tablelists.Count;
                        int k          = 3;
                        for (k = 3; k < tablecount - 1; k++)
                        {
                            IWebElement         taxhistorytable    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table[" + k + "]/tbody"));
                            IList <IWebElement> taxhistorytableRow = taxhistorytable.FindElements(By.TagName("tr"));
                            int taxhistorytablecount = taxhistorytableRow.Count;
                            IList <IWebElement> taxhistorytablerowTD;
                            foreach (IWebElement rowid1 in taxhistorytableRow)
                            {
                                taxhistorytablerowTD = rowid1.FindElements(By.TagName("td"));
                                if (k == 3)
                                {
                                    if (taxhistorytablerowTD.Count != 0 && !rowid1.Text.Contains("Payment History") && !rowid1.Text.Contains("Year") && taxhistorytableRow.Count == 4)
                                    {
                                        if (taxhistorytablerowTD.Count == 6)
                                        {
                                            taxhis = taxhistorytablerowTD[0].Text + "~" + taxhistorytablerowTD[1].Text + "~" + taxhistorytablerowTD[2].Text + "~" + taxhistorytablerowTD[3].Text + "~" + taxhistorytablerowTD[4].Text + "~" + taxhistorytablerowTD[5].Text;
                                        }
                                        if (taxhistorytablerowTD.Count == 2)
                                        {
                                            if (taxhistorytablerowTD[0].Text.Trim().Contains("Owner Name"))
                                            {
                                                taxhistoryownername = taxhis + "~" + taxhistorytablerowTD[1].Text + "~" + "";
                                                gc.insert_date(orderNumber, Parcel_ID, 1304, taxhistoryownername, 1, DateTime.Now);
                                            }
                                        }
                                    }
                                    if (taxhistorytablerowTD.Count != 0 && !rowid1.Text.Contains("Payment History") && !rowid1.Text.Contains("Year") && taxhistorytableRow.Count == 5)
                                    {
                                        if (taxhistorytablerowTD.Count == 6)
                                        {
                                            taxhis = taxhistorytablerowTD[0].Text + "~" + taxhistorytablerowTD[1].Text + "~" + taxhistorytablerowTD[2].Text + "~" + taxhistorytablerowTD[3].Text + "~" + taxhistorytablerowTD[4].Text + "~" + taxhistorytablerowTD[5].Text;
                                        }
                                        if (taxhistorytablerowTD.Count == 2)
                                        {
                                            if (taxhistorytablerowTD[0].Text.Trim().Contains("Owner Name"))
                                            {
                                                taxhistoryownername = taxhistorytablerowTD[1].Text;
                                            }
                                            if (taxhistorytablerowTD[0].Text.Trim().Contains("Paid By"))
                                            {
                                                taxhistoryPayid = taxhis + "~" + taxhistoryownername + "~" + taxhistorytablerowTD[1].Text;
                                                gc.insert_date(orderNumber, Parcel_ID, 1304, taxhistoryPayid, 1, DateTime.Now);
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    if (taxhistorytablerowTD.Count != 0 && !rowid1.Text.Contains("Payment History") && !rowid1.Text.Contains("Year") && taxhistorytableRow.Count == 3)
                                    {
                                        if (taxhistorytablerowTD.Count == 6)
                                        {
                                            taxhis = taxhistorytablerowTD[0].Text + "~" + taxhistorytablerowTD[1].Text + "~" + taxhistorytablerowTD[2].Text + "~" + taxhistorytablerowTD[3].Text + "~" + taxhistorytablerowTD[4].Text + "~" + taxhistorytablerowTD[5].Text;
                                        }
                                        if (taxhistorytablerowTD.Count == 2)
                                        {
                                            if (taxhistorytablerowTD[0].Text.Trim().Contains("Owner Name"))
                                            {
                                                taxhistoryownername = taxhis + "~" + taxhistorytablerowTD[1].Text + "~" + "";
                                                gc.insert_date(orderNumber, Parcel_ID, 1304, taxhistoryownername, 1, DateTime.Now);
                                            }
                                        }
                                    }
                                    if (taxhistorytablerowTD.Count != 0 && !rowid1.Text.Contains("Payment History") && !rowid1.Text.Contains("Year") && taxhistorytableRow.Count == 4)
                                    {
                                        if (taxhistorytablerowTD.Count == 6)
                                        {
                                            taxhis = taxhistorytablerowTD[0].Text + "~" + taxhistorytablerowTD[1].Text + "~" + taxhistorytablerowTD[2].Text + "~" + taxhistorytablerowTD[3].Text + "~" + taxhistorytablerowTD[4].Text + "~" + taxhistorytablerowTD[5].Text;
                                        }
                                        if (taxhistorytablerowTD.Count == 2)
                                        {
                                            if (taxhistorytablerowTD[0].Text.Trim().Contains("Owner Name"))
                                            {
                                                taxhistoryownername = taxhistorytablerowTD[1].Text;
                                            }
                                            if (taxhistorytablerowTD[0].Text.Trim().Contains("Paid By"))
                                            {
                                                taxhistoryPayid = taxhis + "~" + taxhistoryownername + "~" + taxhistorytablerowTD[1].Text;
                                                gc.insert_date(orderNumber, Parcel_ID, 1304, taxhistoryPayid, 1, DateTime.Now);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    catch { }

                    //Bill Screeshot
                    try
                    {
                        IWebElement Idownloadurl = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[2]/td/table/tbody/tr[8]/td/font/a"));
                        Url = Idownloadurl.GetAttribute("href");
                        driver.Navigate().GoToUrl(Url);
                        Thread.Sleep(5000);
                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax Bill", driver, "FL", "Flagler");
                    }
                    catch
                    { }

                    //Tax Authority
                    try
                    {
                        tax_authority = "Flagler County Tax Collector 1769 E. Moody Blvd. Suite 102 Bunnell, FL 32110 Phone: (386) 313-4160   FAX: (386) 313-4161";
                    }
                    catch
                    { }

                    curtaxhis = exempt + "~" + exempt_amount + "~" + milage_code + "~" + EscrowCode + "~" + Item + "~" + tax_type + "~" + Total_taxes + "~" + Amount_Paid + "~" + date_paid + "~" + Receipt + "~" + Transaction + "~" + tax_authority;
                    gc.insert_date(orderNumber, Parcel_ID, 1299, curtaxhis, 1, DateTime.Now);
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");

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

                    driver.Quit();
                    gc.mergpdf(orderNumber, "FL", "Flagler");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw;
                }
            }
        }
Ejemplo n.º 6
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;
                }
            }
        }
Ejemplo n.º 7
0
        public string FTP_TNHamilton(string houseno, string sname, string sttype, string accno, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel, string unitno)
        {
            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 address = houseno + " " + sname + " " + unitno;
                        gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "TN", "Hamilton");
                        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_TNHamilton"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("http://assessor.hamiltontn.gov/search.aspx");
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("SearchStreetName")).SendKeys(sname);
                        driver.FindElement(By.Id("SearchStreetNumber")).SendKeys(houseno);

                        driver.FindElement(By.Id("cmdGo")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "TN", "Hamilton");

                        IWebElement         MultiAddressTB = driver.FindElement(By.XPath("//*[@id='T1']/tbody"));
                        IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> MultiAddressTD;

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

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

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

                            return("MultiParcel");
                        }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.XPath("//*[@id='body']/div[3]")).Text;
                            if (nodata.Contains("No results found!"))
                            {
                                HttpContext.Current.Session["Nodata_TNHamilton"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://assessor.hamiltontn.gov/search.aspx");
                        Thread.Sleep(2000);

                        if (parcelNumber.Contains("-") || parcelNumber.Contains(" ") || parcelNumber.Contains("."))
                        {
                            parcelNumber = parcelNumber.Replace("-", "").Replace(" ", "").Replace(".", "");
                        }

                        string CommonParcel = parcelNumber;

                        if (CommonParcel.Length == 8)
                        {
                            string a = parcelNumber.Substring(0, 4);
                            string b = parcelNumber.Substring(4, 1);
                            string c = parcelNumber.Substring(5, 3);

                            parcelNumber = a + " " + b + " " + c;
                        }

                        if (CommonParcel.Length == 6)
                        {
                            string g = parcelNumber.Substring(0, 3);
                            string h = parcelNumber.Substring(3, 3);

                            parcelNumber = g + " " + h;
                        }

                        if (CommonParcel.Length == 13)
                        {
                            string d = parcelNumber.Substring(0, 4);
                            string e = parcelNumber.Substring(5, 1);
                            string f = parcelNumber.Substring(6, 3);

                            parcelNumber = d + " " + e + " " + f;
                        }

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

                        driver.FindElement(By.Id("cmdGo")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "TN", "Hamilton");

                        driver.FindElement(By.XPath("//*[@id='T1']/tbody/tr/td[1]/a")).Click();
                        Thread.Sleep(2000);
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("http://assessor.hamiltontn.gov/search.aspx");
                        Thread.Sleep(2000);

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

                        driver.FindElement(By.Id("cmdGo")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "TN", "Hamilton");

                        IWebElement         MultiOwnerTB = driver.FindElement(By.XPath("//*[@id='T1']/tbody"));
                        IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> MultiOwnerTD;

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

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

                                        MultiOwner_details = Location + "~" + Owner;
                                        gc.insert_date(orderNumber, Parcelno, 764, MultiOwner_details, 1, DateTime.Now);
                                    }
                                    AddressmaxCheck++;
                                }
                            }
                            if (MultiOwnerTR.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_TNHamilton_Multicount"] = "Maximum";
                            }
                            else
                            {
                                HttpContext.Current.Session["multiparcel_TNHamilton"] = "Yes";
                            }
                            driver.Quit();
                            return("MultiParcel");
                        }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.XPath("//*[@id='body']/div[3]")).Text;
                            if (nodata.Contains("No results found!"))
                            {
                                HttpContext.Current.Session["Nodata_TNHamilton"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    //Property Details
                    try
                    {
                        Property_Address = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[1]/tbody/tr[1]/td[1]/div/div")).Text;
                        Account_No       = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[1]/tbody/tr[1]/td[2]/div/div")).Text;
                        Parcel_ID        = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[1]/tbody/tr[1]/td[3]/div/div")).Text;
                        Pro_Type         = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[1]/tbody/tr[2]/td[1]/div/div")).Text;
                        Land_Use         = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[1]/tbody/tr[2]/td[2]/div/div")).Text;
                        Dist             = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[1]/tbody/tr[2]/td[3]/div/div")).Text;
                        Owner1           = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[1]/td[2]/div")).Text;
                        Owner2           = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[2]/td[2]/div")).Text;
                        Owners           = Owner1 + " &" + Owner2;
                        Mailing1         = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[3]/td[2]/div")).Text;
                        Mailing2         = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[1]/td[4]/div")).Text;
                        Mailing3         = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[2]/td[4]/div")).Text;
                        Mailing4         = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[3]/td[4]/div")).Text;
                        Mailing_Address  = Mailing1 + "," + Mailing2 + "," + Mailing3 + " " + Mailing4;
                        Year_Built       = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[4]/td/div[2]/center/table/tbody/tr[2]/td/div/table/tbody/tr/td/div")).Text;
                        Year_Built       = WebDriverTest.Between(Year_Built, "about ", " with");
                        Legal_Desp       = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[4]/td/div[2]/center/table/tbody/tr[2]/td/font[2]/div[1]/center/table[2]/tbody/tr[2]/td/div/table/tbody/tr/td/div")).Text;

                        property = Account_No + "~" + Property_Address + "~" + Pro_Type + "~" + Land_Use + "~" + Dist + "~" + Owners + "~" + Mailing_Address + "~" + Year_Built + "~" + Legal_Desp;
                        gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "TN", "Hamilton");
                        gc.insert_date(orderNumber, Parcel_ID, 766, property, 1, DateTime.Now);
                    }
                    catch
                    { }

                    //Assessment Deatils
                    try
                    {
                        IWebElement         tbmulti11 = driver.FindElement(By.XPath("//*[@id='body']/form/div[2]/table[2]/tbody/tr[4]/td/div[1]/center/table/tbody/tr[2]/td/div/table/tbody/tr/td/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)
                            {
                                Build = TDmulti11[0].Text;
                                if (Build.Contains("Building Value"))
                                {
                                    Building_Value = TDmulti11[1].Text;
                                }

                                Xtra = TDmulti11[0].Text;
                                if (Xtra.Contains("Xtra Features Value"))
                                {
                                    Xtra_Fetures_Value = TDmulti11[1].Text;
                                }

                                Land = TDmulti11[0].Text;
                                if (Land.Contains("Land Value"))
                                {
                                    Land_Value = TDmulti11[1].Text;
                                }

                                tol = TDmulti11[0].Text;
                                if (tol.Contains("Total Value"))
                                {
                                    Total_Value = TDmulti11[1].Text;
                                }

                                Assed = TDmulti11[0].Text;
                                if (Assed.Contains("Assessed Value"))
                                {
                                    Assessed_Value = TDmulti11[1].Text;
                                }
                            }
                        }

                        Assessment = Building_Value + "~" + Xtra_Fetures_Value + "~" + Land_Value + "~" + Total_Value + "~" + Assessed_Value;
                        gc.insert_date(orderNumber, Parcel_ID, 767, Assessment, 1, DateTime.Now);
                    }
                    catch
                    { }


                    //Tax Details
                    driver.Navigate().GoToUrl("http://tpti.hamiltontn.gov/AppFolder/Trustee_PropertySearch.aspx");
                    Thread.Sleep(2000);

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


                    Parcel_ID = Parcel_ID.Replace("_", "");

                    if (Parcel_ID.Contains("."))
                    {
                        Parcel_ID = GlobalClass.Before(Parcel_ID, ".").Trim();
                    }
                    string com_Parcel = Parcel_ID;
                    if (com_Parcel.Length == 7)
                    {
                        Map    = Parcel_ID.Substring(0, 4);
                        Parcel = Parcel_ID.Substring(4, 3);
                    }
                    if (com_Parcel.Length == 8)
                    {
                        Map    = Parcel_ID.Substring(0, 4);
                        Group  = Parcel_ID.Substring(4, 1);
                        Parcel = Parcel_ID.Substring(5, 3);
                    }
                    if (com_Parcel.Length == 9)
                    {
                        Map    = Parcel_ID.Substring(0, 5);
                        Group  = Parcel_ID.Substring(5, 1);
                        Parcel = Parcel_ID.Substring(6, 3);
                    }

                    driver.FindElement(By.Id("ctl00_MainContent_txtMap")).SendKeys(Map);
                    driver.FindElement(By.Id("ctl00_MainContent_txtGroup")).SendKeys(Group);
                    driver.FindElement(By.Id("ctl00_MainContent_txtParcel")).SendKeys(Parcel);

                    gc.CreatePdf(orderNumber, Parcel_ID, "Tax Parcel search", driver, "TN", "Hamilton");
                    driver.FindElement(By.Id("ctl00_MainContent_cmdMGP_Search")).SendKeys(Keys.Enter);

                    //County Tax History Details
                    try
                    {
                        IWebElement         CountyTaxPaymentTB = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_dgrResults']/tbody"));
                        IList <IWebElement> CountyTaxPaymentTR = CountyTaxPaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> CountyTaxPaymentTD;

                        foreach (IWebElement CountyTaxPayment in CountyTaxPaymentTR)
                        {
                            CountyTaxPaymentTD = CountyTaxPayment.FindElements(By.TagName("td"));
                            if (CountyTaxPaymentTD.Count != 0 && !CountyTaxPayment.Text.Contains("Year"))
                            {
                                County_Taxyear = CountyTaxPaymentTD[1].Text;
                                Bill           = CountyTaxPaymentTD[2].Text;
                                Bill_Type      = CountyTaxPaymentTD[4].Text;
                                CPro_Type      = CountyTaxPaymentTD[5].Text;
                                Own_name       = CountyTaxPaymentTD[6].Text;
                                Tol_Due        = CountyTaxPaymentTD[7].Text;
                                Status         = CountyTaxPaymentTD[8].Text;

                                CountyPayment_details = County_Taxyear + "~" + Bill + "~" + Bill_Type + "~" + CPro_Type + "~" + Own_name + "~" + Tol_Due + "~" + Status;
                                gc.CreatePdf(orderNumber, Parcel_ID, "County Tax History Details", driver, "TN", "Hamilton");
                                gc.insert_date(orderNumber, Parcel_ID, 768, CountyPayment_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //County Tax Info Details
                    List <string> CountyInfoSearch = new List <string>();

                    try
                    {
                        IWebElement         CityInfoTB = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_dgrResults']/tbody"));
                        IList <IWebElement> CityInfoTR = CityInfoTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> CityInfoTD;

                        int i = 0;
                        foreach (IWebElement CityInfo in CityInfoTR)
                        {
                            if (!CityInfo.Text.Contains("Year"))
                            {
                                if (i == 1 || i == 2 || i == 3)
                                {
                                    CityInfoTD = CityInfo.FindElements(By.TagName("td"));
                                    IWebElement CityInfo_link = CityInfoTD[0].FindElement(By.TagName("a"));
                                    string      CityInfourl   = CityInfo_link.GetAttribute("href");
                                    CountyInfoSearch.Add(CityInfourl);
                                }
                            }
                            i++;
                        }

                        foreach (string CityInfobill in CountyInfoSearch)
                        {
                            driver.Navigate().GoToUrl(CityInfobill);
                            Thread.Sleep(5000);

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

                            //Tax Info
                            Flags          = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[1]/td[4]")).Text;
                            Tax_Distrct    = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[2]/td[2]")).Text;
                            Bil_type       = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[7]/td/table/tbody/tr[1]/td[2]")).Text;
                            TaxBil_type    = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[7]/td/table/tbody/tr[1]/td[4]")).Text;
                            Bil_Status     = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[7]/td/table/tbody/tr[2]/td[2]")).Text;
                            Bill_Hash      = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[7]/td/table/tbody/tr[2]/td[4]")).Text;
                            Tax_Assessment = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr[7]/td/table/tbody/tr[5]/td[2]")).Text;

                            IWebElement         Tax3TB = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_dgrTrans']/tbody"));
                            IList <IWebElement> Tax3TR = Tax3TB.FindElements(By.TagName("tr"));
                            IList <IWebElement> Tax3TD;
                            foreach (IWebElement Tax3 in Tax3TR)
                            {
                                Tax3TD = Tax3.FindElements(By.TagName("td"));
                                if (Tax3TD.Count != 0 && !Tax3.Text.Contains("Date"))
                                {
                                    Billing_Date = Tax3TD[0].Text;
                                    Trns_type    = Tax3TD[1].Text;
                                    Fee_Type     = Tax3TD[2].Text;
                                    Bill_Amount  = Tax3TD[4].Text;
                                }
                            }

                            try
                            {
                                IWebElement         Tax4TB = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_dgrPayments']/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 && !Tax4.Text.Contains("Date Paid"))
                                    {
                                        PayIfo_Date     = Tax4TD[0].Text;
                                        PayIfoTrns_type = Tax4TD[1].Text;
                                        PayIfoFee_Type  = Tax4TD[2].Text;
                                        PayIfo_Amount   = Tax4TD[3].Text;
                                    }
                                }
                            }
                            catch
                            { }

                            //Deliquent Details
                            try
                            {
                                IWebElement         IntrestTB = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_lblIntAndFees']/table/tbody"));
                                IList <IWebElement> IntrestTR = IntrestTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> IntrestTD;
                                foreach (IWebElement Intrest in IntrestTR)
                                {
                                    IntrestTD = Intrest.FindElements(By.TagName("td"));
                                    if (IntrestTD.Count != 0)
                                    {
                                        ints = IntrestTD[0].Text;
                                        if (ints.Contains("Interest:"))
                                        {
                                            Deliq_Interest = IntrestTD[1].Text;
                                        }

                                        Court = IntrestTD[0].Text;
                                        if (Court.Contains("Court Cost:"))
                                        {
                                            Deliq_CourtCost = IntrestTD[1].Text;
                                        }

                                        Att = IntrestTD[0].Text;
                                        if (Att.Contains("Attorney's Fee:"))
                                        {
                                            Deliq_Attornys = IntrestTD[1].Text;
                                        }

                                        Clerk = IntrestTD[0].Text;
                                        if (Clerk.Contains("Clerk Commission:"))
                                        {
                                            Deliq_Clerk = IntrestTD[1].Text;
                                        }

                                        TR = IntrestTD[0].Text;
                                        if (TR.Contains("TR Costs:"))
                                        {
                                            Deliq_TR = IntrestTD[1].Text;
                                        }
                                    }
                                }
                            }
                            catch
                            { }

                            IWebElement         Tax2TB = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_pnlTotalDue']/table[1]/tbody/tr[1]/td/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)
                                {
                                    t_du = Tax2TD[0].Text;
                                    if (t_du.Contains(" Total Due  "))
                                    {
                                        Total_taxDue = Tax2TD[1].Text;
                                    }
                                }
                            }
                            gc.CreatePdf(orderNumber, Parcel_ID, "Tax Details" + TaxBil_type, driver, "TN", "Hamilton");

                            try
                            {
                                Tax_Authority = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_pnlOurAddr']/table/tbody/tr/td/b")).Text;
                            }
                            catch
                            { }

                            try
                            {
                                Tax_Authority = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_pnlDelQ']/table/tbody/tr/td/b")).Text;
                            }
                            catch
                            { }

                            Tax_Deatils = Tax_Distrct + "~" + TaxBil_type + "~" + Flags + "~" + Bil_type + "~" + Bil_Status + "~" + Bill_Hash + "~" + Tax_Assessment + "~" + Billing_Date + "~" + Trns_type + "~" + Fee_Type + "~" + Bill_Amount + "~" + PayIfo_Date + "~" + PayIfoTrns_type + "~" + PayIfoFee_Type + "~" + PayIfo_Amount + "~" + Deliq_Interest + "~" + Deliq_CourtCost + "~" + Deliq_Attornys + "~" + Deliq_Clerk + "~" + Deliq_TR + "~" + Total_taxDue + "~" + Tax_Authority;
                            gc.insert_date(orderNumber, Parcel_ID, 769, Tax_Deatils, 1, DateTime.Now);
                            PayIfo_Date = ""; PayIfoTrns_type = ""; PayIfoFee_Type = ""; PayIfo_Amount = ""; Deliq_Interest = ""; Deliq_CourtCost = ""; Deliq_Attornys = ""; Deliq_Clerk = ""; Deliq_TR = ""; Total_taxDue = ""; Tax_Authority = "";
                        }
                    }
                    catch { }

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

                    if (Tax_Distrct == "Chattanooga (1)")
                    {
                        driver.Navigate().GoToUrl("http://propertytax.chattanooga.gov/component/ptaxweb/searchpage?field=mgp");
                        Thread.Sleep(2000);

                        City_map = Map.Replace(" ", "");

                        driver.FindElement(By.Id("filter_search_map")).SendKeys(City_map);
                        driver.FindElement(By.Id("filter_search_group")).SendKeys(Group);
                        driver.FindElement(By.Id("filter_search_parcel")).SendKeys(Parcel);

                        gc.CreatePdf(orderNumber, Parcel_ID, "City Parcel search", driver, "TN", "Hamilton");
                        driver.FindElement(By.XPath("//*[@id='content']/div[1]/form/div/div[2]/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("//*[@id=\'content']/div/div[1]/form/table/tbody/tr/td[1]/a")).Click();
                        Thread.Sleep(2000);

                        //City Tax History Details
                        try
                        {
                            IWebElement         CityTaxPaymentTB = driver.FindElement(By.XPath("//*[@id='content']/div/div[1]/form/table[2]/tbody"));
                            IList <IWebElement> CityTaxPaymentTR = CityTaxPaymentTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> CityTaxPaymentTD;

                            foreach (IWebElement CityTaxPayment in CityTaxPaymentTR)
                            {
                                CityTaxPaymentTD = CityTaxPayment.FindElements(By.TagName("td"));
                                if (CityTaxPaymentTD.Count != 0 && !CityTaxPayment.Text.Contains("Year"))
                                {
                                    City_Taxyear  = CityTaxPaymentTD[1].Text;
                                    City_Bill     = CityTaxPaymentTD[2].Text;
                                    CityBill_Type = CityTaxPaymentTD[3].Text;
                                    CityPro_Type  = CityTaxPaymentTD[4].Text;
                                    CityOwn_name  = CityTaxPaymentTD[5].Text;
                                    CityTol_Due   = CityTaxPaymentTD[6].Text;
                                    CityStatus    = CityTaxPaymentTD[7].Text;

                                    CityPayment_details = City_Taxyear + "~" + City_Bill + "~" + CityBill_Type + "~" + CityPro_Type + "~" + CityOwn_name + "~" + CityTol_Due + "~" + CityStatus;
                                    gc.CreatePdf(orderNumber, Parcel_ID, "CIty Tax History Details", driver, "TN", "Hamilton");
                                    gc.insert_date(orderNumber, Parcel_ID, 770, CityPayment_details, 1, DateTime.Now);
                                }
                            }
                        }
                        catch
                        { }

                        //City Info Details
                        List <string> CityInfoSearch = new List <string>();

                        try
                        {
                            IWebElement         CityInfo1TB = driver.FindElement(By.XPath("//*[@id='content']/div/div[1]/form/table[2]/tbody"));
                            IList <IWebElement> CityInfo1TR = CityInfo1TB.FindElements(By.TagName("tr"));
                            IList <IWebElement> CityInfo1TD;

                            int i = 0;
                            foreach (IWebElement CityInfo1 in CityInfo1TR)
                            {
                                if (i == 0 || i == 1 || i == 2)
                                {
                                    CityInfo1TD = CityInfo1.FindElements(By.TagName("td"));
                                    IWebElement CityInfo1_link = CityInfo1TD[0].FindElement(By.TagName("a"));
                                    string      CityInfo1url   = CityInfo1_link.GetAttribute("href");
                                    CityInfoSearch.Add(CityInfo1url);
                                }
                                i++;
                            }

                            foreach (string CityInfobill1 in CityInfoSearch)
                            {
                                driver.Navigate().GoToUrl(CityInfobill1);
                                Thread.Sleep(5000);

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

                                City_Flags       = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[1]/tbody/tr[1]/td[4]")).Text;
                                City_BillHash    = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[2]/tbody/tr/td[2]")).Text;
                                City_Bil_type    = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[3]/tbody/tr[1]/td[2]")).Text;
                                City_TaxBil_Year = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[3]/tbody/tr[1]/td[4]")).Text;
                                City_Bil_Status  = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[3]/tbody/tr[2]/td[2]")).Text;
                                City_Assessment  = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[3]/tbody/tr[4]/td[4]")).Text;

                                try
                                {
                                    IWebElement         Tax211TB = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[5]/tbody[2]"));
                                    IList <IWebElement> Tax211TR = Tax211TB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> Tax211TD;
                                    foreach (IWebElement Tax211 in Tax211TR)
                                    {
                                        Tax211TD = Tax211.FindElements(By.TagName("td"));
                                        if (Tax211TD.Count != 0)
                                        {
                                            t_Inst = Tax211TD[0].Text;
                                            if (t_Inst.Contains("Taxes & Interest"))
                                            {
                                                Tax_Instr = Tax211TD[1].Text;
                                            }
                                            t_Water = Tax211TD[0].Text;
                                            if (t_Water.Contains("Water Quality Fee & Interest"))
                                            {
                                                Tax_Water = Tax211TD[1].Text;
                                            }
                                        }
                                    }
                                }
                                catch
                                { }

                                try
                                {
                                    IWebElement         Tax212TB = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[5]/tbody[2]"));
                                    IList <IWebElement> Tax212TR = Tax212TB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> Tax212TD;
                                    foreach (IWebElement Tax212 in Tax212TR)
                                    {
                                        Tax212TD = Tax212.FindElements(By.TagName("td"));
                                        if (Tax212TD.Count != 0)
                                        {
                                            City_PaidDate   = Tax212TD[0].Text;
                                            City_PaidAmount = Tax212TD[1].Text;
                                        }
                                    }
                                }
                                catch
                                { }

                                try
                                {
                                    IWebElement         Tax21TB = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[6]/tbody[2]"));
                                    IList <IWebElement> Tax21TR = Tax21TB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> Tax21TD;
                                    foreach (IWebElement Tax21 in Tax21TR)
                                    {
                                        Tax21TD = Tax21.FindElements(By.TagName("td"));
                                        if (Tax21TD.Count != 0)
                                        {
                                            City_PaidDate   = Tax21TD[0].Text;
                                            City_PaidAmount = Tax21TD[1].Text;
                                        }
                                    }
                                }
                                catch
                                { }

                                try
                                {
                                    IWebElement         Tax311TB = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[7]/tbody"));
                                    IList <IWebElement> Tax311TR = Tax311TB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> Tax311TD;
                                    foreach (IWebElement Tax311 in Tax311TR)
                                    {
                                        Tax311TD = Tax311.FindElements(By.TagName("td"));
                                        if (Tax311TD.Count != 0)
                                        {
                                            tauth_Inst1 = Tax311TD[0].Text;
                                            if (tauth_Inst.Contains("Total Due"))
                                            {
                                                City_TotalDue = Tax311TD[1].Text;
                                            }
                                        }
                                    }
                                }
                                catch
                                { }

                                try
                                {
                                    IWebElement         Tax311TB = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[8]/tbody"));
                                    IList <IWebElement> Tax311TR = Tax311TB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> Tax311TD;
                                    foreach (IWebElement Tax311 in Tax311TR)
                                    {
                                        Tax311TD = Tax311.FindElements(By.TagName("td"));
                                        if (Tax311TD.Count != 0)
                                        {
                                            tauth_Inst = Tax311TD[0].Text;
                                            if (tauth_Inst.Contains("Total Due"))
                                            {
                                                City_TotalDue = Tax311TD[1].Text;
                                            }
                                        }
                                    }
                                }
                                catch
                                { }

                                try
                                {
                                    CityTax_Authority = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[6]/tbody/tr/td")).Text;
                                    CityTax_Authority = WebDriverTest.After(CityTax_Authority, "MAKE CHECKS PAYABLE AND MAIL TO:");
                                }
                                catch
                                { }

                                try
                                {
                                    CityTax_Authority1 = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[7]/tbody/tr/td")).Text;
                                    CityTax_Authority1 = WebDriverTest.After(CityTax_Authority1, "MAKE CHECKS PAYABLE AND MAIL TO:");
                                }
                                catch
                                { }

                                CityTax_Deatils = City_Flags + "~" + City_BillHash + "~" + City_Bil_type + "~" + City_TaxBil_Year + "~" + City_Bil_Status + "~" + City_Assessment + "~" + City_PaidDate + "~" + City_PaidAmount + "~" + Tax_Instr + "~" + Tax_Water + "~" + City_TotalDue + "~" + CityTax_Authority + "~" + CityTax_Authority1;
                                gc.CreatePdf(orderNumber, Parcel_ID, "City Tax Details" + City_TaxBil_Year, driver, "TN", "Hamilton");
                                gc.insert_date(orderNumber, Parcel_ID, 771, CityTax_Deatils, 1, DateTime.Now);
                                City_PaidDate = ""; City_PaidAmount = ""; Tax_Instr = ""; Tax_Water = ""; City_TotalDue = "";

                                try
                                {
                                    IWebElement         CinfoTB = driver.FindElement(By.XPath("//*[@id='ptaxweb-content']/table[4]/tbody[2]"));
                                    IList <IWebElement> CinfoTR = CinfoTB.FindElements(By.TagName("tr"));
                                    IList <IWebElement> CinfoTD;
                                    foreach (IWebElement Cinfo in CinfoTR)
                                    {
                                        CinfoTD = Cinfo.FindElements(By.TagName("td"));
                                        if (CinfoTD.Count != 0)
                                        {
                                            Cinfo_Taxyear   = CinfoTD[0].Text;
                                            Cinfo_Transtype = CinfoTD[1].Text;
                                            Cinfo_Feetype   = CinfoTD[2].Text;
                                            Cinfo_Amount    = CinfoTD[3].Text;

                                            Cinfo_details = Cinfo_Taxyear + "~" + Cinfo_Transtype + "~" + Cinfo_Feetype + "~" + Cinfo_Amount;
                                            gc.insert_date(orderNumber, Parcel_ID, 772, Cinfo_details, 1, DateTime.Now);
                                        }
                                    }
                                }
                                catch
                                { }
                            }
                        }
                        catch { }
                    }
                    CitytaxTime = DateTime.Now.ToString("HH:mm:ss");

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

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

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

            var driverService = PhantomJSDriverService.CreateDefaultService();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                        driver1.Quit();
                    }
                    catch
                    { }

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

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

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

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

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

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