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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }