public string FTP_BentonAR(string streetNo, string streetName, string direction, string streetType, string unitNumber, 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 Taxing_Authority = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); string address = ""; using (driver = new PhantomJSDriver()) //ChromeDriver { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://www.arcountydata.com/sponsored.asp"); Thread.Sleep(3000); StartTime = DateTime.Now.ToString("HH:mm:ss"); if (direction != "") { address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + unitNumber; } else { address = streetNo + " " + streetName + " " + streetType + " " + unitNumber; } if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownerName, address.Trim(), "AR", "Benton"); 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_BentonAR"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { ///html/body/div[2]/table/tbody/tr[2]/td/form/div/div/select SelectElement ss = new SelectElement(driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[2]/td/form/div/div/select"))); ss.SelectByValue("Benton"); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Select Search Input", driver, "AR", "Benton"); driver.FindElement(By.XPath("//*[@id='Assessor']/div/div[2]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("StreetNumber")).SendKeys(streetNo); driver.FindElement(By.Id("StreetName")).SendKeys(streetName); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address Search Input", driver, "AR", "Benton"); driver.FindElement(By.Id("Search")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "AR", "Benton"); //Multiparcel try { //int Count = 0; string matches = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div[2]/table/tbody/tr[2]/td[2]")).Text; string matches1 = GlobalClass.After(matches, "to").Trim(); IWebElement Multiaddresstable = driver.FindElement(By.XPath("//*[@id='parcel_report']/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 (multiaddressrow.Count > 4 && Multiaddressid.Count != 0 && Multiaddressid.Count == 10 && !Multiaddress.Text.Contains("Parcel #")) { string Multiparcelnumber = Multiaddressid[0].Text; string OWnername = Multiaddressid[1].Text; string Address1 = Multiaddressid[3].Text; string multiaddressresult = OWnername + "~" + Address1; gc.insert_date(orderNumber, Multiparcelnumber, 1625, multiaddressresult, 1, DateTime.Now); //Count++; } } if (multiaddressrow.Count == 4) { driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "AR", "Benton"); } if (multiaddressrow.Count > 4 && Convert.ToInt16(matches1) <= 28) { HttpContext.Current.Session["multiParcel_BentonAR"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Convert.ToInt16(matches1) > 29) { HttpContext.Current.Session["multiParcel_BentonAR_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div/div")).Text; if (nodata.Contains("Nothing matching your search criteria was found")) { HttpContext.Current.Session["Nodata_BentonAR"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { // driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[2]/td/form/div/div/select/option[5]")); SelectElement ss = new SelectElement(driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[2]/td/form/div/div/select"))); ss.SelectByValue("Benton"); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Select Search Input", driver, "AR", "Benton"); driver.FindElement(By.XPath("//*[@id='Assessor']/div/div[2]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ParcelNumber")).SendKeys(parcelNumber); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Input", driver, "AR", "Benton"); driver.FindElement(By.Id("Search")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Result", driver, "AR", "Benton"); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div/div")).Text; if (nodata.Contains("Nothing matching your search criteria was found")) { HttpContext.Current.Session["Nodata_BentonAR"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { SelectElement ss = new SelectElement(driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[2]/td/form/div/div/select"))); ss.SelectByValue("Benton"); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Select OwnerSearch Input", driver, "AR", "Benton"); driver.FindElement(By.XPath("//*[@id='Assessor']/div/div[2]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("OwnerName")).SendKeys(ownerName); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Owner Search Input", driver, "AR", "Benton"); driver.FindElement(By.Id("Search")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Owner Search Result", driver, "AR", "Benton"); //Multiparcel try { //int Count = 0; string matches = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div[2]/table/tbody/tr[2]/td[2]")).Text; string matches1 = GlobalClass.After(matches, "to").Trim(); IWebElement Multiaddresstable = driver.FindElement(By.XPath("//*[@id='parcel_report']/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 (multiaddressrow.Count > 4 && Multiaddressid.Count != 0 && Multiaddressid.Count == 10 && !Multiaddress.Text.Contains("Parcel #")) { string Multiparcelnumber = Multiaddressid[0].Text; string OWnername = Multiaddressid[1].Text; string Address1 = Multiaddressid[3].Text; string multiaddressresult = OWnername + "~" + Address1; gc.insert_date(orderNumber, Multiparcelnumber, 1625, multiaddressresult, 1, DateTime.Now); //Count++; } } if (multiaddressrow.Count == 4) { driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Owner Search Result", driver, "AR", "Benton"); } if (multiaddressrow.Count > 4 && Convert.ToInt16(matches1) <= 28) { HttpContext.Current.Session["multiParcel_BentonAR"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Convert.ToInt16(matches1) > 29) { HttpContext.Current.Session["multiParcel_BentonAR_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div/div")).Text; if (nodata.Contains("Nothing matching your search criteria was found")) { HttpContext.Current.Session["Nodata_BentonAR"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details try { driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Result", driver, "AR", "Benton"); } catch { } string ParcelID = "", CountyName = "", OwnershipInformation = "", PropertyAddress = "", BillingInformation = "", TotalAcres = "", TimberAcres = "", SecTwpRng = "", Subdivision = "", LegalDescription = "", SchoolDistrict = "", TaxStatus = "", Over65 = "", YearBuilt = ""; string title = "", value = ""; IWebElement Propinfo1 = driver.FindElement(By.XPath("//*[@id='Basic']/div/div[2]/table/tbody")); IList <IWebElement> TRPropinfo1 = Propinfo1.FindElements(By.TagName("tr")); IList <IWebElement> AherfProp; foreach (IWebElement row in TRPropinfo1) { AherfProp = row.FindElements(By.TagName("td")); if (AherfProp.Count != 0 && AherfProp.Count == 2 && AherfProp[0].Text.Trim() != "" && !row.Text.Contains("Parcel Number:")) { title += AherfProp[0].Text.Replace("\r\n", " ").Replace(":", "").Replace("?", "").Replace("`", "") + "~"; value += AherfProp[1].Text.Replace("\r\n", " ").Replace(":", "").Replace("?", "").Replace("Map This Address", "") + "~"; } if (AherfProp.Count != 0 && AherfProp.Count == 2 && AherfProp[0].Text.Trim() != "" && row.Text.Contains("Parcel Number:")) { ParcelID = AherfProp[1].Text; } } try { string current = driver.CurrentWindowHandle; driver.FindElement(By.XPath("/html/body/div[2]/div[3]/div/ul/li[5]/a")).Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); driver.SwitchTo().Window(current); YearBuilt = driver.FindElement(By.XPath("//*[@id='Improvements']/div/div[2]/table/tbody/tr[10]/td[2]")).Text.Trim(); gc.CreatePdf(orderNumber, ParcelID, "Year Built Result", driver, "AR", "Benton"); } catch { } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + title + "Year Built" + "' where Id = '" + 1457 + "'"); gc.insert_date(orderNumber, ParcelID, 1457, value + YearBuilt, 1, DateTime.Now); //Land pdf try { driver.FindElement(By.XPath("/html/body/div[2]/div[3]/div/ul/li[2]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Land Pdf", driver, "AR", "Benton"); } catch { } //Sales try { driver.FindElement(By.XPath("/html/body/div[2]/div[3]/div/ul/li[3]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Sales Pdf", driver, "AR", "Benton"); } catch { } //Assessment Details try { driver.FindElement(By.XPath("/html/body/div[2]/div[3]/div/ul/li[4]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Valuation", driver, "AR", "Benton"); } catch { } string title1 = "", value1 = "", value2 = ""; IWebElement Propinfo2 = driver.FindElement(By.XPath("//*[@id='Valuation']/div/div[2]/table/tbody")); IList <IWebElement> TRPropinfo2 = Propinfo2.FindElements(By.TagName("tr")); IList <IWebElement> AherfProp1; foreach (IWebElement row1 in TRPropinfo2) { AherfProp1 = row1.FindElements(By.TagName("td")); if (!row1.Text.Contains("Entry Appraised Assessed")) { if (AherfProp1.Count != 0 && AherfProp1.Count == 3 && AherfProp1[0].Text.Trim() != "") { title1 += AherfProp1[0].Text + "~"; } if (AherfProp1.Count != 0 && AherfProp1.Count == 2 && AherfProp1[0].Text.Trim() != "") { title1 += AherfProp1[0].Text + "~"; } if (AherfProp1.Count != 0 && AherfProp1.Count == 3 && AherfProp1[0].Text.Trim() != "") { value1 += AherfProp1[1].Text + "~"; value2 += AherfProp1[2].Text + "~"; } if (AherfProp1.Count != 0 && AherfProp1.Count == 2 && AherfProp1[0].Text.Trim() != "") { value2 += AherfProp1[1].Text + "~"; //value2 += AherfProp1[2].Text + "~"; } value1 = value1.TrimEnd('~'); value2 = value2.TrimEnd('~'); title1 = title1.TrimEnd('~').Replace(":", " ").Trim(); gc.insert_date(orderNumber, ParcelID, 1458, title1.Trim() + "~" + value1.Trim() + "~" + value2.Trim(), 1, DateTime.Now); title1 = ""; value1 = ""; value2 = ""; } } //Tax Authority Details try { driver.Navigate().GoToUrl("https://propertytax.ark.org/benton/index.php"); string Taxing_Authority1 = driver.FindElement(By.XPath("//*[@id='app-container']/div[3]/h4")).Text; Taxing_Authority = GlobalClass.After(Taxing_Authority1, "MAIN BRANCH").Trim(); gc.CreatePdf(orderNumber, ParcelID, "Tax Authority1", driver, "AR", "Benton"); } catch { } //Tax Information Details for (int i = 1; i < 4; i++) { driver.Navigate().GoToUrl("https://www.arcountydata.com/propsearch.asp"); Thread.Sleep(2000); IWebElement yearrrs = driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select")); string stryearsplit = yearrrs.Text.Replace(" \r\n ", ""); string[] yearsplit = stryearsplit.Trim().Replace("\n", "").Split('\r'); IWebElement newyears = driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select")); SelectElement newss = new SelectElement(driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select"))); newss.SelectByText(yearsplit[i]); driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[2]/div/input[1]")).Clear(); driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[2]/div/input[1]")).SendKeys(ParcelID); driver.FindElement(By.Id("searchy")).Click(); Thread.Sleep(2000); //gc.CreatePdf(orderNumber, ParcelID, "Tax Search Record1", driver, "AR", "Benton"); try { string Nodata = driver.FindElement(By.XPath("/html/body/div[2]/div[3]")).Text; if (Nodata.Contains("No Records Returned")) { driver.FindElement(By.Id("SearchClose")).Click(); Thread.Sleep(2000); newyears = driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select")); SelectElement newsss = new SelectElement(driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select"))); i++; newsss.SelectByText(yearsplit[i]); driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[2]/div/input[1]")).Clear(); driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[2]/div/input[1]")).SendKeys(ParcelID); driver.FindElement(By.Id("searchy")).Click(); Thread.Sleep(2000); } } catch { } try { driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[2]/td[1]")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Record2", driver, "AR", "Benton"); } catch { } try { IWebElement IAddressSearch1 = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[2]/td[1]")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", IAddressSearch1); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Record2", driver, "AR", "Benton"); } catch { } //Delinquent Details string delininfo = ""; try { string delinquentd = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[14]/td")).Text.Trim(); if (delinquentd.Contains("This property has delinquent taxes.")) { delininfo = "For tax amount due, you must call the Collector's Office."; gc.insert_date(orderNumber, ParcelID, 1626, delininfo, 1, DateTime.Now); } } catch { } //Proof Of Payment Download try { string current1 = driver.CurrentWindowHandle; driver.FindElement(By.XPath("/html/body/div[2]/table[2]/tbody/tr[3]/td[9]/a")).Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelID, "Proof Of Payment1", driver, "AR", "Benton"); driver.SwitchTo().Window(current1); driver.FindElement(By.XPath("/html/body/div[2]/table[2]/tbody/tr[4]/td[9]/a")).Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelID, "Proof Of Payment2", driver, "AR", "Benton"); driver.SwitchTo().Window(current1); Thread.Sleep(3000); } catch { } //Current Tax Details Table //string Parcel = "", Taxyearbook = "", OwnershipInformation = "", PropertyAddress = "", BillingInformation = "", TotalAcres = "", TimberAcres = "", SecTwpRng = "", Subdivision = "", LegalDescription = "", SchoolDistrict = "", TaxStatus = "", Over65 = "", YearBuilt = ""; string Taxyear = ""; try { string Taxyear1 = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[3]/td[2]")).Text.Trim(); Taxyear = GlobalClass.Before(Taxyear1, "\r\n").Trim(); string Taxtitle = "", Taxvalue = ""; IWebElement Taxinfo1 = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody")); IList <IWebElement> TRTaxinfo1 = Taxinfo1.FindElements(By.TagName("tr")); IList <IWebElement> AherfTax; foreach (IWebElement Tax in TRTaxinfo1) { AherfTax = Tax.FindElements(By.TagName("td")); if (AherfTax.Count != 0 && AherfTax.Count == 2 && AherfTax[0].Text.Trim() != "" && !Tax.Text.Contains("View Parcel") && !Tax.Text.Contains("Parcel #:") && !Tax.Text.Contains("Proof Of Payment")) { Taxtitle += AherfTax[0].Text.Replace("\r\n", "").Replace(":", "").Replace("?", "") + "~"; Taxvalue += AherfTax[1].Text.Replace("\r\n", " ").Replace("Current", "").Replace(":", "").Replace("?", "") + "~"; } if (AherfTax.Count != 0 && AherfTax.Count == 4 && AherfTax[0].Text.Trim() != "" && !Tax.Text.Contains("Parcel #:")) { Taxtitle += AherfTax[0].Text.Replace("\r\n", "").Replace(":", "").Replace("?", "") + "~"; Taxvalue += AherfTax[1].Text.Replace("\r\n", "").Replace("Current", "").Replace(":", "").Replace("?", "").Replace("Proof Of Payment", "") + "~"; } } Taxtitle = Taxtitle.TrimEnd('~').Replace("/", ""); Taxvalue = Taxvalue.TrimEnd('~'); db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Taxtitle.Trim() + "~" + "Tax Authority" + "' where Id = '" + 1460 + "'"); gc.insert_date(orderNumber, ParcelID, 1460, Taxvalue.Trim() + "~" + Taxing_Authority, 1, DateTime.Now); Taxtitle = ""; Taxvalue = ""; gc.CreatePdf(orderNumber, ParcelID, "Tax Page" + Taxyear, driver, "AR", "Benton"); } catch { } //Tax Information Details Table try { string Taxtype = "", Taxdescription = "", District = "", Exempt = "", Assessedvalue = "", Taxowed = "", Taxpaid = "", Balance = ""; IWebElement Bigdata4 = driver.FindElement(By.XPath("/html/body/div[2]/table[3]/tbody")); IList <IWebElement> TRBigdata4 = Bigdata4.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata4; foreach (IWebElement row4 in TRBigdata4) { TDBigdata4 = row4.FindElements(By.TagName("td")); if (TDBigdata4.Count != 0 && TDBigdata4.Count == 8 && !row4.Text.Contains("Tax Type")) { Taxtype = TDBigdata4[0].Text; Taxdescription = TDBigdata4[1].Text; District = TDBigdata4[2].Text; Exempt = TDBigdata4[3].Text; Assessedvalue = TDBigdata4[4].Text; Taxowed = TDBigdata4[5].Text; Taxpaid = TDBigdata4[6].Text; Balance = TDBigdata4[7].Text; string Taxinfodetails = Taxyear.Trim() + "~" + Taxtype.Trim() + "~" + Taxdescription.Trim() + "~" + District.Trim() + "~" + Exempt.Trim() + "~" + Assessedvalue.Trim() + "~" + Taxowed.Trim() + "~" + Taxpaid.Trim() + "~" + Balance.Trim(); gc.insert_date(orderNumber, ParcelID, 1624, Taxinfodetails, 1, DateTime.Now); } if (TDBigdata4.Count != 0 && TDBigdata4.Count == 4 && !row4.Text.Contains("Tax Type")) { Taxtype = TDBigdata4[0].Text; Taxowed = TDBigdata4[1].Text; Taxpaid = TDBigdata4[2].Text; Balance = TDBigdata4[3].Text; string Taxinfodetails = Taxyear.Trim() + "~" + Taxtype.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + Taxowed.Trim() + "~" + Taxpaid.Trim() + "~" + Balance.Trim(); gc.insert_date(orderNumber, ParcelID, 1624, Taxinfodetails, 1, DateTime.Now); } } } catch { } //Same Data But Different Xpath try { string Taxtype = "", Taxdescription = "", District = "", Exempt = "", Assessedvalue = "", Taxowed = "", Taxpaid = "", Balance = ""; IWebElement Bigdata4 = driver.FindElement(By.XPath("/html/body/div[2]/table[2]/tbody")); IList <IWebElement> TRBigdata4 = Bigdata4.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata4; foreach (IWebElement row4 in TRBigdata4) { TDBigdata4 = row4.FindElements(By.TagName("td")); if (TDBigdata4.Count != 0 && TDBigdata4.Count == 8 && !row4.Text.Contains("Tax Type")) { Taxtype = TDBigdata4[0].Text; Taxdescription = TDBigdata4[1].Text; District = TDBigdata4[2].Text; Exempt = TDBigdata4[3].Text; Assessedvalue = TDBigdata4[4].Text; Taxowed = TDBigdata4[5].Text; Taxpaid = TDBigdata4[6].Text; Balance = TDBigdata4[7].Text; string Taxinfodetails = Taxyear.Trim() + "~" + Taxtype.Trim() + "~" + Taxdescription.Trim() + "~" + District.Trim() + "~" + Exempt.Trim() + "~" + Assessedvalue.Trim() + "~" + Taxowed.Trim() + "~" + Taxpaid.Trim() + "~" + Balance.Trim(); gc.insert_date(orderNumber, ParcelID, 1624, Taxinfodetails, 1, DateTime.Now); } if (TDBigdata4.Count != 0 && TDBigdata4.Count == 4 && !row4.Text.Contains("Tax Type")) { Taxtype = TDBigdata4[0].Text; Taxowed = TDBigdata4[1].Text; Taxpaid = TDBigdata4[2].Text; Balance = TDBigdata4[3].Text; string Taxinfodetails = Taxyear.Trim() + "~" + Taxtype.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + Taxowed.Trim() + "~" + Taxpaid.Trim() + "~" + Balance.Trim(); gc.insert_date(orderNumber, ParcelID, 1624, Taxinfodetails, 1, DateTime.Now); } } } catch { } } //Payment Receipts Details Table try { string Receipt = "", Book = "", TaxYear = "", Receiptdate = "", Cashamt = "", Checkamt = "", Creditamt = "", Total = ""; IWebElement Bigdata3 = driver.FindElement(By.XPath("/html/body/div[2]/table[2]/tbody")); IList <IWebElement> TRBigdata3 = Bigdata3.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata3; foreach (IWebElement row3 in TRBigdata3) { TDBigdata3 = row3.FindElements(By.TagName("td")); if (TDBigdata3.Count != 0 && TDBigdata3.Count == 9 && !row3.Text.Contains("Receipt #")) { Receipt = TDBigdata3[0].Text; Book = TDBigdata3[1].Text; TaxYear = TDBigdata3[2].Text; Receiptdate = TDBigdata3[3].Text; Cashamt = TDBigdata3[4].Text; Checkamt = TDBigdata3[5].Text; Creditamt = TDBigdata3[6].Text; Total = TDBigdata3[7].Text; string Paymentreceiptdetails = Receipt.Trim() + "~" + Book.Trim() + "~" + TaxYear.Trim() + "~" + Receiptdate.Trim() + "~" + Cashamt.Trim() + "~" + Checkamt.Trim() + "~" + Creditamt.Trim() + "~" + Total.Trim(); gc.insert_date(orderNumber, ParcelID, 1623, Paymentreceiptdetails, 1, DateTime.Now); } } } catch { } //All Years Screeshot driver.Navigate().GoToUrl("https://www.arcountydata.com/propsearch.asp"); Thread.Sleep(2000); IWebElement newyears1 = driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select")); SelectElement newss1 = new SelectElement(driver.FindElement(By.XPath("//*[@id='SearchPanel']/div/form/div[1]/div[4]/select"))); newss1.SelectByText("All Years"); driver.FindElement(By.Id("searchy")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "All Years", driver, "AR", "Benton"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "AR", "Benton", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "AR", "Benton"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Forsyth(string streetno, string direction, string streetname, string streetype, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> multiparcel = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://tellus.co.forsyth.nc.us/lrcpwa/SearchProperty.aspx"); Thread.Sleep(2000); try { if (searchType == "titleflex") { string address = streetno + " " + direction + " " + streetname + " " + streetype + " " + unitno; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "NC", "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_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='panelSummary']/li[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetNumberTextBox")).SendKeys(streetno); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetNameTextBox")).SendKeys(streetname); gc.CreatePdf_WOP(orderNumber, "SearchAddressBefore", driver, "NC", "Forsyth"); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_AddressButton")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "SearchAddressAfter", driver, "NC", "Forsyth"); Thread.Sleep(2000); string mul = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; mul = WebDriverTest.Before(mul, "Records").Trim(); int i, j = 2; if ((mul != "1") && (mul != "0")) { int iRowsCount = driver.FindElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_streetDictionaryResultsGridView']/tbody/tr")).Count; for (i = 2; i <= iRowsCount; i++) { if (j >= 2 && i != 2) { IWebElement checkbox1 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_streetDictionaryResultsGridView_ctl0" + j + "_CheckBox1']")); // checkbox.Clear(); checkbox1.Click(); Thread.Sleep(1000); j++; } IWebElement checkbox = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_streetDictionaryResultsGridView_ctl0" + i + "_CheckBox1']")); // checkbox.Clear(); checkbox.Click(); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetDictionarySearchButton")).SendKeys(Keys.Enter); Thread.Sleep(1000); string mul1 = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; mul1 = GlobalClass.Before(mul1, " Records Matched Search Criteria").Trim(); int count = Convert.ToInt32(mul1); if (count > 0) { //multi parcel gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "NC", "Forsyth"); IWebElement tbmulti2 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti2; int rescount = TRmulti2.Count; foreach (IWebElement row in TRmulti2) { TDmulti2 = row.FindElements(By.TagName("td")); if (TDmulti2.Count != 0 && TDmulti2[1].Text.Trim() != "" && !row.Text.Contains("Pfx") && TDmulti2.Count == 9) { IWebElement multiparcellink = TDmulti2[0].FindElement(By.TagName("a")); string strmulti = multiparcellink.GetAttribute("href"); multiparcel.Add(strmulti); string multi1 = TDmulti2[1].Text + " " + TDmulti2[4].Text + "~" + TDmulti2[8].Text; if (TDmulti2[1].Text == streetno || streetno == "0") { gc.insert_date(orderNumber, TDmulti2[0].Text, 616, multi1, 1, DateTime.Now); } // Owner~address } } } driver.Navigate().Back(); Thread.Sleep(1000); } if (multiparcel.Count > 1) { HttpContext.Current.Session["multiparcel_Forsyth"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { foreach (string real in multiparcel) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); } } } else { try { driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; if (nodata.Contains("0 Records Matched Search Criteria")) { HttpContext.Current.Session["Nodata_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='panelSummary']/li[4]/a")).Click(); Thread.Sleep(4000); IWebElement text = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_PINNumberTextBox']")); parcelNumber = parcelNumber.Replace("-", ""); text.Clear(); IWebElement add = driver.FindElement(By.XPath("//*[@id='PIN']/div/div/div/center/table/tbody/tr[2]/td/div/div")); IList <IWebElement> MultiOwnerRow = add.FindElements(By.TagName("input")); foreach (IWebElement row1 in MultiOwnerRow) { row1.SendKeys(parcelNumber); } gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Input Passed", driver, "NC", "Forsyth"); // text.SendKeys(parcelNumber); driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_PinButton']")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Result", driver, "NC", "Forsyth"); try { //No Data Found string nodata = driver.FindElement(By.Id("ctl00_PageHeader1_ErrorMessageLabel")).Text; if (nodata.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { string firstname = "", lastname = ""; if (ownername.Contains(' ')) { string[] name = ownername.Split(' '); firstname = name[0]; lastname = name[1]; if (!ownername.Contains(',')) { ownername = firstname + "," + lastname; } } driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_OwnerTextBox']")).SendKeys(ownername); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_OwnerButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); string mul = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; mul = WebDriverTest.Before(mul, "Records").Trim(); if ((mul != "1") && (mul != "0")) { //multi parcel gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "NC", "Forsyth"); IWebElement tbmulti = driver.FindElement(By.XPath(" //*[@id='ctl00_ContentPlaceHolder1_OwnerSearchResultsGridView']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int TRmulticount = TRmulti.Count; int maxCheck = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (maxCheck <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { if (maxCheck <= 15) { string multi1 = TDmulti[3].Text + "~" + TDmulti[2].Text; gc.insert_date(orderNumber, TDmulti[1].Text, 616, multi1, 1, DateTime.Now); } } maxCheck++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Forsyth_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } else { HttpContext.Current.Session["multiparcel_Forsyth"] = "Yes"; } driver.Quit(); return("MultiParcel"); } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; if (nodata.Contains("0 Records Matched Search Criteria")) { HttpContext.Current.Session["Nodata_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string TaxYear = "", REID = "", ParcelID = "", PropertyOwner = "", PropertyAddress = "", LegalDescription = "", MailingAddress = "", OldMapNumber = "", MarketArea = "", Township = "", PlanningJurisdiction = "", City = "", FireDistrict = "", SpecialDistrict = "", PropertyClass = "", YearBuilt = ""; //driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); //Thread.Sleep(2000); string propbulktext = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div[1]/div/div/div[2]/div[1]/div[1]/table/tbody/tr[1]/td/table")).Text; TaxYear = driver.FindElement(By.Id("ctl00_PageHeader1_TaxYear")).Text; REID = driver.FindElement(By.Id("ctl00_PageHeader1_ReidLabelInfo")).Text; ParcelID = driver.FindElement(By.Id("ctl00_PageHeader1_PinLabelInfo")).Text; PropertyOwner = driver.FindElement(By.XPath("//*[@id='ctl00_PageHeader1_DetailsView1']/tbody/tr/td")).Text; PropertyAddress = driver.FindElement(By.Id("ctl00_PageHeader1_LocationAddressLabelInfo")).Text; LegalDescription = driver.FindElement(By.Id("ctl00_PageHeader1_PropertyDescriptionLabelInfo")).Text; MailingAddress = driver.FindElement(By.Id("ctl00_PageHeader1_DetailsView4")).Text.Replace("\r\n", " ").Trim(); gc.CreatePdf(orderNumber, ParcelID, "Property and Assessment Details", driver, "NC", "Forsyth"); string bulktext = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_DetailsView5")).Text; OldMapNumber = gc.Between(bulktext, "Old Map# ", "Market Area ").Trim(); MarketArea = gc.Between(bulktext, "Market Area ", "Township ").Trim(); Township = gc.Between(bulktext, "Township ", "Planning Jurisdiction").Trim(); PlanningJurisdiction = gc.Between(bulktext, "Planning Jurisdiction", "City").Trim(); City = gc.Between(bulktext, "City", "Fire District").Trim(); FireDistrict = gc.Between(bulktext, "Fire District", "Spec District").Trim(); SpecialDistrict = gc.Between(bulktext, "Spec District", "Land Class").Trim(); PropertyClass = gc.Between(bulktext, "Land Class", "History REID 1").Replace("\r\n", " ").Trim(); driver.FindElement(By.Id("ctl00_PageHeader1_BuildingsHyperLink")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Building Details", driver, "NC", "Forsyth"); string yearbuilt = ""; try { yearbuilt = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_DetailsView4")).Text; YearBuilt = gc.Between(yearbuilt, "Year Built", "Additions").Replace("\r\n", "").Trim(); } catch { } string propertydetails = TaxYear + "~" + REID + "~" + PropertyOwner + "~" + PropertyAddress + "~" + LegalDescription + "~" + MailingAddress + "~" + OldMapNumber + "~" + MarketArea + "~" + Township + "~" + PlanningJurisdiction + "~" + City + "~" + FireDistrict + "~" + SpecialDistrict + "~" + PropertyClass + "~" + YearBuilt; gc.insert_date(orderNumber, ParcelID, 603, propertydetails, 1, DateTime.Now); //Assessment Details string currentHandle = driver.CurrentWindowHandle; IWebElement element = driver.FindElement(By.LinkText("Print Property Info")); PopupWindowFinder finder = new PopupWindowFinder(driver); string popupWindowHandle = finder.Click(element); driver.SwitchTo().Window(popupWindowHandle); gc.CreatePdf(orderNumber, ParcelID, "Assessment Details", driver, "NC", "Forsyth"); Thread.Sleep(3000); IWebElement asstableElement = driver.FindElement(By.XPath("//*[@id='headerPlaceholder']/div/div[4]/div/table/tbody")); IList <IWebElement> asstableElementRow = asstableElement.FindElements(By.TagName("tr")); IList <IWebElement> asstableElementRowTD; IList <IWebElement> asstableElementRowTH; var assesscolumn = ""; var assessvalue = ""; foreach (IWebElement rowid in asstableElementRow) { asstableElementRowTD = rowid.FindElements(By.TagName("td")); asstableElementRowTH = rowid.FindElements(By.TagName("th")); if (asstableElementRowTD.Count != 0 && !rowid.Text.Contains("Property Value") && rowid.Text != "") { if (asstableElementRowTD[0].Text != " ") { assesscolumn += asstableElementRowTH[0].Text + "~"; assessvalue += asstableElementRowTD[0].Text + "~"; } } } assesscolumn = assesscolumn.TrimEnd('~'); assessvalue = assessvalue.TrimEnd('~'); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assesscolumn + "' where Id = '" + 605 + "'"); gc.insert_date(orderNumber, ParcelID, 605, assessvalue, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information Details driver.Navigate().GoToUrl("http://tellus.co.forsyth.nc.us/PublicWebAccess/BillSearchResults.aspx?"); Thread.Sleep(2000); string Par = ".000"; parcelNumber = ParcelID + Par; IWebElement ISelect = driver.FindElement(By.Id("lookupCriterion")); SelectElement sSelect = new SelectElement(ISelect); sSelect.SelectByText("Parcel Number"); driver.FindElement(By.Id("txtSearchString")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Input Passed", driver, "NC", "Forsyth"); driver.FindElement(By.XPath("//*[@id='btnGo']")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Result", driver, "NC", "Forsyth"); //Tax Histry Details IWebElement tdHistry = driver.FindElement(By.XPath("//*[@id='tblSearchResults']")); IList <IWebElement> TrHistry = tdHistry.FindElements(By.TagName("tr")); IList <IWebElement> TDHistry; IList <IWebElement> TDHistryth; foreach (IWebElement row in TrHistry) { TDHistry = row.FindElements(By.TagName("td")); TDHistryth = row.FindElements(By.TagName("tr")); if (!row.Text.Contains("Bill #")) { if (TDHistry.Count == 7) { string TaxHistryDetails = TDHistry[0].Text + "~" + TDHistry[1].Text + "~" + TDHistry[2].Text + "~" + TDHistry[3].Text + "~" + TDHistry[4].Text + "~" + TDHistry[5].Text + "~" + TDHistry[6].Text; gc.insert_date(orderNumber, ParcelID, 612, TaxHistryDetails, 1, DateTime.Now); } else if (row.Text.Contains("Total")) { string total = GlobalClass.After(row.Text, "Total:"); string TaxHistryDetails = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "Total" + "~" + total; gc.insert_date(orderNumber, ParcelID, 612, TaxHistryDetails, 1, DateTime.Now); } } } List <string> strTaxRealestate = new List <string>(); try { IWebElement ITaxinfoDetails = driver.FindElement(By.XPath("//*[@id='G_dgResults']/tbody")); IList <IWebElement> ITaxinfoRealRow = ITaxinfoDetails.FindElements(By.TagName("tr")); IList <IWebElement> ITaxinfoRealTd; foreach (IWebElement ItaxinfoReal in ITaxinfoRealRow) { ITaxinfoRealTd = ItaxinfoReal.FindElements(By.TagName("td")); if (ITaxinfoRealTd.Count != 0 && strTaxRealestate.Count < 3) { IWebElement ITaxBillCount = ITaxinfoRealTd[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); } } } catch { } foreach (string real in strTaxRealestate) { string TaxMailingAddress = "", RealValue = "", DeferredValue = "", UseValue = "", PersonalValue = "", ExemptExclusion = "", TotalAssessedValue = "", BillTaxYear = "", PropertyTax = "", BillStatus = "", BillFlag = "", BillNumber = "", OldBillNumber = "", OldAccountNumber = "", DueDate = "", InterestBegins = "" , InterestAmount = "", TotalBilled = "", GoodThroughDate = "", LastPaymentDate = "", CurrentDue = "", TaxAuthority = "", DiscountPeriod = ""; driver.Navigate().GoToUrl(real); Thread.Sleep(4000); if (strTaxRealestate.Count != 0 && strTaxRealestate.Count == 3) { try { BillFlag = driver.FindElement(By.Id("lblBillFlag")).Text; if (BillFlag.Contains("DELINQUENT")) { IWebElement dt = driver.FindElement(By.Id("interestCalDate_input")); string date = dt.GetAttribute("value"); DateTime G_Date = Convert.ToDateTime(date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")))).ToString("MM/dd/yyyy"); } else if (G_Date > Convert.ToDateTime(dateChecking)) { // nextEndOfMonth if ((Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))) < 12)) { date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM")) + 1), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")) + 1)).ToString("MM/dd/yyyy"); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } Thread.Sleep(2000); dt.Clear(); GoodThroughDate = date; driver.FindElement(By.Id("interestCalDate_input")).SendKeys(date); driver.FindElement(By.Id("btnRecalInterest")).SendKeys(Keys.Enter); //*[@id=""] } else { GoodThroughDate = ""; } TaxMailingAddress = driver.FindElement(By.Id("lblMailingAddr")).Text; RealValue = driver.FindElement(By.Id("lblRealOriginal")).Text; DeferredValue = driver.FindElement(By.Id("lblDeferredOriginal")).Text; UseValue = driver.FindElement(By.Id("lblUseOriginal")).Text; PersonalValue = driver.FindElement(By.Id("lblPersonalOriginal")).Text; ExemptExclusion = driver.FindElement(By.Id("lblExemptOriginal")).Text; TotalAssessedValue = driver.FindElement(By.Id("lblTotalValue")).Text; BillTaxYear = driver.FindElement(By.Id("lblBill")).Text; BillTaxYear = BillTaxYear.Substring(11, 4); gc.CreatePdf(orderNumber, ParcelID, "Tax" + BillTaxYear, driver, "NC", "Forsyth"); PropertyTax = driver.FindElement(By.Id("lblPropertyType")).Text; BillStatus = driver.FindElement(By.Id("lblBillStatus")).Text; BillNumber = driver.FindElement(By.Id("lblBill")).Text; OldBillNumber = driver.FindElement(By.Id("lblLegacyBillNum")).Text; OldAccountNumber = driver.FindElement(By.Id("lblLegacyAccountNum")).Text; DueDate = driver.FindElement(By.Id("lblDueDate")).Text; InterestBegins = driver.FindElement(By.Id("lblInterest")).Text; InterestAmount = driver.FindElement(By.Id("lblInterestAmt")).Text; TotalBilled = driver.FindElement(By.Id("lblTotalAmountDue")).Text; LastPaymentDate = driver.FindElement(By.Id("lblLastPaymentDate")).Text; CurrentDue = driver.FindElement(By.Id("lblCurrentDue")).Text; string discounttext = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table[4]/tbody/tr/td/table")).Text; if (discounttext.Contains("Discount Period")) { DiscountPeriod = gc.Between(discounttext, "Discount Period:", "Correct if paid by").Replace("\r\n", "").Trim(); } //DiscountPeriod= driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table[4]/tbody/tr/td/table/tbody/tr[1]/td[2]/font")).Text; TaxAuthority = "Forsyth County Tax Collector P.O.Box 82 Winston - Salem, NC 27102"; string TaxInformationdetails = TaxMailingAddress + "~" + RealValue + "~" + DeferredValue + "~" + UseValue + "~" + PersonalValue + "~" + ExemptExclusion + "~" + TotalAssessedValue + "~" + BillTaxYear + "~" + PropertyTax + "~" + BillStatus + "~" + BillFlag + "~" + BillNumber + "~" + OldBillNumber + "~" + OldAccountNumber + "~" + DueDate + "~" + InterestBegins + "~" + InterestAmount + "~" + TotalBilled + "~" + LastPaymentDate + "~" + CurrentDue + "~" + DiscountPeriod + "~" + GoodThroughDate + "~" + TaxAuthority; gc.insert_date(orderNumber, ParcelID, 610, TaxInformationdetails, 1, DateTime.Now); } catch { } } //Tax/Fee Distribution Details IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='dgShowResultRate']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Rate")) { if (TDmulti.Count == 4) { string TaxDistribution = BillTaxYear + "~" + TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, ParcelID, 611, TaxDistribution, 1, DateTime.Now); } } } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "NC", "Forsyth"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NC", "Forsyth", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_SantaCruz(string Address, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> multiparcel = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { string Parcel_Number = "", taxauthority1 = "", taxauthority = "";; List <string> strUrl = new List <string>(); StartTime = DateTime.Now.ToString("HH:mm:ss"); try { driver.Navigate().GoToUrl(" http://www.co.santa-cruz.ca.us/Departments/TaxCollector.aspx"); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Tax Authority Pdf", driver, "CA", "Santa Cruz"); taxauthority1 = driver.FindElement(By.XPath("//*[@id='dnn_ctr7661_HtmlModule_lblContent']/div/div[2]")).Text.Trim(); taxauthority = GlobalClass.Before(taxauthority1, "FAX:").Trim(); } catch { } driver.Navigate().GoToUrl("http://sccounty01.co.santa-cruz.ca.us/ASR/"); Thread.Sleep(2000); try { if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, Address, "CA", "Santa Cruz"); 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_SantaCruzCA"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("txtSitus")).SendKeys(Address); gc.CreatePdf_WOP(orderNumber, "Enter The Address Before", driver, "CA", "Santa Cruz"); driver.FindElement(By.Id("butSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Enter The Address After", driver, "CA", "Santa Cruz"); //Multiparcel try { int count = 0; IWebElement Multiaddresstable1add = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div/div/div[3]")); IList <IWebElement> multiaddressrows = Multiaddresstable1add.FindElements(By.TagName("div")); IList <IWebElement> Multiaddressid; foreach (IWebElement Multiaddress in multiaddressrows) { Multiaddressid = Multiaddress.FindElements(By.TagName("div")); if (Multiaddressid.Count == 3 && !Multiaddress.Text.Contains("Parcel Info") && !Multiaddress.Text.Contains("APN")) { string Multiparcelnumber = Multiaddressid[0].Text; string OWnerclass = Multiaddressid[2].Text; string Address1 = Multiaddressid[1].Text; string multiaddressresult = OWnerclass + "~" + Address1; gc.insert_date(orderNumber, Multiparcelnumber, 1088, multiaddressresult, 1, DateTime.Now); count++; } } if (count > 1 && count < 26) { HttpContext.Current.Session["multiparcel_Santa Cruz"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (count > 25) { HttpContext.Current.Session["multiparcel_Santa Cruz_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='pnlContainer']/form/table/tbody/tr[1]/td/span")).Text; if (nodata.Contains("No parcels found for the entered address.")) { HttpContext.Current.Session["Nodata_SantaCruzCA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { parcelNumber = parcelNumber.Replace("-", "").Replace(" ", "").Replace("000", "").Trim(); driver.FindElement(By.Id("txtAPNNO")).SendKeys(parcelNumber); gc.CreatePdf_WOP(orderNumber, "Enter The ParcelNumber Before", driver, "CA", "Santa Cruz"); driver.FindElement(By.Id("butSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Enter The Address After", driver, "CA", "Santa Cruz"); try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='pnlContainer']/form/table/tbody/tr[1]/td/span")).Text; if (nodata.Contains("No parcels found for the entered APN.")) { HttpContext.Current.Session["Nodata_SantaCruzCA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details IWebElement IAddressSearch = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div/div/div[3]/div/div[1]/a")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IAddressSearch); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "Property Info", driver, "CA", "Santa Cruz"); string ParcelNumber = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div[1]/div/div[3]/div/div[1]")).Text.Trim(); string PropertyAddress = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div[1]/div/div[3]/div/div[2]")).Text.Trim(); string PropertyClass = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div[1]/div/div[3]/div/div[3]")).Text.Trim(); string propertydetails = PropertyAddress + "~" + PropertyClass; gc.insert_date(orderNumber, ParcelNumber, 1042, propertydetails, 1, DateTime.Now); //Assessment Details string yearwise = "", Assessment = "", yearwise1 = ""; IWebElement Multiaddresstable = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div[2]/div/div[3]/div[1]")); IList <IWebElement> multiaddressrow = Multiaddresstable.FindElements(By.TagName("div")); foreach (IWebElement Multiassess in multiaddressrow) { string Yearassess = Multiassess.GetAttribute("title"); if (Yearassess != "") { Assessment += Multiassess.GetAttribute("title") + "~"; yearwise += Multiassess.Text + "~"; } } Assessment = Assessment.TrimEnd('~'); yearwise = yearwise.TrimEnd('~'); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Assessment + "' where Id = '" + 1053 + "'"); gc.insert_date(orderNumber, ParcelNumber, 1053, yearwise, 1, DateTime.Now); IWebElement Multiaddresstable1 = driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr[6]/td/div[2]/div/div[3]/div[2]")); IList <IWebElement> multiaddressrow1 = Multiaddresstable1.FindElements(By.TagName("div")); foreach (IWebElement Multiaddress1 in multiaddressrow1) { string Yearassess = Multiaddress1.GetAttribute("title"); if (Yearassess != "") { yearwise1 += Multiaddress1.Text + "~"; } } yearwise1 = yearwise1.TrimEnd('~'); gc.insert_date(orderNumber, ParcelNumber, 1053, yearwise1, 1, DateTime.Now); //Tax Information Details driver.Navigate().GoToUrl("http://ttc.co.santa-cruz.ca.us/taxbills/"); string AnnualandTaxtypehistory = ""; driver.FindElement(By.Id("Parcel")).SendKeys(ParcelNumber); gc.CreatePdf(orderNumber, ParcelNumber, "Enter ParcelNumber Before", driver, "CA", "Santa Cruz"); IWebElement IAddressSearch1 = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[1]/tbody/tr/td/table/tbody/tr[3]/td[2]/input")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IAddressSearch1); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelNumber, "Tax Info", driver, "CA", "Santa Cruz"); //Annual Tax Bill Details //Supplemental and Default Taxes string alertmessage = ""; for (int q = 2; q < 20; q++) { try { string SupplementalComments = ""; try { string supplementaltax = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[1]/tbody/tr[3]/td/div")).Text.Trim(); if (supplementaltax.Contains("Prior Year Taxes defaulted.")) { SupplementalComments = "Past Due or Defaulted"; alertmessage = SupplementalComments; } } catch { } string AnnualandTaxtype = "", AnnualTaxyear = "", TaxType = "", AnnualTaxyear1 = "", AnnualTaxyear2 = "", AnnualTaxyear3 = "", TaxType1 = "", TaxType2 = "", TaxType3 = ""; IWebElement taxinfo = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[" + q + "]/tbody")); IList <IWebElement> taxinfoTR = taxinfo.FindElements(By.TagName("tr")); IList <IWebElement> taxinfoTD; foreach (IWebElement Taxinfor in taxinfoTR) { taxinfoTD = Taxinfor.FindElements(By.TagName("td")); if (taxinfoTD.Count == 2 && taxinfoTD.Count != 4 && !Taxinfor.Text.Contains("Review/Pay Other Tax Bills")) { AnnualandTaxtype = taxinfoTD[0].Text; string[] AnnualandTaxtypesplit = AnnualandTaxtype.Split(); AnnualTaxyear1 = AnnualandTaxtypesplit[0].Trim(); AnnualTaxyear2 = AnnualandTaxtypesplit[1].Trim(); AnnualTaxyear3 = AnnualandTaxtypesplit[2].Trim(); AnnualTaxyear = AnnualTaxyear1 + AnnualTaxyear2 + AnnualTaxyear3; TaxType1 = AnnualandTaxtypesplit[3].Trim() + " "; TaxType2 = AnnualandTaxtypesplit[4].Trim() + " "; TaxType3 = AnnualandTaxtypesplit[5].Trim(); TaxType = TaxType1 + TaxType2 + TaxType3; } if (taxinfoTD.Count != 0 && taxinfoTD.Count == 4 && !Taxinfor.Text.Contains("Review/Pay Other Tax Bills")) { string Installmenttype = taxinfoTD[0].Text; string Duedate = taxinfoTD[1].Text; string Paiddate = taxinfoTD[2].Text; string Totalamount = taxinfoTD[3].Text; string taxinfodetails = AnnualTaxyear + "~" + TaxType + "~" + Installmenttype + "~" + Duedate + "~" + Paiddate + "~" + Totalamount + "~" + alertmessage; gc.insert_date(orderNumber, ParcelNumber, 1054, taxinfodetails, 1, DateTime.Now); } } } catch { } } //"Show Tax Bill History" string AnnualandTaxtypeHistory = "", AnnualTaxyearHistory = "", TaxTypeHistory = ""; List <string> seedetails = new List <string>(); try { ITaxbillhistorySearch = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[3]/tbody/tr/td[2]/form/input")); } catch { } try { ITaxbillhistorySearch = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[6]/tbody/tr/td[2]/form/input")); } catch { } try { ITaxbillhistorySearch = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[4]/tbody/tr/td[2]/form/input")); } catch { } IJavaScriptExecutor js2 = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", ITaxbillhistorySearch); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "Show Tax Bill History", driver, "CA", "Santa Cruz"); for (int i = 2; i < 20; i++) { try { IWebElement taxinfohistory = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[" + i + "]")); IList <IWebElement> taxinfohistoryTR = taxinfohistory.FindElements(By.TagName("tr")); IList <IWebElement> taxinfohistoryTD; foreach (IWebElement Taxinformation in taxinfohistoryTR) { taxinfohistoryTD = Taxinformation.FindElements(By.TagName("td")); if (taxinfohistoryTD.Count == 2 && taxinfohistoryTD.Count != 4 && !Taxinformation.Text.Contains("Review/Pay Other Tax Bills")) { AnnualandTaxtypeHistory = taxinfohistoryTD[0].Text; string[] AnnualandTaxtypeHistorysplit = AnnualandTaxtypeHistory.Split(); string AnnualTaxyearHistory1 = AnnualandTaxtypeHistorysplit[0].Trim(); string AnnualTaxyearHistory2 = AnnualandTaxtypeHistorysplit[1].Trim(); string AnnualTaxyearHistory3 = AnnualandTaxtypeHistorysplit[2].Trim(); AnnualTaxyearHistory = AnnualTaxyearHistory1 + AnnualTaxyearHistory2 + AnnualTaxyearHistory3; string TaxTypeHistory1 = AnnualandTaxtypeHistorysplit[3].Trim() + " "; string TaxTypeHistory2 = AnnualandTaxtypeHistorysplit[4].Trim() + " "; string TaxTypeHistory3 = AnnualandTaxtypeHistorysplit[5].Trim(); TaxTypeHistory = TaxTypeHistory1 + TaxTypeHistory2 + TaxTypeHistory3; if (i < 5) { try { IWebElement taxinfohis = taxinfohistoryTD[1].FindElement(By.TagName("a")); string seedata = taxinfohis.GetAttribute("href"); seedetails.Add(seedata); } catch { } } } if (taxinfohistoryTD.Count != 0 && taxinfohistoryTD.Count == 4 && !Taxinformation.Text.Contains("Review/Pay Other Tax Bills")) { string Installmenttypehistory = taxinfohistoryTD[0].Text; string Taxamounthistory = taxinfohistoryTD[1].Text; string Paiddatehistory = taxinfohistoryTD[2].Text; string Totalamounthistory = taxinfohistoryTD[3].Text; string taxinfohistorydetails = AnnualTaxyearHistory + "~" + TaxTypeHistory + "~" + Installmenttypehistory + "~" + Taxamounthistory + "~" + Paiddatehistory + "~" + Totalamounthistory; gc.insert_date(orderNumber, ParcelNumber, 1055, taxinfohistorydetails, 1, DateTime.Now); } } } catch { } } //Current Year Tax Details try { IWebElement Icurrentyeartaxdetails = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table[2]/tbody/tr[1]/td[2]/a")); IJavaScriptExecutor js3 = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", Icurrentyeartaxdetails); Thread.Sleep(2000); } catch { } //Tax information Details2 string annualtaxyearvalue = "", annualtaxyeartitle = ""; try { string taxratearea1 = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); string taxratearea = GlobalClass.After(taxratearea1, "Tax Rate Area").Trim(); string address1 = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); string address = GlobalClass.After(address1, "Address").Trim(); string taxinfodetails2 = taxratearea + "~" + address + "~" + taxauthority; gc.insert_date(orderNumber, ParcelNumber, 1062, taxinfodetails2, 1, DateTime.Now); } catch { } int p = 0; foreach (string seehistory in seedetails) { driver.Navigate().GoToUrl(seehistory); gc.CreatePdf(orderNumber, ParcelNumber, "Icurrent Yeartaxdetails Pdf" + p, driver, "CA", "Santa Cruz"); //Tax year details string annualhistoryyear = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text.Trim(); string[] splitannualhistoryyear = annualhistoryyear.Split(); string annualtaxyear1 = splitannualhistoryyear[0].Trim(); string annualtaxyear2 = splitannualhistoryyear[1].Trim(); string annualtaxyear3 = splitannualhistoryyear[2].Trim(); annualtaxyearvalue = annualtaxyear1 + annualtaxyear2 + annualtaxyear3.Trim(); string annualtaxyeartitle1 = splitannualhistoryyear[3].Trim(); string annualtaxyeartitle2 = splitannualhistoryyear[4].Trim(); string annualtaxyeartitle3 = splitannualhistoryyear[5].Trim(); annualtaxyeartitle = annualtaxyeartitle1 + annualtaxyeartitle2 + annualtaxyeartitle3.Trim(); //Tax Distributon Details IWebElement taxdistribution = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr[4]/td/table/tbody/tr[4]/td/table")); IList <IWebElement> taxdistributionTR = taxdistribution.FindElements(By.TagName("tr")); IList <IWebElement> taxdistributionTD; foreach (IWebElement taxdistributiondetails in taxdistributionTR) { taxdistributionTD = taxdistributiondetails.FindElements(By.TagName("td")); if (taxdistributiondetails.Text.Contains("TOTAL") && taxdistributionTD.Count != 0) { string Taxingagency = taxdistributionTD[0].Text; string Rate = taxdistributionTD[1].Text; string Amount = taxdistributionTD[2].Text; string taxdistributiondetailsdata = annualtaxyearvalue + "~" + annualtaxyeartitle + "~" + Taxingagency + "~" + Rate + "~" + Amount; gc.insert_date(orderNumber, ParcelNumber, 1060, taxdistributiondetailsdata, 1, DateTime.Now); } if (taxdistributionTD.Count != 0 && taxdistributionTD.Count == 3 && !taxdistributiondetails.Text.Contains("BASIC PROPERTY TAXES") && !taxdistributiondetails.Text.Contains("TOTAL")) { string Taxingagency = taxdistributionTD[0].Text; string Rate = taxdistributionTD[1].Text; string Amount = taxdistributionTD[2].Text; string taxdistributiondetailsdata = annualtaxyearvalue + "~" + annualtaxyeartitle + "~" + Taxingagency + "~" + Rate + "~" + Amount; gc.insert_date(orderNumber, ParcelNumber, 1060, taxdistributiondetailsdata, 1, DateTime.Now); } } //Tax Distribution Installments IWebElement taxinstallments = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr[4]/td/table/tbody/tr[6]/td/table")); IList <IWebElement> taxinstallmentsTR = taxinstallments.FindElements(By.TagName("tr")); IList <IWebElement> taxinstallmentsTD; foreach (IWebElement taxinstallmentsdetails in taxinstallmentsTR) { taxinstallmentsTD = taxinstallmentsdetails.FindElements(By.TagName("td")); if (taxinstallmentsTD.Count != 0 && taxinstallmentsTD.Count == 4 && !taxinstallmentsdetails.Text.Contains("FIRST INSTALLMENT")) { string Taxingagency = taxinstallmentsTD[0].Text; string FirstRate = taxinstallmentsTD[1].Text; string SecondRate = taxinstallmentsTD[2].Text; string Amount = taxinstallmentsTD[3].Text; string taxinstallmentsdetailsdata = annualtaxyearvalue + "~" + Taxingagency + "~" + FirstRate + "~" + SecondRate + "~" + Amount; gc.insert_date(orderNumber, ParcelNumber, 1063, taxinstallmentsdetailsdata, 1, DateTime.Now); } } p++; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "CA", "Santa Cruz"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Santa Cruz", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Stlouiscity(string address, string parcelNumber, string ownername, string searchType, string orderNumber, string directParcel, string taxmapnumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string TaxingAuthority = ""; 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"); try { //Taxing Authority driver.Navigate().GoToUrl("https://www.stlouis-mo.gov/collector/real-estate-tax-home.cfm"); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Taxing Authority", driver, "MO", "St Louis City"); string bulkTaxauth = driver.FindElement(By.XPath("//*[@id='center-column']/p[5]")).Text.Replace("\r\n", " "); TaxingAuthority = gc.Between(bulkTaxauth, "Collector of Revenue Office", "Email: [email protected]").Trim(); } catch { } // Property Details driver.Navigate().GoToUrl("https://www.stlouis-mo.gov/data/address-search/index.cfm"); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Home page", driver, "MO", "St Louis City"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, address, "MO", "St Louis City"); 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_StLouisCityMO"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='streetForm']/p[1]/input")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MO", "St Louis City"); driver.FindElement(By.XPath("//*[@id='streetForm']/p[4]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "MO", "St Louis City"); try { IWebElement add_search = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div/div/table/tbody")); IList <IWebElement> TRadd_search = add_search.FindElements(By.TagName("tr")); IList <IWebElement> THadd_search = add_search.FindElements(By.TagName("th")); IList <IWebElement> TDadd_search; foreach (IWebElement row in TRadd_search) { TDadd_search = row.FindElements(By.TagName("td")); if (TRadd_search.Count > 2 && TDadd_search.Count != 0 && THadd_search.Count == 3) { string parcel_id = TDadd_search[0].Text; string Address = TDadd_search[1].Text; string ownername1 = TDadd_search[2].Text; string AddressDetails = Address + "~" + ownername1; gc.insert_date(orderNumber, parcel_id, 851, AddressDetails, 1, DateTime.Now); } if (TRadd_search.Count == 2) { } } if (TRadd_search.Count < 27 && TRadd_search.Count > 2 && THadd_search.Count == 3) { gc.CreatePdf_WOP(orderNumber, "Multi Address search result", driver, "MO", "St Louis City"); HttpContext.Current.Session["multiparcel_St_Louis_CityMO"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (TRadd_search.Count >= 27 && TRadd_search.Count > 2) { HttpContext.Current.Session["multiParcel_St_Louis_CityMO_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='streetForm']/p[1]/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "parcel search", driver, "MO", "St Louis City"); driver.FindElement(By.XPath("//*[@id='streetForm']/p[4]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "parcel search Result", driver, "MO", "St Louis City"); } try { IWebElement INodata = driver.FindElement(By.Id("content")); if (INodata.Text.Contains("No record was found")) { HttpContext.Current.Session["Nodata_StLouisCityMO"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } string bulkdata = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[2]/div[1]/div/div/table/tbody")).Text; string primary_address = "", owner_name = "", parcel_no = "", neighborhood = "", ward = "", land_use = "", property_desc = ""; primary_address = gc.Between(bulkdata, "Primary Address", "Owner name").Trim(); owner_name = gc.Between(bulkdata, "Owner name", "Parcel").Trim().Replace(":", ""); parcel_no = gc.Between(bulkdata, "Parcel", "Neighborhood").Trim(); neighborhood = gc.Between(bulkdata, "Neighborhood", "Ward").Trim(); ward = gc.Between(bulkdata, "Ward", "Land use").Trim().Replace(":", ""); land_use = gc.Between(bulkdata, "Land use", "Property description").Trim().Replace(":", ""); property_desc = GlobalClass.After(bulkdata, "Property description").Trim().Replace(":", "").Replace("Not meant for use in recorded legal documents", "").Replace("\r\n", ""); // address search try { string bulktext2 = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[3]/div[1]/div/div/table/tbody")).Text; string mailing_address2 = "", property_address2 = "", zip_code2 = "", year_built2 = ""; mailing_address2 = gc.Between(bulktext2, "Owner mailing address", "Property address").Trim().Replace(":", ""); property_address2 = gc.Between(bulktext2, "Property address", "Zip code").Trim().Replace(":", ""); zip_code2 = gc.Between(bulktext2, "Zip code", "Parcel number").Trim().Replace(":", ""); year_built2 = GlobalClass.After(bulktext2, "Year built").Trim(); string bulkinfo2 = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[4]/div[1]/div/div/table/tbody")).Text; string condominium2 = "", numberofunits2 = "", frontage2 = "", land_area2 = ""; condominium2 = gc.Between(bulkinfo2, "Condominium", "Number of units").Trim().Replace(":", ""); numberofunits2 = gc.Between(bulkinfo2, "Number of units", "Frontage").Trim().Replace(":", ""); frontage2 = gc.Between(bulkinfo2, "Frontage", "Land area").Trim().Replace(":", ""); land_area2 = gc.Between(bulkinfo2, "Land area", "Property description").Trim().Replace(":", ""); string bulktxt2 = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[4]/div[2]/div/div/table/tbody")).Text; string class_code2 = "", zoning2 = "", redevelopment_code2 = "", vacant_lot2 = ""; class_code2 = gc.Between(bulktxt2, "Class code", "Land use").Trim().Replace(":", ""); zoning2 = gc.Between(bulktxt2, "Zoning", "Redevelopment code").Trim().Replace(":", ""); redevelopment_code2 = gc.Between(bulktxt2, "Redevelopment code", "Vacant lot").Trim().Replace(":", ""); vacant_lot2 = GlobalClass.After(bulktxt2, "Vacant lot").Trim().Replace(":", ""); string propertydetails = primary_address + "~" + owner_name + "~" + mailing_address2 + "~" + neighborhood + "~" + ward + "~" + land_use + "~" + property_desc + "~" + property_address2 + "~" + zip_code2 + "~" + year_built2 + "~" + condominium2 + "~" + numberofunits2 + "~" + frontage2 + "~" + land_area2 + "~" + class_code2 + "~" + zoning2 + "~" + redevelopment_code2 + "~" + vacant_lot2; gc.insert_date(orderNumber, parcel_no, 805, propertydetails, 1, DateTime.Now); } catch (Exception ex) { } // Parcel search try { string bulktext = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[3]/div[1]/div/div/table/tbody")).Text; string mailing_address = "", property_address = "", zip_code = "", year_built = ""; mailing_address = gc.Between(bulktext, "Owner mailing address", "Property address").Trim().Replace(":", ""); property_address = gc.Between(bulktext, "Property address", "Zip code").Trim().Replace(":", ""); zip_code = gc.Between(bulktext, "Zip code", "Parcel number").Trim().Replace(":", ""); year_built = GlobalClass.After(bulktext, "Year built").Trim(); string bulkinfo = driver.FindElement(By.XPath("//*[@id='cs_control_31340']/div[2]/div[1]/div/div/table/tbody")).Text; string condominium = "", numberofunits = "", frontage = "", land_area = ""; condominium = gc.Between(bulkinfo, "Condominium", "Number of units").Trim().Replace(":", ""); numberofunits = gc.Between(bulkinfo, "Number of units", "Frontage").Trim().Replace(":", ""); frontage = gc.Between(bulkinfo, "Frontage", "Land area").Trim().Replace(":", ""); land_area = gc.Between(bulkinfo, "Land area", "Property description").Trim().Replace(":", ""); string bulktxt = driver.FindElement(By.XPath("//*[@id='cs_control_31340']/div[2]/div[2]/div/div/table/tbody")).Text; string class_code = "", zoning = "", redevelopment_code = "", vacant_lot = ""; class_code = gc.Between(bulktxt, "Class code", "Land use").Trim().Replace(":", ""); zoning = gc.Between(bulktxt, "Zoning", "Redevelopment code").Trim().Replace(":", ""); redevelopment_code = gc.Between(bulktxt, "Redevelopment code", "Vacant lot").Trim().Replace(":", ""); vacant_lot = GlobalClass.After(bulktxt, "Vacant lot").Trim().Replace(":", ""); string propertydetails = primary_address + "~" + owner_name + "~" + mailing_address + "~" + neighborhood + "~" + ward + "~" + land_use + "~" + property_desc + "~" + property_address + "~" + zip_code + "~" + year_built + "~" + condominium + "~" + numberofunits + "~" + frontage + "~" + land_area + "~" + class_code + "~" + zoning + "~" + redevelopment_code + "~" + vacant_lot; gc.insert_date(orderNumber, parcel_no, 805, propertydetails, 1, DateTime.Now); } catch (Exception ex) { } // Delinquent search try { string bulktext1 = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[3]/div/table/tbody")).Text; string mailing_address1 = "", property_address1 = "", zip_code1 = "", year_built1 = ""; mailing_address1 = gc.Between(bulktext1, "Owner mailing address", "Property address").Trim().Replace(":", ""); property_address1 = gc.Between(bulktext1, "Property address", "Zip code").Trim().Replace(":", ""); zip_code1 = gc.Between(bulktext1, "Zip code", "Parcel number").Trim().Replace(":", ""); year_built1 = GlobalClass.After(bulktext1, "Year built").Trim(); string bulkinfo1 = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[4]/div[1]/div/div/table/tbody")).Text; string condominium1 = "", numberofunits1 = "", frontage1 = "", land_area1 = ""; condominium1 = gc.Between(bulkinfo1, "Condominium", "Number of units").Trim().Replace(":", ""); numberofunits1 = gc.Between(bulkinfo1, "Number of units", "Frontage").Trim().Replace(":", ""); frontage1 = gc.Between(bulkinfo1, "Frontage", "Land area").Trim().Replace(":", ""); land_area1 = gc.Between(bulkinfo1, "Land area", "Property description").Trim().Replace(":", ""); string bulktxt1 = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[4]/div[2]/div/div/table/tbody")).Text; string class_code1 = "", zoning1 = "", redevelopment_code1 = "", vacant_lot1 = ""; class_code1 = gc.Between(bulktxt1, "Class code", "Land use").Trim().Replace(":", ""); zoning1 = gc.Between(bulktxt1, "Zoning", "Redevelopment code").Trim().Replace(":", ""); redevelopment_code1 = gc.Between(bulktxt1, "Redevelopment code", "Vacant lot").Trim().Replace(":", ""); vacant_lot1 = GlobalClass.After(bulktxt1, "Vacant lot").Trim().Replace(":", ""); string propertydetails = primary_address + "~" + owner_name + "~" + mailing_address1 + "~" + neighborhood + "~" + ward + "~" + land_use + "~" + property_desc + "~" + property_address1 + "~" + zip_code1 + "~" + year_built1 + "~" + condominium1 + "~" + numberofunits1 + "~" + frontage1 + "~" + land_area1 + "~" + class_code1 + "~" + zoning1 + "~" + redevelopment_code1 + "~" + vacant_lot1; gc.insert_date(orderNumber, parcel_no, 805, propertydetails, 1, DateTime.Now); } catch (Exception ex) { } // Assessment Details Address search string Currentassessedvalue = "", AssessTitle = "", AssessValue = "", AssessType = ""; try { IWebElement Iassess = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[6]/div[1]/div/div/table")); IList <IWebElement> TRassessCap = Iassess.FindElements(By.TagName("caption")); foreach (IWebElement row in TRassessCap) { if (row.Text != "") { Currentassessedvalue = row.Text; } } IList <IWebElement> TRassess = Iassess.FindElements(By.TagName("tr")); IList <IWebElement> TDassess; IList <IWebElement> THassess; foreach (IWebElement row in TRassess) { TDassess = row.FindElements(By.TagName("td")); THassess = row.FindElements(By.TagName("th")); if (TDassess.Count != 0 && TDassess.Count > 1) { AssessType = TDassess[0].Text; } if (TDassess.Count != 0 && TDassess.Count == 1) { AssessValue += TDassess[0].Text + "~"; } if (THassess.Count != 0 && THassess.Count == 1) { AssessTitle += THassess[0].Text.Replace(":", "") + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year Type" + "~" + "Assessment Type" + "~" + AssessTitle.Remove(AssessTitle.Length - 1, 1) + "' where Id = '" + 833 + "'"); gc.insert_date(orderNumber, parcel_no, 833, Currentassessedvalue + "~" + AssessType + "~" + AssessValue.Remove(AssessValue.Length - 1, 1), 1, DateTime.Now); } catch { } string priorassessedvalue = "", AssessTitle1 = "", AssessValue1 = "", AssessType1 = ""; try { IWebElement Iassessment = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[6]/div[2]/div/div/table")); IList <IWebElement> TRassessCap1 = Iassessment.FindElements(By.TagName("caption")); foreach (IWebElement row in TRassessCap1) { if (row.Text != "") { priorassessedvalue = row.Text; } } IList <IWebElement> TRassess1 = Iassessment.FindElements(By.TagName("tr")); IList <IWebElement> TDassess1; IList <IWebElement> THassess1; foreach (IWebElement row in TRassess1) { TDassess1 = row.FindElements(By.TagName("td")); THassess1 = row.FindElements(By.TagName("th")); if (TDassess1.Count != 0 && TDassess1.Count > 1) { AssessType1 = TDassess1[0].Text; } if (TDassess1.Count != 0 && TDassess1.Count == 1) { AssessValue1 += TDassess1[0].Text + "~"; } if (THassess1.Count != 0 && THassess1.Count == 1) { AssessTitle1 += THassess1[0].Text.Replace(":", "") + "~"; } } gc.insert_date(orderNumber, parcel_no, 833, priorassessedvalue + "~" + AssessType1 + "~" + AssessValue1.Remove(AssessValue1.Length - 1, 1), 1, DateTime.Now); } catch { } // Assessment Details Parcel search string Currentassessedvalue1 = "", AssessTitle2 = "", AssessValue2 = "", AssessType2 = ""; try { IWebElement Iassess2 = driver.FindElement(By.XPath("//*[@id='cs_control_31340']/div[4]/div[1]/div/div/table")); IList <IWebElement> TRassessCap2 = Iassess2.FindElements(By.TagName("caption")); foreach (IWebElement row in TRassessCap2) { if (row.Text != "") { Currentassessedvalue1 = row.Text; } } IList <IWebElement> TRassess2 = Iassess2.FindElements(By.TagName("tr")); IList <IWebElement> TDassess2; IList <IWebElement> THassess2; foreach (IWebElement row in TRassess2) { TDassess2 = row.FindElements(By.TagName("td")); THassess2 = row.FindElements(By.TagName("th")); if (TDassess2.Count != 0 && TDassess2.Count > 1) { AssessType2 = TDassess2[0].Text; } if (TDassess2.Count != 0 && TDassess2.Count == 1) { AssessValue2 += TDassess2[0].Text + "~"; } if (THassess2.Count != 0 && THassess2.Count == 1) { AssessTitle2 += THassess2[0].Text.Replace(":", "") + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year Type" + "~" + "Assessment Type" + "~" + AssessTitle2.Remove(AssessTitle2.Length - 1, 1) + "' where Id = '" + 833 + "'"); gc.insert_date(orderNumber, parcel_no, 833, Currentassessedvalue1 + "~" + AssessType2 + "~" + AssessValue2.Remove(AssessValue2.Length - 1, 1), 1, DateTime.Now); } catch { } string priorassessedvalue1 = "", AssessTitle3 = "", AssessValue3 = "", AssessType3 = ""; try { IWebElement Iassessment1 = driver.FindElement(By.XPath("//*[@id='cs_control_31340']/div[4]/div[2]/div/div/table")); IList <IWebElement> TRassessCap3 = Iassessment1.FindElements(By.TagName("caption")); foreach (IWebElement row in TRassessCap3) { if (row.Text != "") { priorassessedvalue1 = row.Text; } } IList <IWebElement> TRassess3 = Iassessment1.FindElements(By.TagName("tr")); IList <IWebElement> TDassess3; IList <IWebElement> THassess3; foreach (IWebElement row in TRassess3) { TDassess3 = row.FindElements(By.TagName("td")); THassess3 = row.FindElements(By.TagName("th")); if (TDassess3.Count != 0 && TDassess3.Count > 1) { AssessType3 = TDassess3[0].Text; } if (TDassess3.Count != 0 && TDassess3.Count == 1) { AssessValue3 += TDassess3[0].Text + "~"; } if (THassess3.Count != 0 && THassess3.Count == 1) { AssessTitle3 += THassess3[0].Text.Replace(":", "") + "~"; } } gc.insert_date(orderNumber, parcel_no, 833, priorassessedvalue1 + "~" + AssessType3 + "~" + AssessValue3.Remove(AssessValue3.Length - 1, 1), 1, DateTime.Now); } catch { } // Tax Bill Address search string TaxBillDetails = "", TaxBillDetails2 = ""; try { IWebElement taxbill = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/div[9]/div[1]/div/table/tbody")); IList <IWebElement> TRtaxbill = taxbill.FindElements(By.TagName("tr")); IList <IWebElement> TDtaxbill; IList <IWebElement> THtaxbill; foreach (IWebElement row in TRtaxbill) { TDtaxbill = row.FindElements(By.TagName("td")); THtaxbill = row.FindElements(By.TagName("th")); if (TDtaxbill.Count != 0 && TDtaxbill.Count > 1 && !row.Text.Contains("Interest") && TDtaxbill.Count > 8) { TaxBillDetails = TDtaxbill[0].Text + "~" + TDtaxbill[1].Text + "~" + TDtaxbill[2].Text + "~" + TDtaxbill[3].Text + "~" + TDtaxbill[4].Text + "~" + TDtaxbill[5].Text + "~" + TDtaxbill[6].Text + "~" + TDtaxbill[7].Text + "~" + TDtaxbill[8].Text + "~" + TDtaxbill[9].Text + "~" + TDtaxbill[10].Text; gc.insert_date(orderNumber, parcel_no, 839, TaxBillDetails + "~" + TaxingAuthority, 1, DateTime.Now); } if (TDtaxbill.Count != 0 && TDtaxbill.Count < 8) { TaxBillDetails2 = TDtaxbill[0].Text + "~" + TDtaxbill[1].Text + "~" + TDtaxbill[2].Text + "~" + TDtaxbill[3].Text + "~" + TDtaxbill[4].Text + "~" + TDtaxbill[5].Text + "~" + TDtaxbill[6].Text + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcel_no, 839, TaxBillDetails2 + "~" + TaxingAuthority, 1, DateTime.Now); } } } catch { } // Tax Bill Parcel Search string TaxBillDetails1 = ""; try { IWebElement taxbill1 = driver.FindElement(By.XPath("//*[@id='cs_control_31340']/div[7]/div[1]/div/table/tbody")); IList <IWebElement> TRtaxbill1 = taxbill1.FindElements(By.TagName("tr")); IList <IWebElement> TDtaxbill1; IList <IWebElement> THtaxbill1; foreach (IWebElement row in TRtaxbill1) { TDtaxbill1 = row.FindElements(By.TagName("td")); THtaxbill1 = row.FindElements(By.TagName("th")); if (TDtaxbill1.Count != 0 && TDtaxbill1.Count > 1) { TaxBillDetails1 = TDtaxbill1[0].Text + "~" + TDtaxbill1[1].Text + "~" + TDtaxbill1[2].Text + "~" + TDtaxbill1[3].Text + "~" + TDtaxbill1[4].Text + "~" + TDtaxbill1[5].Text + "~" + TDtaxbill1[6].Text + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcel_no, 839, TaxBillDetails1 + "~" + TaxingAuthority, 1, DateTime.Now); } } } catch { } try { IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='CS_CCF_31321_31340']/p[4]")); if (multiaddress.Text.Contains("please contact the Collector of Revenue Office") && !multiaddress.Text.Contains("$") && !multiaddress.Text.Contains("Total Amount Due For this Account:")) { HttpContext.Current.Session["Delinquent_St_Louis_CityMO"] = "Yes"; } } catch { } CitytaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MO", "St Louis City", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MO", "St Louis City"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Collier(string Address, string parcelNumber, string ownername, string searchType, string orderNumber, string directParcel) { string strBill = "-", strBalance = "-", strBillDate = "-", strBillPaid = "-", strFBill = "-", strFBalance = "-", strFBillDate = "-", strFBillPaid = "-"; string TaxYear = "", TaxAmount = "", PaidAmount = "", ReceiptNumber = "", Account_number = "", Millage_Code = "", Millage_rate = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", AssessTakenTime = "", TaxTakentime = "", CityTaxtakentime = ""; string TotaltakenTime = ""; List <string> strTaxRealestate = new List <string>(); var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { string AlterNateID = "", PropertyAddress = "", owner = ""; string[] stringSeparators1 = new string[] { "\r\n" }; List <string> listurl = new List <string>(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); //if (searchType == "titleflex") //{ // gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, Address, "IN", "Hamilton"); // if (GlobalClass.TitleFlex_Search == "Yes") // { // return "MultiParcel"; // } // else // { // string strTitleAssess = GlobalClass.TitleFlexAssess; // parcelNumber = GlobalClass.titleparcel; // searchType = "parcel"; // } //} if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", Address, "FL", "Collier"); 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_FLCollier"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.collierappraiser.com/"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame")); //now use the switch command driver.SwitchTo().Frame(iframeElement); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); //now use the switch command driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("//*[@id='AutoNumber3']/tbody/tr/td[3]/table/tbody/tr[4]/td/a")).Click(); Thread.Sleep(10000); driver.SwitchTo().DefaultContent(); Thread.Sleep(2000); IWebElement iframeElement2 = driver.FindElement(By.XPath("//*[@id='rbottom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(2000); //now use the switch command driver.FindElement(By.XPath("//*[@id='a_searchlink']")).Click(); Thread.Sleep(5000); driver.FindElement(By.XPath("//*[@id='ui-id-16']")).Click(); Thread.Sleep(5000); driver.FindElement(By.XPath("//*[@id='FullAddress']")).SendKeys(Address); Thread.Sleep(1000); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='SearchFullAddress']")).Click(); Thread.Sleep(6000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "FL", "Collier"); try { IWebElement MultiOwnerTable = driver.FindElement(By.Id("flex1")); IList <IWebElement> MultiOwnerRow = MultiOwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = ""; foreach (IWebElement row1 in MultiOwnerRow) { MultiOwnerTD = row1.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0 && MultiOwnerTD.Count != 2 && MultiOwnerTD.Count != 1 && !row1.Text.Contains("Parcel No.") && MultiOwnerTD[1].Text.Trim() != "") { parcelNumber = MultiOwnerTD[1].Text; ownername = MultiOwnerTD[3].Text; PropertyAddress = MultiOwnerTD[5].Text; string Multi = PropertyAddress + "~" + ownername; gc.insert_date(orderNumber, parcelNumber, 488, Multi, 1, DateTime.Now); } } //GlobalClass.multiParcel_MiamiDade = "Yes"; HttpContext.Current.Session["multiParcel_Collier"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "ownername") { driver.Navigate().GoToUrl("http://www.collierappraiser.com/"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame")); //now use the switch command driver.SwitchTo().Frame(iframeElement); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); //now use the switch command driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("//*[@id='AutoNumber3']/tbody/tr/td[3]/table/tbody/tr[4]/td/a")).Click(); Thread.Sleep(10000); driver.SwitchTo().DefaultContent(); Thread.Sleep(2000); IWebElement iframeElement2 = driver.FindElement(By.XPath("//*[@id='rbottom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(2000); //now use the switch command driver.FindElement(By.XPath("//*[@id='a_searchlink']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='ui-id-15']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='Name1']")).SendKeys(ownername); Thread.Sleep(1000); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='SearchName1']")).Click(); Thread.Sleep(6000); gc.CreatePdf_WOP(orderNumber, "Owner search Result", driver, "FL", "Collier"); try { IWebElement MultiOwnerTable = driver.FindElement(By.Id("flex1")); IList <IWebElement> MultiOwnerRow = MultiOwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = ""; foreach (IWebElement row1 in MultiOwnerRow) { MultiOwnerTD = row1.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0 && MultiOwnerTD.Count != 2 && MultiOwnerTD.Count != 1 && !row1.Text.Contains("Parcel No.") && MultiOwnerTD[1].Text.Trim() != "") { parcelNumber = MultiOwnerTD[1].Text; ownername = MultiOwnerTD[3].Text; PropertyAddress = MultiOwnerTD[5].Text; string Multi = PropertyAddress + "~" + ownername; gc.insert_date(orderNumber, parcelNumber, 488, Multi, 1, DateTime.Now); } } //GlobalClass.multiParcel_MiamiDade = "Yes"; HttpContext.Current.Session["multiParcel_Collier"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.collierappraiser.com/"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame")); //now use the switch command driver.SwitchTo().Frame(iframeElement); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); //now use the switch command driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("//*[@id='AutoNumber3']/tbody/tr/td[3]/table/tbody/tr[4]/td/a")).Click(); Thread.Sleep(10000); driver.SwitchTo().DefaultContent(); Thread.Sleep(2000); IWebElement iframeElement2 = driver.FindElement(By.XPath("//*[@id='rbottom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(2000); //now use the switch command driver.FindElement(By.XPath("//*[@id='a_searchlink']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='ui-id-17']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='ParcelID']")).SendKeys(parcelNumber); Thread.Sleep(1000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='SearchParcelID']")).Click(); Thread.Sleep(6000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "FL", "Collier"); } try { IAlert alert = driver.SwitchTo().Alert(); if (alert.Text.Contains("No Parcels Found")) { HttpContext.Current.Session["Nodata_FLCollier"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } string SiteAdr = "", MapNo = "", Strapno = "", Section = "", Township = "", Range = "", Acres = "", MillageArea = "", Condo = "", UseCode = "", School = "", Other = "", Total = "", YearBuilt = ""; gc.CreatePdf(orderNumber, parcelNumber, "Property Deatil", driver, "FL", "Collier"); parcelNumber = driver.FindElement(By.XPath("//*[@id='ParcelID']")).Text; ownername = driver.FindElement(By.XPath("//*[@id='Name1']")).Text; try { ownername = driver.FindElement(By.XPath("//*[@id='Name1']")).Text + " " + driver.FindElement(By.XPath("//*[@id='Name2']")).Text; } catch { } try { SiteAdr = driver.FindElement(By.XPath("//*[@id='FullAddress']")).Text + " " + driver.FindElement(By.XPath("//*[@id='City']")).Text + " " + driver.FindElement(By.XPath("//*[@id='State']")).Text; } catch { } MapNo = driver.FindElement(By.XPath("//*[@id='MapNumber']")).Text; Strapno = driver.FindElement(By.XPath("//*[@id='StrapNumber']")).Text; Section = driver.FindElement(By.XPath("//*[@id='Section']")).Text; Township = driver.FindElement(By.XPath("//*[@id='Township']")).Text; Range = driver.FindElement(By.XPath("//*[@id='Range']")).Text; Acres = driver.FindElement(By.XPath("//*[@id='TotalAcres']")).Text; MillageArea = driver.FindElement(By.XPath("//*[@id='MillageArea']")).Text; Condo = driver.FindElement(By.XPath("//*[@id='scDescription']")).Text; UseCode = driver.FindElement(By.XPath("//*[@id='ucDescription']")).Text; School = driver.FindElement(By.XPath("//*[@id='School']")).Text; Other = driver.FindElement(By.XPath("//*[@id='Other']")).Text; Total = driver.FindElement(By.XPath("//*[@id='Total']")).Text; driver.FindElement(By.XPath("//*[@id='ui-id-2']")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Property Summary", driver, "FL", "Collier"); try { YearBuilt = driver.FindElement(By.XPath("//*[@id='trBuilding1']/td[2]")).Text; } catch { } string property = ownername + "~" + SiteAdr + "~" + MapNo + "~" + Strapno + "~" + Section + "~" + Township + "~" + Range + "~" + Acres + "~" + MillageArea + "~" + Condo + "~" + UseCode + "~" + School + "~" + Other + "~" + Total + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 469, property, 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='ui-id-1']")).Click(); Thread.Sleep(4000); string LandValue = "", ImprovedValue = "", Marketvalue = "", SaveOurHome = "", AssessedValue = "", Homestead = "", SchoolTaxableValue = "", AdditionalHomestead = "", TaxableValue = ""; IWebElement TaxHisTBD = driver.FindElement(By.XPath("//*[@id='PropSum']/table[6]/tbody/tr/td[3]/table/tbody")); IList <IWebElement> TaxHisTRD = TaxHisTBD.FindElements(By.TagName("tr")); IList <IWebElement> TaxHisTDD; foreach (IWebElement row1 in TaxHisTRD) { TaxHisTDD = row1.FindElements(By.TagName("td")); if (!row1.Text.Contains("Certified Tax Roll") && !row1.Text.Contains("(Subject") && row1.Text.Trim() != "" && TaxHisTDD.Count != 1) { LandValue = TaxHisTDD[0].Text + "~" + LandValue; ImprovedValue = TaxHisTDD[1].Text + "~" + ImprovedValue; } } LandValue = LandValue + "lk"; ImprovedValue = ImprovedValue + "lk"; LandValue = LandValue.Replace("~lk", ""); ImprovedValue = ImprovedValue.Replace("~lk", ""); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + LandValue + "' where Id = '" + 470 + "'"); gc.insert_date(orderNumber, parcelNumber, 470, ImprovedValue, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://collier.county-taxes.com/public"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='search-controls']/div/form[1]/div[1]/div/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Taxinfo", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='search-controls']/div/form[1]/div[1]/div/span/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { IWebElement ITaxSearch = driver.FindElement(By.LinkText("Full bill history")); string strITaxSearch = ITaxSearch.GetAttribute("href"); driver.Navigate().GoToUrl(strITaxSearch); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Full bill history", driver, "FL", "Collier"); } catch { } try { IWebElement ITaxReal = driver.FindElement(By.XPath("//*[@id='content']/div[1]/table")); IList <IWebElement> ITaxRealRow = ITaxReal.FindElements(By.TagName("tr")); IList <IWebElement> ITaxRealTd; int k = 0; foreach (IWebElement ItaxReal in ITaxRealRow) { ITaxRealTd = ItaxReal.FindElements(By.TagName("td")); if ((k <= 2 && ItaxReal.Text.Contains("Annual Bill")) || ItaxReal.Text.Contains("Pay this bill:")) { string yearbill = ITaxRealTd[0].Text; IWebElement ITaxBillCount = ITaxRealTd[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); try { IWebElement ITaxBill = ITaxRealTd[3].FindElement(By.TagName("a")); string BillTax = ITaxBill.GetAttribute("href"); gc.downloadfile(BillTax, orderNumber, parcelNumber, "Taxbill.pdf" + yearbill, "FL", "Collier"); } catch { IWebElement ITaxBill = ITaxRealTd[4].FindElement(By.TagName("a")); string BillTax = ITaxBill.GetAttribute("href"); gc.downloadfile(BillTax, orderNumber, parcelNumber, "Taxbill.pdf" + yearbill, "FL", "Collier"); } k++; } } //Tax History Details IWebElement IBillHistorytable = driver.FindElement(By.XPath("//*[@id='content']/div[1]/table")); IList <IWebElement> IBillHistoryRow = IBillHistorytable.FindElements(By.TagName("tr")); IList <IWebElement> IBillHistoryTD; foreach (IWebElement bill in IBillHistoryRow) { IBillHistoryTD = bill.FindElements(By.TagName("td")); if (IBillHistoryTD.Count != 0) { try { strBill = IBillHistoryTD[0].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strBalance = IBillHistoryTD[1].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strBillDate = IBillHistoryTD[2].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strBillPaid = IBillHistoryTD[3].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); } catch { strBillDate = ""; strBillPaid = ""; } if (strBillPaid.Contains("Print (PDF)")) { strBillPaid = ""; } string strTaxHistory = strBill + "~" + strBalance + "~" + strBillDate + "~" + strBillPaid; gc.insert_date(orderNumber, parcelNumber, 471, strTaxHistory, 1, DateTime.Now); } } IWebElement IBillHistoryfoottable = driver.FindElement(By.XPath("//*[@id='content']/div[1]/table/tfoot")); IList <IWebElement> IBillHistoryfootRow = IBillHistoryfoottable.FindElements(By.TagName("tr")); IList <IWebElement> IBillHistoryfootTD; foreach (IWebElement bill in IBillHistoryRow) { IBillHistoryfootTD = bill.FindElements(By.TagName("th")); if (IBillHistoryfootTD.Count != 0 && bill.Text.Contains("Total")) { try { strFBill = IBillHistoryfootTD[0].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strFBalance = IBillHistoryfootTD[1].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strFBillDate = IBillHistoryfootTD[2].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strFBillPaid = IBillHistoryfootTD[3].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); } catch { strFBillDate = ""; strFBillPaid = ""; } if (strBillPaid.Contains("Print (PDF)")) { strBillPaid = ""; } string strTaxHistory = strFBill + "~" + strFBalance + "~" + strFBillDate + "~" + strFBillPaid; gc.insert_date(orderNumber, parcelNumber, 471, strTaxHistory, 1, DateTime.Now); } } foreach (string real in strTaxRealestate) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); try { TaxYear = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/div[1]")).Text; TaxYear = WebDriverTest.After(TaxYear, "Real Estate").Trim(); string s = TaxYear; string[] words = TaxYear.Split(' '); TaxYear = words[0]; } catch { TaxYear = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/div[1]")).Text; TaxYear = WebDriverTest.After(TaxYear, "Real Estate").Trim(); string s = TaxYear; string[] words = TaxYear.Split(' '); TaxYear = words[0]; } gc.CreatePdf(orderNumber, parcelNumber, "Tax details" + TaxYear, driver, "FL", "Collier"); IWebElement multitableElement3; try { multitableElement3 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[2]/tbody")); } catch { multitableElement3 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[2]/tbody")); } IList <IWebElement> multitableRow3 = multitableElement3.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD3; foreach (IWebElement row in multitableRow3) { multirowTD3 = row.FindElements(By.TagName("td")); if (multirowTD3.Count != 1 && multirowTD3[1].Text.Trim() != "") { string tax_distri = TaxYear + "~" + multirowTD3[0].Text.Trim() + "~" + "Ad Valorem" + "~" + multirowTD3[1].Text.Trim() + "~" + multirowTD3[2].Text.Trim() + "~" + multirowTD3[3].Text.Trim() + "~" + multirowTD3[4].Text.Trim() + "~" + "" + "~" + multirowTD3[5].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri, 1, DateTime.Now); } } //total advalorem IWebElement multitableElement31; try { multitableElement31 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[2]/tfoot")); } catch { multitableElement31 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[2]/tfoot")); } IList <IWebElement> multitableRow31 = multitableElement31.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD31; foreach (IWebElement row in multitableRow31) { multirowTD31 = row.FindElements(By.TagName("td")); if (multirowTD31.Count != 1) { string tax_distri1 = TaxYear + "~" + "Total:" + "~" + "Ad Valorem" + "~" + multirowTD31[0].Text.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD31[1].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri1, 1, DateTime.Now); } } // Non - Ad Valorem try { IWebElement multitableElement32; try { multitableElement32 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[3]/tbody")); } catch { multitableElement32 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[3]/tbody")); } IList <IWebElement> multitableRow32 = multitableElement32.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD32; foreach (IWebElement row in multitableRow32) { multirowTD32 = row.FindElements(By.TagName("td")); if (multirowTD32.Count != 1 && multirowTD32[0].Text.Trim() != "") { string tax_distri2 = TaxYear + "~" + multirowTD32[0].Text.Trim() + "~" + "Non-Ad Valorem " + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD32[1].Text.Trim() + "~" + multirowTD32[2].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri2, 1, DateTime.Now); } } //total non-advalorem IWebElement multitableElement33; try { multitableElement33 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[3]/tfoot")); } catch { multitableElement33 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[3]/tfoot")); } IList <IWebElement> multitableRow33 = multitableElement33.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD33; foreach (IWebElement row in multitableRow33) { multirowTD33 = row.FindElements(By.TagName("td")); if (multirowTD33.Count != 0) { string tax_distri1 = TaxYear + "~" + "Total:" + "~" + "Non-Ad Valorem " + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD33[0].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri1, 1, DateTime.Now); } } } catch { } // Taxing_authority~Tax_type~Millage~Assessed~Exemption~Taxable~Rate~Tax //Tax info try { TaxAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/p")).Text.Replace("Combined taxes and assessments:", ""); PaidAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/div[6]/div/div[1]/div/div")).Text; PaidAmount = PaidAmount.Replace("\r\n", "&"); PaidAmount = WebDriverTest.Before(PaidAmount, "&"); PaidAmount = WebDriverTest.After(PaidAmount, "$").Trim(); ReceiptNumber = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/div[6]/div/div[1]/div/div/div")).Text.Replace("Receipt", ""); IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[1]/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { Account_number = TDmulti[0].Text; string Escro_Code = TDmulti[2].Text; Millage_Code = TDmulti[3].Text; string tax_info1 = Account_number + "~" + Millage_Code + "~" + Escro_Code + "~" + TaxYear + "~" + TaxAmount + "~" + PaidAmount + "~" + ReceiptNumber + "~" + "Doug Belden, Tax Collector P.O. Box 30012 Tampa, Florida 33630-3012"; gc.insert_date(orderNumber, parcelNumber, 473, tax_info1, 1, DateTime.Now); } } } catch { TaxAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/p")).Text.Replace("Combined taxes and assessments:", ""); PaidAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/div[3]")).Text; if (PaidAmount.Contains("Pay this bill")) { PaidAmount = ""; ReceiptNumber = ""; } else { PaidAmount = PaidAmount.Replace("\r\n", "&"); var PaidAmount1 = PaidAmount.Split('&'); PaidAmount = PaidAmount1[0]; PaidAmount = WebDriverTest.After(PaidAmount, "$").Trim(); ReceiptNumber = PaidAmount1[1]; } IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[1]/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { Account_number = TDmulti[0].Text; string Escro_Code = TDmulti[2].Text; Millage_Code = TDmulti[3].Text; string tax_info1 = Account_number + "~" + Millage_Code + "~" + Escro_Code + "~" + TaxYear + "~" + TaxAmount + "~" + PaidAmount + "~" + ReceiptNumber + "~" + "Doug Belden, Tax Collector P.O. Box 30012 Tampa, Florida 33630-3012"; gc.insert_date(orderNumber, parcelNumber, 473, tax_info1, 1, DateTime.Now); } } } string IfPaidBy = "", PlesePay = "", DueDate = "", deli = ""; try { IWebElement multitableElement26 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[4]/tbody")); IList <IWebElement> multitableRow26 = multitableElement26.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD26; foreach (IWebElement row in multitableRow26) { multirowTD26 = row.FindElements(By.TagName("td")); int iRowsCount = multirowTD26.Count; for (int n = 0; n < iRowsCount; n++) { if ((!multirowTD26[n].Text.Contains("Face Amt")) && (!multirowTD26[n].Text.Contains("Certificate"))) { IfPaidBy = multirowTD26[n].Text.Replace("\r\n", "~"); var IfpaySplit = IfPaidBy.Split('~'); IfPaidBy = IfpaySplit[0]; PlesePay = IfpaySplit[1]; if (PlesePay == "$0.00") { deli = "paid"; } else { deli = "deliquent"; } DueDate = TaxYear + "~" + deli + "~" + IfPaidBy + "~" + PlesePay; gc.insert_date(orderNumber, parcelNumber, 474, DueDate, 1, DateTime.Now); } } } } //If_paid_by~Please_Pay catch { IWebElement multitableElement26 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[4]/tbody")); IList <IWebElement> multitableRow26 = multitableElement26.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD26; foreach (IWebElement row in multitableRow26) { multirowTD26 = row.FindElements(By.TagName("td")); int iRowsCount = multirowTD26.Count; for (int n = 0; n < iRowsCount; n++) { if ((!multirowTD26[n].Text.Contains("Face Amt")) && (!multirowTD26[n].Text.Contains("Certificate"))) { IfPaidBy = multirowTD26[n].Text.Replace("\r\n", "~"); var IfpaySplit = IfPaidBy.Split('~'); IfPaidBy = IfpaySplit[0]; PlesePay = IfpaySplit[1]; if (PlesePay == "$0.00") { deli = "paid"; } else { deli = "deliquent"; } DueDate = TaxYear + "~" + deli + "~" + IfPaidBy + "~" + PlesePay; gc.insert_date(orderNumber, parcelNumber, 474, DueDate, 1, DateTime.Now); } } } } //*[@id="content"]/div[1]/div[3]/div[1]/ul/li[1]/a driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[3]/div[1]/ul/li[1]/a")).Click(); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "parcel details" + TaxYear, driver, "FL", "Collier"); } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Collier", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Collier"); //gc.MMREM_Template(orderNumber, parcelNumber, "", driver, "FL", "Collier", "138", "4"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_FLMarion(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> mcheck = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { //driver = new ChromeDriver(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { titleaddress = address; titleOwner = ownername; gc.TitleFlexSearch(orderNumber, "", ownername, titleaddress, "FL", "Marion"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_0")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(address); driver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Marion"); Thread.Sleep(2000); try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "FL", "Marion"); if (MultiAddressTR.Count == 1) { driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click(); Thread.Sleep(4000); } else { int AddressmaxCheck = 0; string xpath = ""; int m = 1; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0 && MultiAddress.Text.Contains(address.ToUpper())) { IWebElement Parcelno1 = MultiAddressTD[0].FindElement(By.TagName("a")); Parcelno = Parcelno1.Text; Owner = MultiAddressTD[1].Text; Property_Address = MultiAddressTD[2].Text; MultiAddress_details = Owner + "~" + Property_Address; gc.insert_date(orderNumber, Parcelno, 672, MultiAddress_details, 1, DateTime.Now); xpath = "//*[@id='srch']/table[1]/tbody/tr[" + m + "]/td[1]/a"; mcheck.Add(MultiAddressTD[0].Text.Trim()); } m++; } AddressmaxCheck++; } if (mcheck.Count == 1) { driver.FindElement(By.XPath(xpath)).Click(); Thread.Sleep(4000); } else { if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLMarion_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } else { HttpContext.Current.Session["multiparcel_FLMarion"] = "Yes"; driver.Quit(); return("MultiParcel"); } } } } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("srch")).Text; if (nodata.Contains("0 records found. End of search reached.")) { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_2")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(parcelNumber); driver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "FL", "Marion"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click(); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.Id("srch'")).Text; if (nodata.Contains("0 records found. End of search reached.")) { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { var chromeOptions = new ChromeOptions(); var chDriver = new ChromeDriver(chromeOptions); chDriver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx"); Thread.Sleep(2000); chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_1")).Click(); Thread.Sleep(2000); chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(ownername); chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Owner search", chDriver, "FL", "Marion"); Thread.Sleep(2000); try { IWebElement MultiOwnerTB = chDriver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody")); IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; gc.CreatePdf_WOP(orderNumber, "Multi Owner search", chDriver, "FL", "Marion"); if (MultiOwnerTR.Count == 1) { chDriver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click(); Thread.Sleep(2000); } else { int OwnermaxCheck = 0; foreach (IWebElement MultiOwner in MultiOwnerTR) { if (OwnermaxCheck <= 25) { MultiOwnerTD = MultiOwner.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0) { IWebElement Parcelno1 = MultiOwnerTD[0].FindElement(By.TagName("a")); Parcelno = Parcelno1.Text; Owner = MultiOwnerTD[1].Text; Property_Address = MultiOwnerTD[2].Text; MultiOwner_details = Owner + "~" + Property_Address; gc.insert_date(orderNumber, Parcelno, 672, MultiOwner_details, 1, DateTime.Now); } OwnermaxCheck++; } } if (MultiOwnerTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLMarion_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_FLMarion"] = "Yes"; } chDriver.Quit(); return("MultiParcel"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='srch']/text()")).Text; if (nodata.Contains("0 records found. End of search reached.")) { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } chDriver.Quit(); } Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(4000); //Property Details //try //{ // driver.FindElement(By.XPath("//*[@id='prc']/div/a[1]")).Click(); // Thread.Sleep(6000); //} //catch //{ } try { ParcelID = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/h1")).Text; Primary_Key = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[1]/tbody/tr/td[1]")).Text; Primary_Key = WebDriverTest.After(Primary_Key, "Prime Key: "); Owner_Mailing = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[1]")).Text; try { driver.FindElement(By.XPath("//*[@id='prc']/div/a[2]")).Click(); Thread.Sleep(2000); full = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[2]")).Text; Taxes_Assments = gc.Between(full, "Taxes / Assessments:", "Map ID:"); try { assess1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[1]")).Text.Replace("\r\n", "~"); assess11 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[2]")).Text.Replace("\r\n", "~"); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assess1 + "' where Id = '" + 692 + "'"); gc.CreatePdf(orderNumber, ParcelID, "Assessment1 Details", driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 692, assess11, 1, DateTime.Now); } catch { } //History Accessd Values try { IWebElement HistoryTB = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[4]/tbody")); IList <IWebElement> HistoryTR = HistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> HistoryTD; foreach (IWebElement History in HistoryTR) { HistoryTD = History.FindElements(By.TagName("td")); if (HistoryTD.Count != 0 && HistoryTR.Count != 1) { Year = HistoryTD[0].Text; Land_Just = HistoryTD[1].Text; Building = HistoryTD[2].Text; Misc_Value = HistoryTD[3].Text; Mkt_Just = HistoryTD[4].Text; Assed_Value = HistoryTD[5].Text; Exceptions = HistoryTD[6].Text; Taxabl_Val = HistoryTD[7].Text; History_details = Year + "~" + Land_Just + "~" + Building + "~" + Misc_Value + "~" + Mkt_Just + "~" + Assed_Value + "~" + Exceptions + "~" + Taxabl_Val; gc.insert_date(orderNumber, ParcelID, 693, History_details, 1, DateTime.Now); } } } catch { } driver.Navigate().Back(); Thread.Sleep(5000); } catch { } Map_Id = gc.Between(full, "Map ID:", "Millage:"); Millage = GlobalClass.After(full, "Millage:"); full1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[3]")).Text; try { Acres = gc.Between(full1, "Acres: ", "Situs: ").Replace("More Situs", ""); Situs = WebDriverTest.After(full1, "Situs: "); } catch { } Proty_Desp = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td")).Text; Proty_Desp = gc.Between(Proty_Desp, "Property Description", "Land Data - Warning: Verify Zoning"); try { Improve1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[6]/tbody/tr/td[1]/table/tbody/tr/td[2]")).Text.Replace("\r\n", "~"); string[] rowarrayname1 = Improve1.Split('~'); Improve = rowarrayname1[0]; Year_Built = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[6]/tbody/tr/td[2]")).Text; Year_Built = gc.Between(Year_Built, "Year Built", "Physical Deterioration"); } catch { } property = Primary_Key + "~" + Owner_Mailing + "~" + Situs + "~" + Taxes_Assments + "~" + Map_Id + "~" + Millage + "~" + Acres + "~" + Proty_Desp + "~" + Improve + "~" + Year_Built; gc.CreatePdf(orderNumber, ParcelID, "Assessment11 Details", driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 691, property, 1, DateTime.Now); } catch { } //try //{ // assess = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[1]")).Text.Replace("\r\n", "~"); // assess1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[2]")).Text.Replace("\r\n", "~"); // DBconnection dbconn = new DBconnection(); // dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assess + "' where Id = '" + 692 + "'"); // gc.insert_date(orderNumber, ParcelID, 692, assess1, 1, DateTime.Now); //} //catch //{ } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details driver.Navigate().GoToUrl("https://www.mariontax.com/itm/PropertySearchAccount.aspx"); Thread.Sleep(4000); driver.FindElement(By.Id("btnAgree")).Click(); Thread.Sleep(4000); driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_txtAccount")).SendKeys(ParcelID); gc.CreatePdf(orderNumber, ParcelID, "Tax Details", driver, "FL", "Marion"); driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, ParcelID, "Tax Parcels Details", driver, "FL", "Marion"); driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_rptSummary__ctl0_lnkDetails1")).Click(); Thread.Sleep(4000); //Tax Payment History try { IWebElement BreakdownTB = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody")); IList <IWebElement> BreakdownTR = BreakdownTB.FindElements(By.TagName("tr")); IList <IWebElement> BreakdownTD; foreach (IWebElement Breakdown in BreakdownTR) { BreakdownTD = Breakdown.FindElements(By.TagName("td")); if (BreakdownTD.Count != 0 && !Breakdown.Text.Contains("Year")) { Tax_Year = BreakdownTD[0].Text; Roll = BreakdownTD[1].Text; Acc_Num = BreakdownTD[2].Text; Sta = BreakdownTD[3].Text; Date_Paid = BreakdownTD[4].Text; Amount_Paid = BreakdownTD[5].Text; Balnc_Due = BreakdownTD[6].Text; Payment_details = Tax_Year + "~" + Roll + "~" + Acc_Num + "~" + Sta + "~" + Date_Paid + "~" + Amount_Paid + "~" + Balnc_Due; gc.insert_date(orderNumber, ParcelID, 695, Payment_details, 1, DateTime.Now); } } } catch { } //Tax Information Acc_No = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[2]/td[2]")).Text.Replace(" ", ""); Typ = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[2]/td[4]/table/tbody/tr/td[1]")).Text; Add = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[3]/td[2]")).Text; try { Deliquent = driver.FindElement(By.XPath("//*[@id='tbl3']/tbody/tr[4]/td")).Text; } catch { } try { Roll_Coment = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody/tr[3]/td[2]")).Text; } catch { } List <string> ParcelSearch = new List <string>(); try { IWebElement ParcelTB = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody")); IList <IWebElement> ParcelTR = ParcelTB.FindElements(By.TagName("tr")); ParcelTR.Reverse(); int rows_count = ParcelTR.Count; for (int row = 0; row < rows_count; row++) { if (row == rows_count - 1 || row == rows_count - 2 || row == rows_count - 3) { IList <IWebElement> Columns_row = ParcelTR[row].FindElements(By.TagName("td")); int columns_count = Columns_row.Count; for (int column = 0; column < columns_count; column++) { if (column == columns_count - 2) { IWebElement ParcelBill_link = Columns_row[0].FindElement(By.TagName("a")); string Parcelurl = ParcelBill_link.GetAttribute("href"); ParcelSearch.Add(Parcelurl); } } } } } catch { } foreach (string Parcelbill in ParcelSearch) { driver.Navigate().GoToUrl(Parcelbill); Thread.Sleep(3000); Taxy = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_lblDetTaxYear']")).Text; try { Pdes1 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[1]/td")).Text; Pdes2 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[2]/td")).Text; Pdes3 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[3]/td")).Text; Pdes4 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[4]/td")).Text; P_des = Pdes1 + " " + Pdes2 + " " + Pdes3 + " " + Pdes4; } catch { } try { OInfo1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[1]/td")).Text; M_Addr1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[2]/td")).Text; M_Addr2 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[3]/td")).Text; Owner_Mail = OInfo1 + " & " + M_Addr1 + " " + M_Addr2; } catch { } try { OInfo1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[1]/td")).Text; OInfo2 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[2]/td")).Text; M_Addr1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[3]/td")).Text; M_Addr2 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[4]/td")).Text; Owner_Mail = OInfo1 + " " + OInfo2 + " & " + M_Addr1 + " " + M_Addr2; } catch { } try { IWebElement tbmulti11 = driver.FindElement(By.XPath("//*[@id='Table2c']/tbody")); IList <IWebElement> TRmulti11 = tbmulti11.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti11; foreach (IWebElement row in TRmulti11) { TDmulti11 = row.FindElements(By.TagName("td")); if (TDmulti11.Count != 0) { Mkt = TDmulti11[0].Text; if (Mkt.Contains("MARKET VALU")) { Markt_Value = TDmulti11[0].Text.Replace(" ", ""); Markt_Value = WebDriverTest.After(Markt_Value, "MARKETVALU"); } Asst = TDmulti11[0].Text; if (Asst.Contains("ASSESSMENT")) { ASSESSMENT = TDmulti11[0].Text.Replace(" ", ""); ASSESSMENT = WebDriverTest.After(ASSESSMENT, "ASSESSMENT"); } Txb = TDmulti11[0].Text; if (Txb.Contains("TAXABLE")) { TAXABLE = TDmulti11[0].Text.Replace(" ", ""); TAXABLE = WebDriverTest.After(TAXABLE, "TAXABLE"); } Ext = TDmulti11[0].Text; if (Ext.Contains("EXCD01")) { EXC = TDmulti11[0].Text.Replace(" ", ""); EXC = WebDriverTest.After(EXC, "EXCD01"); } Ext1 = TDmulti11[0].Text; if (Ext1.Contains("EXCD38")) { EXC1 = TDmulti11[0].Text.Replace(" ", ""); EXC1 = WebDriverTest.After(EXC1, "EXCD38"); } Ext2 = TDmulti11[0].Text; if (Ext2.Contains("EXCD02")) { EXC2 = TDmulti11[0].Text.Replace(" ", ""); EXC2 = WebDriverTest.After(EXC2, "EXCD02"); } Count_Asst = TDmulti11[0].Text; if (Count_Asst.Contains("COUNTY ASMT")) { County_ASMT = TDmulti11[0].Text.Replace(" ", ""); County_ASMT = WebDriverTest.After(County_ASMT, "COUNTYASMT"); } Count_txbl = TDmulti11[0].Text; if (Count_txbl.Contains("COUNTY TXBL")) { County_TXBL = TDmulti11[0].Text.Replace(" ", ""); County_TXBL = WebDriverTest.After(County_TXBL, "COUNTYTXBL"); } Tax_Asst = TDmulti11[0].Text; if (Tax_Asst.Contains("SCHOOL ASMT")) { Tax_ASMT = TDmulti11[0].Text.Replace(" ", ""); Tax_ASMT = WebDriverTest.After(Tax_ASMT, "SCHOOLASMT"); } Tax_txbl = TDmulti11[0].Text; if (Tax_txbl.Contains("SCHOOL TXBL")) { Tax_TXBL = TDmulti11[0].Text.Replace(" ", ""); Tax_TXBL = WebDriverTest.After(Tax_TXBL, "SCHOOLTXBL"); } } } IWebElement tbmulti1 = driver.FindElement(By.XPath("//*[@id='Table2d']/tbody")); IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti1; foreach (IWebElement row in TRmulti1) { TDmulti1 = row.FindElements(By.TagName("td")); if (TDmulti1.Count != 0) { txes = TDmulti1[0].Text; if (txes.Contains("TAXES")) { TAXES = TDmulti1[0].Text.Replace(" ", ""); TAXES = WebDriverTest.After(TAXES, "TAXES"); } sptxs = TDmulti1[0].Text; if (sptxs.Contains("SP. ASMT")) { SP_ASMT = TDmulti1[0].Text.Replace(" ", ""); SP_ASMT = WebDriverTest.After(SP_ASMT, "SP.ASMT"); } intt = TDmulti1[0].Text; if (intt.Contains("INT.")) { INT = TDmulti1[0].Text.Replace(" ", ""); INT = WebDriverTest.After(INT, "INT."); } Salet = TDmulti1[0].Text; if (Salet.Contains("SALE 5%")) { SALE = TDmulti1[0].Text.Replace(" ", ""); SALE = WebDriverTest.After(SALE, "SALE5%"); } Advt = TDmulti1[0].Text; if (Advt.Contains("ADV. FEE")) { ADV = TDmulti1[0].Text.Replace(" ", ""); ADV = WebDriverTest.After(ADV, "ADV.FEE"); } } } Tax_Info = Acc_No + "~" + Typ + "~" + Add + "~" + Taxy + "~" + P_des + "~" + Owner_Mail + "~" + Markt_Value + "~" + ASSESSMENT + "~" + TAXABLE + "~" + EXC + "~" + EXC1 + "~" + EXC2 + "~" + TAXES + "~" + SP_ASMT + "~" + INT + "~" + SALE + "~" + ADV + "~" + County_ASMT + "~" + County_TXBL + "~" + Tax_ASMT + "~" + Tax_TXBL; gc.insert_date(orderNumber, ParcelID, 697, Tax_Info, 1, DateTime.Now); Markt_Value = ""; ASSESSMENT = ""; TAXABLE = ""; EXC = ""; EXC1 = ""; EXC2 = ""; TAXES = ""; SP_ASMT = ""; INT = ""; SALE = ""; ADV = ""; County_ASMT = ""; County_TXBL = ""; Tax_ASMT = ""; Tax_TXBL = ""; } catch { } gc.CreatePdf(orderNumber, ParcelID, "Tax Payment Details" + Taxy, driver, "FL", "Marion"); Thread.Sleep(2000); //Tax Receipt try { Receipt = driver.FindElement(By.XPath("//*[@id='tbl5']/tbody/tr[4]/td")).Text.Replace(" ", ""); Commonreceipt = Receipt; if (Commonreceipt.Length == 58) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 9); D = Receipt.Substring(38, 7); E = Receipt.Substring(45, 4); F = Receipt.Substring(49, 9); Receipt_Details5 = A + "~" + B + "~" + "~" + C + "~" + D + "~" + E + "~" + F; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details5, 1, DateTime.Now); } if (Commonreceipt.Length == 42) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); Receipt_Details1 = A + "~" + B + "~" + C + "~" + D + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details1, 1, DateTime.Now); } if (Commonreceipt.Length == 62) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); E = Receipt.Substring(42, 7); F = Receipt.Substring(49, 4); G = Receipt.Substring(53, 9); Receipt_Details2 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details2, 1, DateTime.Now); } if (Commonreceipt.Length == 61) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 10); E = Receipt.Substring(43, 6); F = Receipt.Substring(49, 5); G = Receipt.Substring(54, 7); Receipt_Details3 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details3, 1, DateTime.Now); } if (Commonreceipt.Length == 60) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); E = Receipt.Substring(42, 7); F = Receipt.Substring(49, 4); G = Receipt.Substring(53, 7); Receipt_Details4 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details4, 1, DateTime.Now); } if (Commonreceipt.Length == 56) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 9); D = Receipt.Substring(38, 7); E = Receipt.Substring(45, 4); F = Receipt.Substring(49, 7); Receipt_Details4 = A + "~" + B + "~" + "" + "~" + C + "~" + D + "~" + E + "~" + F; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details4, 1, DateTime.Now); } if (Commonreceipt.Length == 64) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); E = Receipt.Substring(42, 8); F = Receipt.Substring(50, 4); G = Receipt.Substring(54, 10); Receipt_Details9 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details9, 1, DateTime.Now); } } catch { } //driver.Navigate().Back(); //Thread.Sleep(2000); } driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lnkAcctBill2")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(4000); //Ad-Valorem & Non-Ad Valorem IWebElement AdValoremTB = driver.FindElement(By.XPath("//*[@id='Table3']/tbody")); IList <IWebElement> AdValoremTR = AdValoremTB.FindElements(By.TagName("tr")); IList <IWebElement> AdValoremTD; foreach (IWebElement AdValorem in AdValoremTR) { AdValoremTD = AdValorem.FindElements(By.TagName("td")); if (AdValoremTD.Count != 0 && !AdValorem.Text.Contains("TAXING AUTHORITY") && AdValoremTD[0].Text != "" && !AdValorem.Text.Contains("*** PAID *** PAID *** PAID ***") && !AdValorem.Text.Contains("PERIOD")) { //if (AdValorem.Text.Contains("COMBINED TAXES & ASSESSMENTS TOTAL:")) //{ // break; //} string Output = AdValoremTD[0].Text; Output = Regex.Replace(Output, @"\s+", " ").TrimStart(); Output = Output.Replace(" ", "~"); string[] rowarrayname1 = Output.Split('~'); List <string> listname = new List <string>(); listname.AddRange(rowarrayname1); int count = listname.Count(); string name = "", millege = "", assessed = "", exemptions = "", taxable = "", taxes = ""; int k = 0; if (count == 2 && listname[0].Any(Char.IsDigit)) { Advalorem_details1 = "Total Millege" + "~" + listname[0] + "~" + "" + "~" + "" + "~" + "Total Ad Valorem Taxes" + "~" + listname[1]; gc.CreatePdf(orderNumber, ParcelID, "Ad-Valorem & Non-Ad Valorem Taxs Details" + Taxy, driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 700, Advalorem_details1, 1, DateTime.Now); } else { for (int i = 0; i < count; i++) { if (!listname[i].Any(Char.IsDigit)) { name = name + " " + listname[i]; } else { if (listname[i].Any(Char.IsDigit) && (k == 0)) { millege = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 1)) { assessed = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 2)) { exemptions = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 3)) { taxable = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 4)) { taxes = listname[i]; } k++; } } } Advalorem_details = name + "~" + millege + "~" + assessed + "~" + exemptions + "~" + taxable + "~" + taxes; gc.CreatePdf(orderNumber, ParcelID, "Ad-Valorem & Non-Ad Valorem Taxs Details" + Taxy, driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 700, Advalorem_details, 1, DateTime.Now); } } //Taxing Authority driver.Navigate().GoToUrl("https://www.mariontax.com/itm.asp"); Thread.Sleep(2000); Deliquent_Comments = ""; CER_Comments = ""; try { Taxing_Authority = driver.FindElement(By.XPath("//*[@id='ss-block-container-1']/div/address[2]")).Text.Replace("\r\n", " "); } catch { } if (Deliquent == "DELINQUENT TAXES DUE ") { Deliquent_Comments = "For prior tax amount due, you must call the tax Collector's Office."; } if (Roll_Coment == "CER") { CER_Comments = "Tax Sale in property. Need to contact Tax Collector"; } Taxauthority_Details = Taxing_Authority + "~" + Deliquent_Comments + "~" + CER_Comments; gc.CreatePdf(orderNumber, ParcelID, "Tax Authority", driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 704, Taxauthority_Details, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Marion", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Marion"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
public string FTP_YorkSC(string streetNo, string streetName, string direction, string streetType, string accountNo, string parcelNumber, string ownerName, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; IJavaScriptExecutor js = driver as IJavaScriptExecutor; string strmulti = "", Taxy = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", accountnumber = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) //ChromeDriver { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=YorkCountySC&Layer=Parcels&PageType=Search"); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } //Thread.Sleep(3000); if (searchType == "titleflex") { string address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + accountNo; gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "SC", "York"); if (HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].Equals("Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_YorkSC"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(streetNo + " " + streetName); gc.CreatePdf_WOP(orderNumber, "Address Search Before", driver, "SC", "York"); driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address Search After", driver, "SC", "York"); try { strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results"); if (Convert.ToInt32(strmulti) > 25) { HttpContext.Current.Session["multiParcel_YorkSC_Maximum"] = "Maximum"; return("Maximum"); } IWebElement Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> ImutiRow = Imultitable.FindElements(By.TagName("tr")); IList <IWebElement> ImultiTD; foreach (IWebElement multi in ImutiRow) { ImultiTD = multi.FindElements(By.TagName("td")); if (ImultiTD.Count != 0 && !multi.Text.Contains("Address")) { string strmultiDetails = ImultiTD[2].Text + "~" + ImultiTD[3].Text; gc.insert_date(orderNumber, ImultiTD[1].Text, 1541, strmultiDetails, 1, DateTime.Now); } } HttpContext.Current.Session["multiParcel_YorkSC"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_YorkSC"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Before Search", driver, "SC", "York"); driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Aftere Pdf", driver, "SC", "York"); try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_YorkSC"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "ownername") { driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownerName); gc.CreatePdf_WOP(orderNumber, "OwnerName Search Before", driver, "SC", "York"); driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "OwnerName Search After", driver, "SC", "York"); try { strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results"); if (Convert.ToInt32(strmulti) > 25) { HttpContext.Current.Session["multiParcel_Paulding_Maximum"] = "Maximum"; return("Maximum"); } IWebElement Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> ImutiRow = Imultitable.FindElements(By.TagName("tr")); IList <IWebElement> ImultiTD; foreach (IWebElement multi in ImutiRow) { ImultiTD = multi.FindElements(By.TagName("td")); if (ImultiTD.Count != 0 && !multi.Text.Contains("Address")) { string strmultiDetails = ImultiTD[2].Text + "~" + ImultiTD[3].Text; gc.insert_date(orderNumber, ImultiTD[1].Text, 1541, strmultiDetails, 1, DateTime.Now); } } HttpContext.Current.Session["multiParcel_YorkSC"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_YorkSC"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string Owner = "", ParcelNumber = "", Propertyaddress = "", Mailingaddress = "", LegalDescription = "", Classcode = ""; try { string bulktext1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_mSection']/div")).Text.Trim(); string[] Propdata1 = bulktext1.Split('\r'); if (Propdata1.Count() == 4) { Owner = Propdata1[0].Replace("\r\n", "").Trim() + "&" + Propdata1[1].Replace("\r\n", "").Trim(); Mailingaddress = Propdata1[2].Replace("\r\n", "").Trim() + Propdata1[3].Replace("\r\n", "").Trim(); } if (Propdata1.Count() == 3) { Owner = Propdata1[0].Replace("\r\n", "").Trim(); Mailingaddress = Propdata1[1].Replace("\r\n", "").Trim() + Propdata1[2].Replace("\r\n", "").Trim(); } if (Propdata1.Count() == 2) { Mailingaddress = Propdata1[1].Replace("\r\n", "").Trim() + Propdata1[2].Replace("\r\n", "").Trim(); } } catch { } ParcelNumber = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblParcelNumber")).Text.Trim(); gc.CreatePdf(orderNumber, ParcelNumber, "Property Details and Assessment Details Pdf", driver, "SC", "York"); Propertyaddress = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblLocationAddr")).Text.Trim(); LegalDescription = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblDescription")).Text.Trim(); Classcode = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblClass")).Text.Trim(); string PropertyDetails = Owner.Trim() + "~" + Propertyaddress.Trim() + "~" + Mailingaddress.Trim() + "~" + LegalDescription.Trim() + "~" + Classcode.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1539, PropertyDetails, 1, DateTime.Now); //Assessment Details string AssessmentYear = ""; try { AssessmentYear = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl11_ctl01_grdValuation']/thead/tr/th[3]")).Text.Trim(); } catch { } // gc.CreatePdf(orderNumber, ParcelNumber, "Assessment Details ", driver, "GA", "Paulding"); try { string AssessmentTitle = "", AssessmentValue = ""; IWebElement tbcurasses12 = driver.FindElement(By.Id("ctlBodyPane_ctl02_mSection")); IList <IWebElement> TRcurasses2 = tbcurasses12.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti12; foreach (IWebElement row in TRcurasses2) { TDmulti12 = row.FindElements(By.TagName("td")); if (TDmulti12.Count != 0 && !row.Text.Contains("Value Information")) { AssessmentTitle += TDmulti12[0].Text + "~"; AssessmentValue += TDmulti12[1].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year" + "~" + AssessmentTitle.Remove(AssessmentTitle.Length - 1, 1) + "' where Id = '" + 1540 + "'"); gc.insert_date(orderNumber, ParcelNumber, 1540, AssessmentYear + "~" + AssessmentValue.Remove(AssessmentValue.Length - 1, 1), 1, DateTime.Now); } catch { } //Tax Authority string Taxauthority = "", Taxauthority1 = ""; try { driver.Navigate().GoToUrl("https://www.yorkcountygov.com/Directory.aspx?did=28"); Taxauthority1 = driver.FindElement(By.Id("CityDirectoryLeftMargin")).Text.Trim(); Taxauthority = gc.Between(Taxauthority1.Replace("\r\n", " "), "Mailing Address:", "Fax:").Trim(); gc.CreatePdf(orderNumber, ParcelNumber, "Tax Authority Details", driver, "SC", "York"); } catch { } //Tax Information Details driver.Navigate().GoToUrl("https://onlinetaxes.yorkcountygov.com/taxes#/"); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "Tax main page", driver, "SC", "York"); try {//*[@id="cc5f8c90dc-b4cb-431b-90ee-10648f8df655"]/div/div/p[3]/button[1] //*[@id="cc5f8c90dc-b4cb-431b-90ee-10648f8df655"]/div/div/p[3]/button[1] driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/p[3]/button[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "Tax accept click", driver, "SC", "York"); } catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } ////*[@id="searchBox"] //try { //driver.Navigate().GoToUrl("https://onlinetaxes.yorkcountygov.com/taxes#/WildfireSearch"); //Thread.Sleep(3000); //}catch { } driver.FindElement(By.Id("searchBox")).SendKeys(ParcelNumber); //driver.FindElement(By.XPath("//*[@id='searchBox']")).SendKeys(ParcelNumber); Thread.Sleep(4000); try { //*[@id="searchForm"]/div[1]/div/span/button driver.FindElement(By.XPath("//*[@id='searchForm']/div[1]/div/span/button")).SendKeys(Keys.Enter); } catch { } Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "Payment Details Pdf", driver, "SC", "York"); //Tax History Details Table string TaxHistorydetails = "", TaxOwnerName = "", TaxYear = "", Receipt = "", Descripton = "", Type = "", Status = "", PaidDate = ""; try { IWebElement PaymentTB = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div[4]/div[2]/table")); //Working on div[3]/div[2] Previously IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> PaymentTD; foreach (IWebElement Payment in PaymentTR) { PaymentTD = Payment.FindElements(By.TagName("td")); if (PaymentTD.Count != 0 && !Payment.Text.Contains("Owner Name")) { TaxOwnerName = PaymentTD[0].Text; TaxYear = PaymentTD[1].Text; Receipt = PaymentTD[2].Text; Descripton = PaymentTD[3].Text; Type = PaymentTD[4].Text; Status = PaymentTD[5].Text; PaidDate = PaymentTD[6].Text; TaxHistorydetails = TaxOwnerName + "~" + TaxYear + "~" + Receipt + "~" + Descripton + "~" + Type + "~" + Status + "~" + PaidDate + "~" + Taxauthority; gc.insert_date(orderNumber, ParcelNumber, 1547, TaxHistorydetails, 1, DateTime.Now); } } } catch { } //Tax Information Details// //***********************=========***********************// string name = "", Taxyear = "", bill_no = "", amount = "", Del_details = "", delinaccount = "", delinparcelid = ""; //int p = 0; for (int i = 1; i < 4; i++) { try { IWebElement Receipttable1 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div[4]/div[2]/table/tbody/tr[" + i + "]/td[9]/button")); //Working on div[3]/div[2] Previously Receipttable1.Click(); Thread.Sleep(5000); ////View Delinquent Details try { IWebElement DeliquentTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tbody")); IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr")); IList <IWebElement> DeliquentTD; foreach (IWebElement Deliquent in DeliquentTR) { DeliquentTD = Deliquent.FindElements(By.TagName("td")); if (DeliquentTD.Count != 0) { name = DeliquentTD[0].Text.Trim(); bill_no = DeliquentTD[1].Text.Trim(); Taxyear = DeliquentTD[2].Text.Trim(); amount = DeliquentTD[6].Text.Trim(); Del_details = name + "~" + Taxyear + "~" + bill_no + "~" + amount; gc.CreatePdf(orderNumber, ParcelNumber, "Deliquent Details" + i, driver, "SC", "York"); gc.insert_date(orderNumber, ParcelNumber, 1443, Del_details, 1, DateTime.Now); name = ""; Taxyear = ""; bill_no = ""; amount = ""; delinaccount = ""; delinparcelid = ""; } } } catch { } try { IWebElement DeliquentfootTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tfoot")); IList <IWebElement> DeliquentfootTR = DeliquentfootTB.FindElements(By.TagName("tr")); IList <IWebElement> DeliquentfootTD; foreach (IWebElement Deliquentfoot in DeliquentfootTR) { DeliquentfootTD = Deliquentfoot.FindElements(By.TagName("th")); if (DeliquentfootTD.Count != 0) { string bill_no1 = DeliquentfootTD[0].Text; string amount1 = DeliquentfootTD[2].Text; string Del_details1 = "" + "~" + "" + "~" + bill_no1 + "~" + amount1; gc.insert_date(orderNumber, ParcelNumber, 1443, Del_details1, 1, DateTime.Now); } } gc.CreatePdf(orderNumber, ParcelNumber, "Delinquent" + i, driver, "SC", "York"); } catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click(); Thread.Sleep(2000); } catch { } string Parcelid = "", Taxinfownername1 = "", PayStatus = "", Paypaiddate = "", Effectivedate = "", Paidamount = "", BillType = "", BillTaxYearinfo = "", Billreceipt = "", Duedate = "", Basetaxamt = "", Penalty = "", Costs = "", Totaldue = "", Credit = "", Fees = ""; //Tax Information details1 IWebElement TaxTB2 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[2]")); IList <IWebElement> TaxTR2 = TaxTB2.FindElements(By.TagName("div")); IList <IWebElement> TaxTD2; foreach (IWebElement Tax2 in TaxTR2) { if (Tax2.Text.Contains("Property Information")) { Parcelid = gc.Between(Tax2.Text, "Parcel Number", "District").Trim(); } if (Tax2.Text.Contains("Bill Information")) { BillType = gc.Between(Tax2.Text, "Record Type", "Tax Year").Trim(); BillTaxYearinfo = gc.Between(Tax2.Text, "Tax Year", "Receipt").Trim(); Billreceipt = gc.Between(Tax2.Text, "Receipt", "Due Date").Trim(); Duedate = GlobalClass.After(Tax2.Text, "Due Date").Trim(); } } //Tax information details //Owner information and Payment Information IWebElement TaxTB1 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[1]")); IList <IWebElement> TaxTR1 = TaxTB1.FindElements(By.TagName("div")); IList <IWebElement> TaxTD; foreach (IWebElement Tax1 in TaxTR1) { if (Tax1.Text.Contains("Owner Information")) { Taxinfownername1 = GlobalClass.After(Tax1.Text, "Owner Information").Trim(); string[] Taxinfownernamesplit = Taxinfownername1.Split('\r'); TaxOwnerName = Taxinfownernamesplit[0] + " " + Taxinfownernamesplit[2].Trim(); } if (Tax1.Text.Contains("Payment Information")) { PayStatus = gc.Between(Tax1.Text, "Status", "Last Payment Date").Trim(); Paypaiddate = gc.Between(Tax1.Text, "Last Payment Date", "Postmark Date").Trim(); Effectivedate = gc.Between(Tax1.Text, "Postmark Date", "Amount Paid").Trim(); Paidamount = GlobalClass.After(Tax1.Text, "Amount Paid").Trim(); } //} } string Taxinformationdetails2 = TaxOwnerName.Trim() + "~" + PayStatus.Trim() + "~" + Paypaiddate.Trim() + "~" + Effectivedate.Trim() + "~" + Paidamount.Trim() + "~" + BillType.Trim() + "~" + BillTaxYearinfo.Trim() + "~" + Billreceipt.Trim() + "~" + Duedate.Trim(); gc.insert_date(orderNumber, Parcelid, 1545, Taxinformationdetails2, 1, DateTime.Now); gc.CreatePdf(orderNumber, ParcelNumber, "Payment Details Pdf" + BillTaxYearinfo, driver, "SC", "York"); //Property Infor and Bill Infor and Taxes string Basetax = "", Credit1 = "", Fees1 = "", Penalty1 = "", Costs1 = "", Totaldue11 = ""; IWebElement TaxTB3 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[2]/div[3]/table/tbody")); IList <IWebElement> TaxTR3 = TaxTB3.FindElements(By.TagName("tr")); IList <IWebElement> TaxTD3; foreach (IWebElement Tax2 in TaxTR3) { //TaxTR3 = Tax2.FindElements(By.TagName("tr")); TaxTD3 = Tax2.FindElements(By.TagName("td")); if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Base Taxes")) { Basetax = TaxTD3[1].Text.Trim(); } if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Credit")) { Credit1 = TaxTD3[1].Text.Trim(); } if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Fees")) { Fees1 = TaxTD3[1].Text.Trim(); } if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Penalty")) { Penalty1 = TaxTD3[1].Text.Trim(); } if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Costs")) { Costs1 = TaxTD3[1].Text.Trim(); } if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Total Due")) { Totaldue11 = TaxTD3[1].Text.Trim(); } }//Penalty1="", Costs1="",Totaldue11="" //db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Title.Remove(Value.Length - 1, 1) + "' where Id = '" + 1445 + "'"); string Taxinformationdetails = BillTaxYearinfo.Trim() + "~" + Basetax.Trim() + "~" + Credit1.Trim() + "~" + Fees1.Trim() + "~" + Penalty1.Trim() + "~" + Costs1.Trim() + "~" + Totaldue11.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1445, Taxinformationdetails, 1, DateTime.Now); //***Due Date Details** string Ifpaidby = "", Penaltydue = "", Amountdue = ""; IWebElement DueTB = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[3]/div[2]/table")); IList <IWebElement> DueTR = DueTB.FindElements(By.TagName("tr")); IList <IWebElement> DueTH = DueTB.FindElements(By.TagName("th")); IList <IWebElement> DueTD; foreach (IWebElement Due in DueTR) { try { DueTD = Due.FindElements(By.TagName("td")); DueTH = Due.FindElements(By.TagName("th")); if (DueTH.Count != 0) { Penaltydue = DueTH[1].Text; Amountdue = DueTH[2].Text; db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Tax Year~If Paid by~" + Penaltydue + "~" + Amountdue + "' where Id = '" + 1546 + "'"); } if (DueTD.Count != 0) { Ifpaidby = DueTD[0].Text; Penaltydue = DueTD[1].Text; Amountdue = DueTD[2].Text; string Duedatedetails = BillTaxYearinfo + "~" + Ifpaidby + "~" + Penaltydue + "~" + Amountdue; gc.insert_date(orderNumber, Parcelid, 1546, Duedatedetails, 1, DateTime.Now); } } catch { } } //Tax Bill Download try { driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/ul/li[2]/a/div")).Click(); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelNumber, "Tax Bill Details" + BillTaxYearinfo, driver, "SC", "York"); //Thread.Sleep(5000); } catch { } driver.Navigate().Back(); } catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); CitytaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "SC", "York", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "SC", "York"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_StJohnsFL(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; List <string> multiparcel = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=StJohnsCountyFL&Layer=Parcels&PageType=Search"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).SendKeys(Keys.Enter); } catch { } try { if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, address, "FL", "St Johns"); 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_FLStJohns"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "SearchAddressBefore", driver, "FL", "St Johns"); driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); //Multiparcel try { Thread.Sleep(2000); string Owner = "", Address = "", MultiParcelNumber = ""; int Mcount = 0; IWebElement multy = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_gvwParcelResults")); IList <IWebElement> muladdress = multy.FindElements(By.TagName("tr")); IList <IWebElement> mulid; foreach (IWebElement addressrow in muladdress) { mulid = addressrow.FindElements(By.TagName("td")); if (mulid.Count != 0 && !addressrow.Text.Contains("ParcelID")) { if (Mcount <= 25) { MultiParcelNumber = mulid[1].Text; Owner = mulid[2].Text; Address = mulid[3].Text; string MultyInst = Owner + "~" + Address; gc.insert_date(orderNumber, MultiParcelNumber, 740, MultyInst, 1, DateTime.Now); } Mcount++; } } gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "FL", "St Johns"); if (Mcount > 25) { HttpContext.Current.Session["multiParcel_StJohns_Maximum"] = "Maximum"; return("Maximum"); } else { HttpContext.Current.Session["multiparcel_StJohns"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_FLStJohns"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "OwnernamesearchBefore", driver, "FL", "St Johns"); driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(4000); //MULTIPARCEL try { Thread.Sleep(2000); string Owner = "", Address = "", MultiParcelNumber = ""; int Mcount = 0; IWebElement multipar = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> multiowner = multipar.FindElements(By.TagName("tr")); IList <IWebElement> mulid; foreach (IWebElement addressrow in multiowner) { mulid = addressrow.FindElements(By.TagName("td")); if (mulid.Count != 0) { if (Mcount <= 25) { MultiParcelNumber = mulid[1].Text; Owner = mulid[2].Text; Address = mulid[3].Text; string MultyInst = Owner + "~" + Address; gc.insert_date(orderNumber, MultiParcelNumber, 740, MultyInst, 1, DateTime.Now); } Mcount++; } } gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "FL", "St Johns"); if (Mcount > 25) { HttpContext.Current.Session["multiParcel_StJohns"] = "Maximum"; return("Maximum"); } else { HttpContext.Current.Session["multiparcel_StJohns"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_FLStJohns"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf_WOP(orderNumber, "ParcelsearchBefore", driver, "FL", "St Johns"); driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_FLStJohns"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string ParcelID = "", OwnerName = "", PropertyAddress = "", MailingAddress = "", PropertyType = "", District = "", MillageRate = "", Acreage = "", Home1 = "", Homestead = "", YearBuilt = "", LegalDescription = "", Legal1 = ""; string bulktextdata = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl03_mSection']/div/table")).Text.Trim(); ParcelID = gc.Between(bulktextdata, "Parcel ID", "Location Address").Trim(); PropertyAddress = gc.Between(bulktextdata, "Location Address", "Neighborhood").Trim(); Legal1 = gc.Between(bulktextdata, "Tax Description*", "Property Use Code").Trim(); LegalDescription = GlobalClass.Before(Legal1, "*The Description").Replace("\r\n", " ").Trim(); PropertyType = gc.Between(bulktextdata, "Property Use Code", "Subdivision").Trim(); District = gc.Between(bulktextdata, "District", "Millage Rate").Trim(); MillageRate = gc.Between(bulktextdata, "Millage Rate", "Acreage").Trim(); Acreage = gc.Between(bulktextdata, "Acreage", "Homestead").Trim(); Home1 = GlobalClass.After(bulktextdata, "Homestead").Trim(); Homestead = GlobalClass.Before(Home1, "\r\n\r\nView Map").Trim(); string bulktextdata1 = driver.FindElement(By.Id("ctlBodyPane_ctl04_mSection")).Text.Trim(); OwnerName = gc.Between(bulktextdata1, "Owner Name", "Mailing Address").Trim(); MailingAddress = GlobalClass.After(bulktextdata1, "Mailing Address").Replace("\r\n", " ").Trim(); try { IWebElement tbyearbuilt = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl08_mSection']/div/div[1]/div[1]/table")); IList <IWebElement> TRyearbuilt = tbyearbuilt.FindElements(By.TagName("tr")); IList <IWebElement> TDyearbuilt; foreach (IWebElement row in TRyearbuilt) { TDyearbuilt = row.FindElements(By.TagName("td")); if (TDyearbuilt.Count != 0 && row.Text.Contains("Actual Year Built")) { YearBuilt = TDyearbuilt[1].Text; break; } } } catch { } string propertydetails = OwnerName + "~" + PropertyAddress + "~" + MailingAddress + "~" + PropertyType + "~" + District + "~" + MillageRate + "~" + Acreage + "~" + Homestead + "~" + YearBuilt + "~" + LegalDescription; gc.insert_date(orderNumber, ParcelID, 669, propertydetails, 1, DateTime.Now); //Current Year Assessment Details string Year1 = ""; Year1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl05_ctl01_grdValuation']/thead/tr")).Text.Trim(); gc.CreatePdf(orderNumber, ParcelID, "Assessment Details", driver, "FL", "St Johns"); try { string AssessmentTitle = "", AssessmentValue = ""; IWebElement tbcurasses12 = driver.FindElement(By.Id("ctlBodyPane_ctl05_ctl01_grdValuation")); IList <IWebElement> TRcurasses2 = tbcurasses12.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti12; foreach (IWebElement row in TRcurasses2) { TDmulti12 = row.FindElements(By.TagName("td")); if (TDmulti12.Count != 0 && !row.Text.Contains("Year")) { AssessmentTitle += TDmulti12[0].Text + "~"; AssessmentValue += TDmulti12[1].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year" + "~" + AssessmentTitle.Remove(AssessmentTitle.Length - 1, 1) + "' where Id = '" + 703 + "'"); gc.insert_date(orderNumber, ParcelID, 703, Year1 + "~" + AssessmentValue.Remove(AssessmentValue.Length - 1, 1), 1, DateTime.Now); } catch { } //Assessment Details try { string AssessmentYear = "", BuildingValue = "", ExtraFeaturesValue = "", TotalLandValue = "", AgMarketValue = "", AgAssessedValue = "", JustMarketValue = "", AssessedValue = "", TotalExemptions = "", TaxableValue = ""; IWebElement tbmulti12 = driver.FindElement(By.Id("ctlBodyPane_ctl06_ctl01_grdHistory")); IList <IWebElement> TRmulti12 = tbmulti12.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti12; foreach (IWebElement row in TRmulti12) { TDmulti12 = row.FindElements(By.TagName("td")); if (TDmulti12.Count != 0 && !row.Text.Contains("Year")) { AssessmentYear = TDmulti12[0].Text; BuildingValue = TDmulti12[1].Text; ExtraFeaturesValue = TDmulti12[2].Text; TotalLandValue = TDmulti12[3].Text; AgMarketValue = TDmulti12[4].Text; AgAssessedValue = TDmulti12[5].Text; JustMarketValue = TDmulti12[6].Text; AssessedValue = TDmulti12[7].Text; TotalExemptions = TDmulti12[8].Text; TaxableValue = TDmulti12[9].Text; string AssessmentDetails = AssessmentYear.Trim() + "~" + BuildingValue.Trim() + "~" + ExtraFeaturesValue.Trim() + "~" + TotalLandValue.Trim() + "~" + AgMarketValue.Trim() + "~" + AgAssessedValue.Trim() + "~" + JustMarketValue.Trim() + "~" + AssessedValue.Trim() + "~" + TotalExemptions.Trim() + "~" + TaxableValue.Trim(); gc.insert_date(orderNumber, ParcelID, 714, AssessmentDetails, 1, DateTime.Now); } } } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //======Tax Information Details======== driver.Navigate().GoToUrl("http://stjohnstaxcollector.governmax.com/collectmax/homepage.asp?sid=5FAB060742144FB697559EEB012FC40A&agencyid=stjohnstaxcollector"); Thread.Sleep(2000); IWebElement url = driver.FindElement(By.LinkText("Account or Parcel Number")); string Tag = url.GetAttribute("href"); url.Click(); string TaxParcel = ParcelID.Substring(0, 6) + "-" + ParcelID.Substring(6, 4); driver.FindElement(By.XPath("/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")).SendKeys(TaxParcel); gc.CreatePdf(orderNumber, ParcelID, "Enter the Account Number Before", driver, "FL", "St Johns"); 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/input")).SendKeys(Keys.Enter); Thread.Sleep(30000); gc.CreatePdf(orderNumber, ParcelID, "Enter the Account Number After", driver, "FL", "St Johns"); string AccountNumber = "", TaxType = "", TaxYear = "", TaxOwnerName = "", TaxPropertyAddress = "", ExemptionAmount = "", TaxableValue1 = "", ExemptionTypeAndAmount = "", Exemption = "", ExemptionTypeFirst = "", ExemptionTypeSecond = "", ExemptionAmountFirst = "", ExemptionAmountSecond = "", MillageCode = "", PaidDate = "", TransactionType = "", ReceiptNumber = "", Item = "", PaidAmount = "", TaxingAuthority = ""; try { IWebElement tbmulti13 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody")); IList <IWebElement> TRowmulti13 = tbmulti13.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti13; foreach (IWebElement row in TRowmulti13) { TDmulti13 = row.FindElements(By.TagName("td")); if (TDmulti13.Count != 0 && !row.Text.Contains("Account or Parcel Number") && !row.Text.Contains("Mailing Address")) { AccountNumber = TDmulti13[0].Text; TaxType = TDmulti13[1].Text; TaxYear = TDmulti13[2].Text; break; } } } catch { } // TaxOwnerName = driver.FindElement(By.Id("ctlBodyPane_ctl04_mSection")).Text.Trim(); // string bulktext1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[3]/td/table/tbody")).Text.Trim(); // TaxPropertyAddress = GlobalClass.After(bulktext1, "Physical Address").Replace("\r\n", " ").Trim(); Thread.Sleep(5000); try { IWebElement tbmulti14 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody")); IList <IWebElement> TRowmulti14 = tbmulti14.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti14; foreach (IWebElement row in TRowmulti14) { TDmulti14 = row.FindElements(By.TagName("td")); if (TDmulti14.Count != 0 && (Exemption == "Yes")) { ExemptionAmount = TDmulti14[0].Text; TaxableValue1 = TDmulti14[1].Text; break; } if (TDmulti14.Count != 0 && TDmulti14.Count == 2 && !(Exemption == "Yes") && (row.Text.Contains("Mailing Address"))) { string strOwnerName = GlobalClass.After(TDmulti14[0].Text, "Mailing Address \r\n"); strOwnerName = strOwnerName.Replace("\r\n", "~"); string[] Owner = strOwnerName.Split('~'); TaxOwnerName = Owner[0]; TaxPropertyAddress = GlobalClass.After(TDmulti14[1].Text, "Physical Address \r\n"); } if (row.Text.Contains("Exempt Amount") && row.Text.Contains("Taxable Value ")) { Exemption = "Yes"; } } } catch { } try { IWebElement tbmulti15 = 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> TRowmulti15 = tbmulti15.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti15; foreach (IWebElement row in TRowmulti15) { TDmulti15 = row.FindElements(By.TagName("td")); if (TDmulti15.Count != 0) { ExemptionTypeFirst += TDmulti15[0].Text + ","; ExemptionAmountFirst += TDmulti15[1].Text + ","; } } ExemptionTypeFirst = ExemptionTypeFirst.TrimEnd(','); ExemptionAmountFirst = ExemptionAmountFirst.TrimEnd(','); } catch { } ExemptionTypeAndAmount = ExemptionTypeFirst + "-" + ExemptionAmountFirst; try { IWebElement tbmillage1 = 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")); IList <IWebElement> TRowmillage1 = tbmillage1.FindElements(By.TagName("tr")); IList <IWebElement> TDRowmillage1; foreach (IWebElement row in TRowmillage1) { TDRowmillage1 = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Exemption Detail")) { if (row.Text.Contains("NO EXEMPTIONS")) { ExemptionTypeAndAmount = TDRowmillage1[0].Text; MillageCode = TDRowmillage1[1].Text; } } if (TDRowmillage1.Count == 7 && !row.Text.Contains("Exemption")) { MillageCode = TDRowmillage1[5].Text; } if (TDRowmillage1.Count == 5 && !row.Text.Contains("Exemption")) { MillageCode = TDRowmillage1[3].Text; } } } catch { } try { IWebElement tbmulti16 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[5]/tbody")); if (!tbmulti16.Text.Contains("Prior Years Due ") && !tbmulti16.Text.Contains("Prior Year Taxes Due ")) { IList <IWebElement> TRowmulti16 = tbmulti16.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti16; foreach (IWebElement row in TRowmulti16) { TDmulti16 = row.FindElements(By.TagName("td")); if (TDmulti16.Count != 0 && !row.Text.Contains("Date Paid") && !row.Text.Contains("If Paid By ") && !row.Text.Contains("Prior Years Due ")) { PaidDate = TDmulti16[0].Text; TransactionType = TDmulti16[1].Text; ReceiptNumber = TDmulti16[2].Text; Item = TDmulti16[3].Text; PaidAmount = TDmulti16[4].Text; break; } } } } catch { } string ifpaidby = "", amountdue = ""; try { IWebElement tbifpaid = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[4]/tbody/tr/td/table/tbody")); if (!tbifpaid.Text.Contains("Year ")) { IList <IWebElement> TRowifpaid = tbifpaid.FindElements(By.TagName("tr")); IList <IWebElement> TDifpaid; foreach (IWebElement row in TRowifpaid) { TDifpaid = row.FindElements(By.TagName("td")); if (TDifpaid.Count != 0 && !row.Text.Contains("If Paid By ") && !row.Text.Contains("Amount Due ")) { ifpaidby = TDifpaid[0].Text; amountdue = TDifpaid[1].Text; break; } } } } catch { } string bulktext = driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr/td[2]")).Text.Trim(); TaxingAuthority = GlobalClass.After(bulktext, "Hollingsworth").Replace("\r\n", " ").Trim(); string TaxInformationDetails = AccountNumber.Trim() + "~" + TaxType.Trim() + "~" + TaxYear.Trim() + "~" + TaxOwnerName.Trim() + "~" + TaxPropertyAddress.Trim() + "~" + ExemptionAmount.Trim() + "~" + TaxableValue1.Trim() + "~" + ExemptionTypeAndAmount.Trim() + "~" + MillageCode.Trim() + "~" + PaidDate.Trim() + "~" + TransactionType.Trim() + "~" + ReceiptNumber.Trim() + "~" + Item.Trim() + "~" + PaidAmount.Trim() + "~" + TaxingAuthority.Trim() + "~" + ifpaidby.Trim() + "~" + amountdue.Trim(); gc.insert_date(orderNumber, ParcelID, 777, TaxInformationDetails, 1, DateTime.Now); //Tax Distribution Table: string TAuthority = "", TRate = "", TDistributionAssessedValue = "", TDistributionExemptionAmount = "", TDistributionTaxableValue = "", TDistributionLevied = ""; try { IWebElement tbmulti17 = 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]")); IList <IWebElement> TRowmulti17 = tbmulti17.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti17; foreach (IWebElement row in TRowmulti17) { TDmulti17 = row.FindElements(By.TagName("td")); if (TDmulti17.Count != 0 && TDmulti17.Count == 6 && !row.Text.Contains("Taxing Authority")) { TAuthority = TDmulti17[0].Text; TRate = TDmulti17[1].Text; TDistributionAssessedValue = TDmulti17[2].Text; TDistributionExemptionAmount = TDmulti17[3].Text; TDistributionTaxableValue = TDmulti17[4].Text; TDistributionLevied = TDmulti17[5].Text; string TaxDistributionTable1 = TAuthority.Trim() + "~" + "" + "~" + "Ad Valorem Taxes" + "~" + TRate.Trim() + "~" + TDistributionAssessedValue.Trim() + "~" + TDistributionExemptionAmount.Trim() + "~" + TDistributionTaxableValue.Trim() + "~" + TDistributionLevied.Trim(); gc.insert_date(orderNumber, ParcelID, 729, TaxDistributionTable1, 1, DateTime.Now); } if (TDmulti17.Count == 2) { TAuthority = ""; TRate = ""; TDistributionAssessedValue = ""; TDistributionExemptionAmount = ""; TDistributionTaxableValue = ""; TDistributionLevied = ""; TAuthority = TDmulti17[0].Text; TRate = TDmulti17[1].Text; string TaxDistributionDetails = TAuthority.Trim() + "~" + "" + "~" + "Ad Valorem Taxes" + "~" + TRate.Trim() + "~" + TDistributionAssessedValue.Trim() + "~" + TDistributionExemptionAmount.Trim() + "~" + TDistributionTaxableValue.Trim() + "~" + TDistributionLevied.Trim(); gc.insert_date(orderNumber, ParcelID, 729, TaxDistributionDetails, 1, DateTime.Now); } } } catch { } string TotalMillage = "", TotalTaxes = ""; try { IWebElement tbmulti18 = 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")); IList <IWebElement> TRowmulti18 = tbmulti18.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti18; foreach (IWebElement row in TRowmulti18) { TDmulti18 = row.FindElements(By.TagName("td")); if (TDmulti18.Count != 0) { TotalMillage = TDmulti18[1].Text; TotalTaxes = TDmulti18[3].Text; string TaxDistributionTable1 = "TOTAL" + "~" + "" + "~" + "Ad Valorem Taxes" + "~" + TotalMillage.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + TotalTaxes.Trim(); gc.insert_date(orderNumber, ParcelID, 729, TaxDistributionTable1, 1, DateTime.Now); break; } } } catch { } string Code = "", LevyingAuthority = "", Amount = ""; try { IWebElement tbmulti19 = 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> TRowmulti19 = tbmulti19.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti19; foreach (IWebElement row in TRowmulti19) { TDmulti19 = row.FindElements(By.TagName("td")); if (TDmulti19.Count != 0 && TDmulti19.Count == 3 && !row.Text.Contains("Code")) { Code = TDmulti19[0].Text; LevyingAuthority = TDmulti19[1].Text; Amount = TDmulti19[2].Text; string TaxDistributionTable3 = LevyingAuthority.Trim() + "~" + Code.Trim() + "~" + "Non-Ad Valorem Taxes" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + Amount.Trim(); gc.insert_date(orderNumber, ParcelID, 729, TaxDistributionTable3, 1, DateTime.Now); } } } catch { } string TotalAssessments = ""; try { IWebElement tbmulti20 = 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]")); IList <IWebElement> TRowmulti20 = tbmulti20.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti20; foreach (IWebElement row in TRowmulti20) { TDmulti20 = row.FindElements(By.TagName("td")); if (TDmulti20.Count != 0) { TotalAssessments = TDmulti20[1].Text; string TaxDistributionTable3 = "Total Assessments" + "~" + "" + "~" + "Non-Ad Valorem Taxes" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TotalAssessments.Trim(); gc.insert_date(orderNumber, ParcelID, 729, TaxDistributionTable3, 1, DateTime.Now); break; } } } catch { } string TaxesAndAssessments = ""; try { IWebElement tbmulti21 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[3]/tbody/tr[11]/td/table")); IList <IWebElement> TRowmulti21 = tbmulti21.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti21; foreach (IWebElement row in TRowmulti21) { TDmulti21 = row.FindElements(By.TagName("td")); if (TDmulti21.Count != 0) { TaxesAndAssessments = TDmulti21[3].Text; string TaxDistributionTable4 = "Taxes And Assessments" + "~" + "" + "~" + "Non-Ad Valorem Taxes" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TaxesAndAssessments.Trim(); gc.insert_date(orderNumber, ParcelID, 729, TaxDistributionTable4, 1, DateTime.Now); break; } } } catch { } //Delinquent Details string strTaxYear = "", strTaxFolio = "", strStatus = "", strTaxCertificateYear = "", strTaxCertificateNo = "", strTaxAmount = ""; try { IWebElement tbmulti23 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[4]/tbody/tr[2]/td/table[1]")); IList <IWebElement> TRowmulti23 = tbmulti23.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti23; foreach (IWebElement row in TRowmulti23) { TDmulti23 = row.FindElements(By.TagName("td")); if (TDmulti23.Count != 0 && !row.Text.Contains("Year ") && TDmulti23.Count == 7) { strTaxYear = TDmulti23[0].Text; strTaxFolio = TDmulti23[1].Text; strStatus = TDmulti23[2].Text; strTaxCertificateNo = TDmulti23[3].Text; strTaxCertificateYear = TDmulti23[4].Text; strTaxAmount = TDmulti23[5].Text; string UnpaidDetails = strTaxYear + "~" + strTaxFolio + "~" + strStatus + "~" + strTaxCertificateNo + "~" + strTaxCertificateYear + "~" + strTaxAmount; gc.insert_date(orderNumber, ParcelID, 742, UnpaidDetails, 1, DateTime.Now); } } } catch { } string strPriorYearTotal = ""; try { IWebElement tbmulti24 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[4]/tbody/tr[2]/td/table[3]/tbody")); IList <IWebElement> TRowmulti24 = tbmulti24.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti24; foreach (IWebElement row in TRowmulti24) { TDmulti24 = row.FindElements(By.TagName("td")); if (TDmulti24.Count != 0 && TDmulti24.Count == 2) { strTaxYear = TDmulti24[0].Text; strPriorYearTotal = TDmulti24[1].Text; string UnpaidDetails1 = "Prior Years Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + strPriorYearTotal; gc.insert_date(orderNumber, ParcelID, 742, UnpaidDetails1, 1, DateTime.Now); } } } catch { } string strIfpaidBy = "", PriorYearsDue = ""; try { IWebElement tbmulti25 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[5]/tbody")); if (!tbmulti25.Text.Contains("Prior Year Taxes Due ") && !tbmulti25.Text.Contains(" NO DELINQUENT TAXES ")) { IList <IWebElement> TRowmulti25 = tbmulti25.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti25; foreach (IWebElement row in TRowmulti25) { TDmulti25 = row.FindElements(By.TagName("td")); if (TDmulti25.Count != 0 && TDmulti25.Count == 2 && !row.Text.Contains("If Paid By ")) { strIfpaidBy = TDmulti25[0].Text; PriorYearsDue = TDmulti25[1].Text; string UnpaidDetails2 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + strIfpaidBy + "~" + PriorYearsDue; gc.insert_date(orderNumber, ParcelID, 742, UnpaidDetails2, 1, DateTime.Now); } } } } catch { } //Tax History Details driver.FindElement(By.LinkText(" Payment History")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelID, "PaymentHistoryView", driver, "FL", "St Johns"); int YearCount = 0; try { IWebElement IYear = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody")); IList <IWebElement> IYearRow = IYear.FindElements(By.TagName("tr")); IList <IWebElement> IYearTd; IList <IWebElement> IYearWise; foreach (IWebElement year in IYearRow) { IYearTd = year.FindElements(By.TagName("table")); if (IYearTd.Count != 0) { YearCount = IYearTd.Count; } } } catch { } for (int i = 3; i <= YearCount; i++) { try { string Year = "", Folio = "", THPaidDate = "", Receipt = "", BilledAmount = "", THPaidAmount = "", THOwnerName = "", PaidBy = "", Status = ""; IWebElement tbmulti22 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table[" + i + "]/tbody")); IList <IWebElement> TRowmulti22 = tbmulti22.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti22; foreach (IWebElement row in TRowmulti22) { TDmulti22 = row.FindElements(By.TagName("td")); if (TDmulti22.Count != 0 && TDmulti22.Count == 6 && !row.Text.Contains("Payment History") && !row.Text.Contains("Year")) { Year = TDmulti22[0].Text; Folio = TDmulti22[1].Text; THPaidDate = TDmulti22[2].Text; Receipt = TDmulti22[3].Text; BilledAmount = TDmulti22[4].Text; THPaidAmount = TDmulti22[5].Text; } if (TDmulti22.Count == 2 && row.Text.Contains("Owner Name")) { THOwnerName = TDmulti22[1].Text; } if (TDmulti22.Count == 2 && TDmulti22.Count < 6 && row.Text.Contains("Paid By") && (THOwnerName != "" && Year != "")) { PaidBy = TDmulti22[1].Text; string TaxHistorytable1 = Year.Trim() + "~" + Folio.Trim() + "~" + THPaidDate.Trim() + "~" + Receipt.Trim() + "~" + BilledAmount.Trim() + "~" + THPaidAmount.Trim() + "~" + THOwnerName.Trim() + "~" + PaidBy.Trim(); gc.insert_date(orderNumber, ParcelID, 736, TaxHistorytable1, 1, DateTime.Now); } else if (TDmulti22.Count == 2 && TRowmulti22.Count == 3 && !row.Text.Contains("Paid By")) { string TaxHistorytable1 = Year.Trim() + "~" + Folio.Trim() + "~" + THPaidDate.Trim() + "~" + Receipt.Trim() + "~" + BilledAmount.Trim() + "~" + THPaidAmount.Trim() + "~" + THOwnerName.Trim() + "~" + PaidBy.Trim(); gc.insert_date(orderNumber, ParcelID, 736, TaxHistorytable1, 1, DateTime.Now); } } } catch { } } try { string taxurl = 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")).GetAttribute("href"); driver.Navigate().GoToUrl(taxurl); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelID, "TaxBillPdf", driver, "FL", "St Johns"); } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "FL", "St Johns"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "St Johns", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_DouglasNV(string houseno, string Direction, string sname, string stype, string account, string parcelNumber, string ownername, 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 lastName = "", firstName = "", Pinnumber = "", PropertyAdd = "", Strownername = "", Pin = "", address = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { // using (driver = new ChromeDriver()) try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://assessor-search.douglasnv.us:1401/cgi-bin/asw100"); Thread.Sleep(4000); if (searchType == "titleflex") { if (Direction != "") { address = houseno + " " + Direction + " " + sname + " " + stype + " " + account; address = address.Trim(); } if (Direction == "") { address = houseno + " " + sname + " " + stype + " " + account; address = address.Trim(); } string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "NV", "Douglas"); 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["Zero_DouglasNV"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { if (Direction != "" && stype != "") { address = houseno + " " + Direction + " " + sname + " " + stype + " " + account; } if (Direction != "" && stype == "") { address = houseno + " " + Direction + " " + sname + " " + account; } if (Direction == "" && stype != "") { address = houseno + " " + sname + " " + stype + " " + account; } if (Direction == "" && stype == "") { address = houseno + " " + sname + " " + account; } driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[7]/td[4]/div/input")).SendKeys(address.Trim()); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "NV", "Douglas"); driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "NV", "Douglas"); try { int Max = 0; string strowner = "", strAddress = "", strCity = ""; string Record = ""; IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multi.Text.Contains(address.ToUpper()) && multiTD.Count != 0 && multi.Text.Trim() != "" && !multi.Text.Contains("Search Results") && !multi.Text.Contains("Property Location")) { Strownername = multiTD[1].Text; parcelNumber = multiTD[0].Text.Trim(); PropertyAdd = multiTD[2].Text + " " + multiTD[3].Text; string multidetails = Strownername + "~" + PropertyAdd; gc.insert_date(orderNumber, parcelNumber, 1757, multidetails, 1, DateTime.Now); Max++; } if (multiTD.Count != 0 && multiRow.Count > 25 && Max >= 25) { HttpContext.Current.Session["multiparcel_DouglasNV_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (Max > 1 && Max < 25) { HttpContext.Current.Session["multiparcel_DouglasNV"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 1) { IWebElement multiaddress1 = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> multiRow1 = multiaddress1.FindElements(By.TagName("tr")); IList <IWebElement> multiTD1; foreach (IWebElement multi in multiRow1) { multiTD1 = multi.FindElements(By.TagName("td")); if (multi.Text.Contains(address.ToUpper()) && multiTD1.Count != 0 && multi.Text.Trim() != "" && !multi.Text.Contains("Search Results") && !multi.Text.Contains("Property Location")) { Strownername = multiTD1[1].Text; parcelNumber = multiTD1[0].Text.Trim(); PropertyAdd = multiTD1[2].Text + " " + multiTD1[3].Text; string nparcel = parcelNumber.Replace("-", ""); string url = "http://assessor-search.douglasnv.us:1401/cgi-bin/asw101?Parcel=" + nparcel + "&aori=a"; driver.Navigate().GoToUrl(url); Thread.Sleep(4000); break; } } } if (Max == 0) { HttpContext.Current.Session["Zero_DouglasNV"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "parcel") { parcelNumber = parcelNumber.Replace("-", ""); driver.FindElement(By.XPath("//*[@id='asw100parcels']/input[1]")).SendKeys(parcelNumber); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "NV", "Douglas"); try { driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Result", driver, "NV", "Douglas"); } catch { } try { driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody/tr[3]/td[1]/div/a")).Click(); Thread.Sleep(4000); } catch { } try { int Max = 0; string strowner = "", strAddress = "", strCity = ""; string Record = ""; IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multi.Text.Contains(address.ToUpper()) && multiTD.Count != 0 && multi.Text.Trim() != "" && !multi.Text.Contains("Search Results") && !multi.Text.Contains("Property Location") && multi.Text.Contains("No results found")) { HttpContext.Current.Session["Zero_DouglasNV"] = "Zero"; driver.Quit(); return("No Data Found"); } } } catch { } } if (searchType == "ownername") { driver.FindElement(By.XPath("//*[@id='asw100name']/input")).SendKeys(ownername); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "OwnerName search", driver, "NV", "Douglas"); driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click(); Thread.Sleep(4000); try { int Max = 0; string strowner = "", strAddress = "", strCity = ""; string Record = ""; IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multi.Text.Contains(address.ToUpper()) && multiTD.Count != 0 && multi.Text.Trim() != "" && !multi.Text.Contains("Search Results") && !multi.Text.Contains("Property Location")) { Strownername = multiTD[1].Text; parcelNumber = multiTD[0].Text.Trim(); PropertyAdd = multiTD[2].Text + " " + multiTD[3].Text; string multidetails = Strownername + "~" + PropertyAdd; gc.insert_date(orderNumber, parcelNumber, 1757, multidetails, 1, DateTime.Now); Max++; } if (multiTD.Count != 0 && multiRow.Count > 25 && Max >= 25) { HttpContext.Current.Session["multiparcel_DouglasNV_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (Max > 1 && Max < 25) { HttpContext.Current.Session["multiparcel_DouglasNV"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 1) { IWebElement multiaddress1 = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> multiRow1 = multiaddress1.FindElements(By.TagName("tr")); IList <IWebElement> multiTD1; foreach (IWebElement multi in multiRow1) { multiTD1 = multi.FindElements(By.TagName("td")); if (multi.Text.Contains(address.ToUpper()) && multiTD1.Count != 0 && multi.Text.Trim() != "" && !multi.Text.Contains("Search Results") && !multi.Text.Contains("Property Location")) { Strownername = multiTD1[1].Text; parcelNumber = multiTD1[0].Text.Trim(); PropertyAdd = multiTD1[2].Text + " " + multiTD1[3].Text; string nparcel = parcelNumber.Replace("-", ""); string url = "http://assessor-search.douglasnv.us:1401/cgi-bin/asw101?Parcel=" + nparcel + "&aori=a"; driver.Navigate().GoToUrl(url); Thread.Sleep(4000); break; } } } if (Max == 0) { HttpContext.Current.Session["Zero_DouglasNV"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } //property details string MailingAddress = "", Town = "", District = "", AssessedOwnerName = ""; string LegalOwnerName = "", PropertyAddress = "", Acres = "", YearBuilt = ""; parcelNumber = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[1]/td/div")).Text.Replace("Parcel Detail for Parcel #", "").Trim(); PropertyAddress = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[1]/table/tbody/tr[2]/td[2]/div")).Text; Town = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[1]/table/tbody/tr[3]/td[2]/div")).Text; District = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[1]/table/tbody/tr[4]/td[2]/div")).Text; AssessedOwnerName = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[2]/table/tbody/tr[2]/td[2]/div")).Text; LegalOwnerName = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[2]/table/tbody/tr[4]/td[2]/div")).Text; MailingAddress = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[2]/table/tbody/tr[3]/td[2]/div")).Text; try { YearBuilt = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[4]/td[2]/table/tbody/tr[9]/td[2]/div")).Text; } catch { } //try //{ // if (YearBuilt == "") // { // YearBuilt = driver.FindElement(By.XPath("/html/body/table[15]/tbody/tr[2]/td[1]/p")).Text; // } //} //catch { } string propertydetails = PropertyAddress + "~" + Town + "~" + District + "~" + AssessedOwnerName + "~" + MailingAddress + "~" + LegalOwnerName + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 1765, propertydetails, 1, DateTime.Now); gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "NV", "Douglas"); // Assessment Details - (Assessed Valuation) try { string Assyear = "", Assyear1 = "", Assyear2 = "", Assesstype = ""; IWebElement Assessmentdetails = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[5]/td[1]/table/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 (!row.Text.Contains("Assessed Valuation") && row.Text.Trim() != "") { if (TDAssessmentdetails.Count != 0 && !row.Text.Contains("Increased (New) Values")) { Assesstype += TDAssessmentdetails[0].Text.Replace("Values", "Year") + "~"; Assyear += TDAssessmentdetails[1].Text + "~"; Assyear1 += TDAssessmentdetails[2].Text + "~"; Assyear2 += TDAssessmentdetails[3].Text + "~"; } if (TDAssessmentdetails.Count != 0 && row.Text.Contains("Increased (New) Values")) { break; } } } DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Assesstype.Remove(Assesstype.Length - 1, 1) + "' where Id = '" + 1766 + "'"); gc.insert_date(orderNumber, parcelNumber, 1766, Assyear.Remove(Assyear.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1766, Assyear1.Remove(Assyear1.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1766, Assyear2.Remove(Assyear2.Length - 1, 1), 1, DateTime.Now); } catch { } // Assessment details - (Taxable Valuation) try { string taxyear = "", taxyear1 = "", taxyear2 = "", valuetype = ""; IWebElement Assessmentdetails = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[5]/td[2]/table/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 (!row.Text.Contains("Taxable Valuation") && row.Text.Trim() != "") { if (TDAssessmentdetails.Count != 0 && !row.Text.Contains("Increased (New) Values")) { valuetype += TDAssessmentdetails[0].Text.Replace("Values", "Year") + "~"; taxyear += TDAssessmentdetails[1].Text + "~"; taxyear1 += TDAssessmentdetails[2].Text + "~"; taxyear2 += TDAssessmentdetails[3].Text + "~"; } if (TDAssessmentdetails.Count != 0 && row.Text.Contains("Increased (New) Values")) { break; } } } DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + valuetype.Remove(valuetype.Length - 1, 1) + "' where Id = '" + 1767 + "'"); gc.insert_date(orderNumber, parcelNumber, 1767, taxyear.Remove(taxyear.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1767, taxyear1.Remove(taxyear1.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1767, taxyear2.Remove(taxyear2.Length - 1, 1), 1, DateTime.Now); } catch { } // Tax Information Details string taxAuth = "", taxauth1 = "", taxauth2 = "", taxauth3 = ""; try { driver.Navigate().GoToUrl("https://cltr.douglasnv.us/"); Thread.Sleep(5000); taxauth1 = driver.FindElement(By.XPath("//*[@id='text-16']/div/h4")).Text; taxauth2 = driver.FindElement(By.XPath("//*[@id='text-16']/div/div/p[1]")).Text.Replace("MINDEN:", "").Trim(); taxauth3 = driver.FindElement(By.XPath("//*[@id='text-16']/div/div/p[3]")).Text.Replace("Treasurer:", "").Replace("(map)", "").Trim(); taxAuth = taxauth1 + " " + taxauth2 + " " + taxauth3; gc.CreatePdf(orderNumber, parcelNumber, "Taxing Authority", driver, "NV", "Douglas"); } catch { } driver.Navigate().GoToUrl("https://cltr.douglasnv.us/online-payments/property-taxes/"); Thread.Sleep(5000); var Select1 = driver.FindElement(By.XPath("//*[@id='filterBy']")); var selectElement11 = new SelectElement(Select1); selectElement11.SelectByText("Parcel Number"); driver.FindElement(By.XPath("//*[@id='searchFor']")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search", driver, "NV", "Douglas"); driver.FindElement(By.Id("buttonSearch")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search Result", driver, "NV", "Douglas"); driver.FindElement(By.XPath("//*[@id='content']/div/div[2]/div/table/tbody/tr/td[4]/input")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Current Tax Details", driver, "NV", "Douglas"); string strownerName = "", PropAddress = "", Taxyear = "", AccountBalance = ""; strownerName = driver.FindElement(By.XPath("//*[@id='content']/div/div[3]/div[2]/strong")).Text; PropAddress = driver.FindElement(By.XPath("//*[@id='content']/div/div[4]/div[2]/strong")).Text; Taxyear = driver.FindElement(By.XPath("//*[@id='content']/div/div[2]/div/h4")).Text.Replace("Tax Summary for", "").Trim(); AccountBalance = driver.FindElement(By.XPath("//*[@id='content']/div/div[3]/div[3]/strong")).Text; try { string TaxInfodetails = strownerName + "~" + PropAddress + "~" + Taxyear + "~" + AccountBalance + "~" + taxAuth; gc.insert_date(orderNumber, parcelNumber, 1770, TaxInfodetails, 1, DateTime.Now); } catch { } // Current tax Year Details try { IWebElement CurrentTax = driver.FindElement(By.XPath("//*[@id='content']/div")); IList <IWebElement> TRCurrentTax = CurrentTax.FindElements(By.TagName("div")); IList <IWebElement> THCurrentTax = CurrentTax.FindElements(By.TagName("div")); IList <IWebElement> TDCurrentTax; foreach (IWebElement row in TRCurrentTax) { TDCurrentTax = row.FindElements(By.TagName("div")); if (TDCurrentTax.Count != 0 && !row.Text.Contains("Disposition") && row.Text.Trim() != "" && TDCurrentTax.Count == 6) { string CurrentTaxdetails = TDCurrentTax[0].Text + "~" + TDCurrentTax[1].Text + "~" + TDCurrentTax[2].Text + "~" + TDCurrentTax[3].Text + "~" + TDCurrentTax[4].Text; gc.insert_date(orderNumber, parcelNumber, 1771, CurrentTaxdetails, 1, DateTime.Now); } if (row.Text.Contains("Penalty") && row.Text.Trim() != "" && TDCurrentTax.Count == 3) { string CurrentTaxdetails = "" + "~" + TDCurrentTax[0].Text + "~" + TDCurrentTax[1].Text + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcelNumber, 1771, CurrentTaxdetails, 1, DateTime.Now); } } } catch { } try { driver.FindElement(By.Id("buttonHistory")).Click(); Thread.Sleep(6000); gc.CreatePdf(orderNumber, parcelNumber, "Payment History", driver, "NV", "Douglas"); } catch { } // Tax Payment History Details try { IWebElement TaxPayment = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/div/div/table/tbody")); IList <IWebElement> TRTaxPayment = TaxPayment.FindElements(By.TagName("tr")); IList <IWebElement> THTaxPayment = TaxPayment.FindElements(By.TagName("th")); IList <IWebElement> TDTaxPayment; foreach (IWebElement row in TRTaxPayment) { TDTaxPayment = row.FindElements(By.TagName("td")); if (TDTaxPayment.Count != 0 && !row.Text.Contains("PENALTY") && row.Text.Trim() != "") { string TaxPaymentdetails = TDTaxPayment[0].Text + "~" + TDTaxPayment[1].Text + "~" + TDTaxPayment[2].Text + "~" + TDTaxPayment[3].Text; gc.insert_date(orderNumber, parcelNumber, 1772, TaxPaymentdetails, 1, DateTime.Now); } } } catch { } try { driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[3]/button")).Click(); Thread.Sleep(4000); } catch { } // AMG Details try { driver.Navigate().GoToUrl("https://amgnv.com/parcelsearch_non_pop1.asp"); Thread.Sleep(5000); string strparcel = parcelNumber.Replace("-", ""); driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/table[2]/tbody/tr/td/table/tbody/tr[2]/td[1]/form/center/b/input")).SendKeys(strparcel); gc.CreatePdf(orderNumber, parcelNumber, "AMG Details Search", driver, "NV", "Douglas"); driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/table[2]/tbody/tr/td/table/tbody/tr[2]/td[1]/form/center/b/font/font/input")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "AMG Details Search Result", driver, "NV", "Douglas"); } catch { } string AmgBigdata = ""; try { AmgBigdata = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/table[2]/tbody/tr/td/b/font")).Text; } catch { } if (!AmgBigdata.Contains("No Records were found in the database")) { try { driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/font[1]/table/tbody/tr[2]/td[4]/div/font/a")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "AMG Details Info", driver, "NV", "Douglas"); } catch { } string District_AMG_ID = "", OwnerName = "", status = "", Unbilled_Principal = "", ProAdd = "", LegalDesc = "", OriginalAssess = ""; string PayOff = "", MailingDate = "", DueDate = "", FinalPayment = "", Checks_payable = ""; District_AMG_ID = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[3]/tbody/tr[3]/td[2]/center/font")).Text; OwnerName = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[3]/tbody/tr[3]/td[3]/font")).Text; status = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[3]/tbody/tr[3]/td[4]")).Text; Unbilled_Principal = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[3]/tbody/tr[3]/td[5]/div/font")).Text; ProAdd = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[4]/tbody/tr[2]/td[1]/font")).Text; LegalDesc = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[4]/tbody/tr[3]/td/font")).Text.Trim(); OriginalAssess = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[4]/tbody/tr[2]/td[2]/center/font")).Text; PayOff = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[4]/tbody/tr[2]/td[3]/center/font/a")).Text; MailingDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[8]/tbody/tr[1]/td[1]/font")).Text.Replace("Mailing Date:", "").Trim(); DueDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[8]/tbody/tr[2]/td[1]/font")).Text.Replace("Due Dates:", "").Trim(); FinalPayment = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[8]/tbody/tr[3]/td/font")).Text.Replace(":", "").Trim(); Checks_payable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[8]/tbody/tr[2]/td[2]/table/tbody/tr/td[2]/font")).Text.Trim(); string AMGdetails = District_AMG_ID + "~" + OwnerName + "~" + status + "~" + Unbilled_Principal + "~" + ProAdd + "~" + LegalDesc + "~" + OriginalAssess + "~" + PayOff + "~" + MailingDate + "~" + DueDate + "~" + FinalPayment + "~" + Checks_payable; gc.insert_date(orderNumber, parcelNumber, 1773, AMGdetails, 1, DateTime.Now); // AMG Due Details try { IWebElement AMGDueDetails = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[6]/tbody")); IList <IWebElement> TRAMGDueDetails = AMGDueDetails.FindElements(By.TagName("tr")); IList <IWebElement> THAMGDueDetails = AMGDueDetails.FindElements(By.TagName("th")); IList <IWebElement> TDAMGDueDetails; foreach (IWebElement row in TRAMGDueDetails) { TDAMGDueDetails = row.FindElements(By.TagName("td")); if (TDAMGDueDetails.Count != 0 && !row.Text.Contains("Total Due") && row.Text.Trim() != "" && TDAMGDueDetails.Count == 6) { string AMGDuedetails = TDAMGDueDetails[0].Text + "~" + TDAMGDueDetails[1].Text + "~" + TDAMGDueDetails[2].Text + "~" + TDAMGDueDetails[3].Text + "~" + TDAMGDueDetails[4].Text + "~" + TDAMGDueDetails[5].Text; gc.insert_date(orderNumber, parcelNumber, 1774, AMGDuedetails, 1, DateTime.Now); } } } catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NV", "Douglas", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "NV", "Douglas"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_ThurstonWA(string streetNo, string streetName, string direction, string streetType, string unitNumber, 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 Taxing_Authority = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new PhantomJSDriver(); //driver = new ChromeDriver(); string address = ""; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://tcproperty.co.thurston.wa.us/propsql/front.asp"); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/div[2]/form/input[2]")).Click(); StartTime = DateTime.Now.ToString("HH:mm:ss"); if (direction != "") { address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + unitNumber; } else { address = streetNo + " " + streetName + " " + streetType + " " + unitNumber; } if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownerName, address.Trim(), "WA", "Thurston"); 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_ThurstonWA"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[3]/td[2]/input")).SendKeys(streetNo); driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[4]/td[2]/input")).SendKeys(streetName); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address Search Input", driver, "WA", "Thurston"); driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[3]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "WA", "Thurston"); //Multiparcel try { int owner = 0; IWebElement Imultitable = driver.FindElement(By.XPath("/html/body/div/table[2]/tbody")); IList <IWebElement> ImutiRow = Imultitable.FindElements(By.TagName("tr")); IList <IWebElement> ImultiTD; foreach (IWebElement multi in ImutiRow) { ImultiTD = multi.FindElements(By.TagName("td")); if (ImultiTD.Count != 0 && multi.Text.Contains("Owner")) { string[] ownernamesplit = ImultiTD[4].Text.Split(' '); string parcelnumber = ownernamesplit[0].Trim(); string strmultiDetails = ImultiTD[0].Text + "~" + ImultiTD[2].Text; gc.insert_date(orderNumber, parcelnumber, 1578, strmultiDetails, 1, DateTime.Now); owner++; } } if (owner == 1) { driver.FindElement(By.XPath("/html/body/div/table[2]/tbody/tr[2]/td[5]/a[1]")).Click(); Thread.Sleep(2000); } if (owner > 2 && owner < 25) { HttpContext.Current.Session["multiParcel_ThurstonWA"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (owner > 25) { HttpContext.Current.Session["multiParcel_ThurstonWA_Maximum"] = "Maximum"; return("Maximum"); } } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Basic", driver, "WA", "Thurston"); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/div/table[2]/tbody/tr[1]/td")).Text; if (nodata.Contains("No records match your search criteria.")) { HttpContext.Current.Session["Nodata_ThurstonWA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]/input")).SendKeys(parcelNumber); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Input", driver, "WA", "Thurston"); driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[3]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]/input")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search result", driver, "WA", "Thurston"); } string Lastname = "", Firstname = ""; if (searchType == "ownername") { string[] ownernamesplit = ownerName.Split(' '); try { Lastname = ownernamesplit[0]; Firstname = ownernamesplit[1]; } catch { } driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[1]/td[2]/input")).SendKeys(Lastname); driver.FindElement(By.Id("ffname")).SendKeys(Firstname); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Ownername Search Input", driver, "WA", "Thurston"); driver.FindElement(By.XPath("/html/body/div/form/table/tbody/tr/td/table[3]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Ownername Search result", driver, "WA", "Thurston"); //Multiparcel try { int owner = 0; IWebElement Imultitable = driver.FindElement(By.XPath("/html/body/div/table[2]/tbody")); IList <IWebElement> ImutiRow = Imultitable.FindElements(By.TagName("tr")); IList <IWebElement> ImultiTD; foreach (IWebElement multi in ImutiRow) { ImultiTD = multi.FindElements(By.TagName("td")); if (ImultiTD.Count != 0 && multi.Text.Contains("Owner")) { string[] ownernamesplit1 = ImultiTD[4].Text.Split(' '); string parcelnumber = ownernamesplit1[0].Trim(); string strmultiDetails = ImultiTD[0].Text + "~" + ImultiTD[2].Text; gc.insert_date(orderNumber, parcelnumber, 1578, strmultiDetails, 1, DateTime.Now); owner++; } } if (owner == 1) { driver.FindElement(By.XPath("/html/body/div/table[2]/tbody/tr[2]/td[5]/a[1]")).Click(); Thread.Sleep(2000); } if (owner > 2 && owner < 25) { HttpContext.Current.Session["multiParcel_ThurstonWA"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (owner > 25) { HttpContext.Current.Session["multiParcel_ThurstonWA_Maximum"] = "Maximum"; return("Maximum"); } } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Basic", driver, "WA", "Thurston"); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/div/table[2]/tbody/tr[1]/td")).Text; if (nodata.Contains("No records match your search criteria.")) { HttpContext.Current.Session["Nodata_ThurstonWA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details //Basic Info string TaxAuthority = ""; try { driver.FindElement(By.XPath("/html/body/div/table[2]/tbody/tr[2]/td[5]/a[1]")).Click(); Thread.Sleep(2000); } catch { } int ownerinfo = 0; string Parcelnumber = "", Role = "", Pct = "", Name = "", Name1 = "", Name2 = "", Street = "", City = "", State = "", Zip = "", SitusAddress = "", AbbreviatedLegal = "", SectTownRange = "", Size = "", UseCode = "", TCANumber = "", Taxable = "", Neighborhood = "", PropertyType = "", YearBuilt = "", LotAcreage = ""; Parcelnumber = driver.FindElement(By.XPath("/html/body/div[1]/table[1]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td/b")).Text.Replace("Property:", ""); //Structures gc.CreatePdf(orderNumber, Parcelnumber, "BasicBasic", driver, "WA", "Thurston"); IWebElement IPropertyDetails = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> IPropertyRow = IPropertyDetails.FindElements(By.TagName("tr")); IList <IWebElement> IPropertyTD; foreach (IWebElement Propertydet in IPropertyRow) { IPropertyTD = Propertydet.FindElements(By.TagName("td")); if (IPropertyTD.Count != 0 && IPropertyTD.Count == 3 && Propertydet.Text.Contains("Owner")) { Role = IPropertyTD[0].Text; Pct = IPropertyTD[1].Text; Name1 = IPropertyTD[2].Text; } if (IPropertyTD.Count != 0 && IPropertyTD.Count == 6) { Street = IPropertyTD[1].Text; City = IPropertyTD[2].Text; State = IPropertyTD[3].Text; Zip = IPropertyTD[5].Text; break; } } //owername2 string taxpayee = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[4]/td[1]")).Text.Trim(); try { if (!taxpayee.Contains("Taxpayer")) { Name2 = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[4]/td[3]")).Text.Trim(); } } catch { } Name = Name1 + " " + Name2; //Sitrus //UseCode = "", TCANumber = "", Taxable = "", Neighborhood = "", PropertyType = "", YearBuilt = "", LotAcreage = ""; IWebElement IPropertyDetails1 = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> IPropertyRow1 = IPropertyDetails1.FindElements(By.TagName("tr")); IList <IWebElement> IPropertyTD1; foreach (IWebElement Propertydet1 in IPropertyRow1) { IPropertyTD1 = Propertydet1.FindElements(By.TagName("td")); if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Situs Address:")) { SitusAddress = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Abbreviated Legal:")) { AbbreviatedLegal = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Sect/Town/Range:")) { SectTownRange = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Size:")) { Size = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Use Code:")) { UseCode = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("TCA Number:")) { TCANumber = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Taxable:")) { Taxable = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Neighborhood:")) { Neighborhood = IPropertyTD1[1].Text; } if (IPropertyTD1.Count != 0 && IPropertyTD1.Count == 2 && Propertydet1.Text.Contains("Property Type:")) { PropertyType = IPropertyTD1[1].Text; } } Taxing_Authority = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/p/table/tbody")).Text.Trim(); try { driver.FindElement(By.XPath("/html/body/div[1]/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td/table[1]/tbody/tr/td[3]/a/img")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Structues Pdf", driver, "WA", "Thurston"); } catch { } try { YearBuilt = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[1]/td[2]")).Text.Trim(); } catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td/table[1]/tbody/tr/td[4]/a/img")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Land Pdf", driver, "WA", "Thurston"); } catch { } LotAcreage = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[1]/table/tbody/tr[3]/td[3]")).Text.Trim(); string Property_Details = Role + "~" + Pct + "~" + Name + "~" + Street + "~" + City + "~" + State + "~" + Zip + "~" + SitusAddress + "~" + AbbreviatedLegal + "~" + SectTownRange + "~" + Size + "~" + UseCode + "~" + TCANumber + "~" + Taxable + "~" + Neighborhood + "~" + PropertyType + "~" + YearBuilt + "~" + LotAcreage + "~" + Taxing_Authority; gc.insert_date(orderNumber, Parcelnumber, 1569, Property_Details, 1, DateTime.Now); try { driver.FindElement(By.XPath("/html/body/div[1]/div/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td/table[1]/tbody/tr/td[9]/a/img")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Owner History Pdf", driver, "WA", "Thurston"); } catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td/table[2]/tbody/tr/td[1]/a/img")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Values Pdf", driver, "WA", "Thurston"); } catch { } //Assessment Details string TaxyearTitle = "", AssessmentTitle = "", AssessmentValue = "", Activeexemption = "", Taxyear1 = "", Assessmentyear = "", Marketvalueland = "", Marketvaluebuildings = "", Marketvaluetotal = ""; IWebElement IAssessmentDetails = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> IAssessmentRow = IAssessmentDetails.FindElements(By.TagName("tr")); IList <IWebElement> IAssessmentTD; IList <IWebElement> IAssessmentTH; foreach (IWebElement Assessment in IAssessmentRow) { IAssessmentTD = Assessment.FindElements(By.TagName("td")); IAssessmentTH = Assessment.FindElements(By.TagName("th")); if (IAssessmentTH.Count != 0 && (Assessment.Text.Contains("Tax Year") || Assessment.Text.Contains("Assessment Year"))) { AssessmentTitle += IAssessmentTH[0].Text + "~"; TaxyearTitle += IAssessmentTH[1].Text + "~"; Assessmentyear += IAssessmentTH[2].Text + "~"; Marketvalueland += IAssessmentTH[3].Text + "~"; } if (IAssessmentTD.Count != 0 && (Assessment.Text.Contains("Market Value Land") || Assessment.Text.Contains("Market Value Buildings") || Assessment.Text.Contains("Market Value Total"))) { AssessmentTitle += IAssessmentTD[0].Text + "~"; TaxyearTitle += IAssessmentTD[1].Text + "~"; Assessmentyear += IAssessmentTD[2].Text + "~"; Marketvalueland += IAssessmentTD[3].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + AssessmentTitle.Remove(AssessmentTitle.Length - 1, 1) + "' where Id = '" + 1570 + "'"); gc.insert_date(orderNumber, Parcelnumber, 1570, TaxyearTitle.Remove(TaxyearTitle.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnumber, 1570, Assessmentyear.Remove(Assessmentyear.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnumber, 1570, Marketvalueland.Remove(Marketvalueland.Length - 1, 1), 1, DateTime.Now); try { driver.FindElement(By.XPath("/html/body/div[1]/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td/table[2]/tbody/tr/td[4]/a/img")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Taxes Pdf", driver, "WA", "Thurston"); } catch { } driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(5000); //Tax Information Details string propertyAddress = "", propertyDecription = "", propertyTaxCode = "", propertyUseCode = "", yearBuilt = "", strownerName = "", TaxableValue = "", ExemptionAmount = "", AssessedValue = "", TaxYear1 = "", TaxYear2 = "", TaxYear3 = "", ActiveExemption = "", MarketTotal = "", MarketLand = "", MarketImprovement = "", PersonalProperty = ""; //Property Values IWebElement IValues = driver.FindElement(By.Id("mPropertyValues")); IList <IWebElement> IValuesRow = IValues.FindElements(By.TagName("tr")); IList <IWebElement> IValuesTD; IList <IWebElement> IValuesTH; foreach (IWebElement value in IValuesRow) { IValuesTD = value.FindElements(By.TagName("td")); IValuesTH = value.FindElements(By.TagName("th")); if (IValuesTH.Count != 0 && value.Text.Contains("Tax Year")) { TaxYear1 = IValuesTH[1].Text.Replace("Tax Year", "").Replace("\r\n", "").Trim() + "~"; TaxYear2 = IValuesTH[2].Text.Replace("Tax Year", "").Replace("\r\n", "").Trim() + "~"; TaxYear3 = IValuesTH[3].Text.Replace("Tax Year", "").Replace("\r\n", "").Trim() + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Taxable Value Regular")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Exemption Amount Regular")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Market Total")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Assessed Value")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Market Land")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Market Improvement")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } if (IValuesTD.Count != 0 && value.Text.Contains("Personal Property")) { TaxYear1 += IValuesTD[1].Text + "~"; TaxYear2 += IValuesTD[2].Text + "~"; TaxYear3 += IValuesTD[3].Text + "~"; } } gc.CreatePdf(orderNumber, parcelNumber, "Tax Details Pdf", driver, "WA", "Thurston"); IWebElement IExempet = driver.FindElement(By.Id("mActiveExemptions")); IList <IWebElement> IExempetRow = IExempet.FindElements(By.TagName("tr")); IList <IWebElement> IExempetTD; foreach (IWebElement value in IExempetRow) { IExempetTD = value.FindElements(By.TagName("td")); if (IExempetTD.Count != 0) { ActiveExemption = IExempetTD[0].Text; } } gc.insert_date(orderNumber, Parcelnumber, 1571, TaxYear1 + ActiveExemption, 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnumber, 1571, TaxYear2, 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnumber, 1571, TaxYear3, 1, DateTime.Now); //Tax Installments Payable Details Table: //Tax Detailed Statement Table: IWebElement IDistribution = driver.FindElement(By.Id("mCurrentTaxesDistribution")); IList <IWebElement> IDistributionRow = IDistribution.FindElements(By.TagName("tr")); IList <IWebElement> IDistributionTD; foreach (IWebElement distribution in IDistributionRow) { IDistributionTD = distribution.FindElements(By.TagName("td")); if (IDistributionTD.Count != 0) { string DistributionDetails = IDistributionTD[0].Text + "~" + IDistributionTD[1].Text + "~" + IDistributionTD[2].Text + "~" + IDistributionTD[3].Text + "~" + IDistributionTD[4].Text; gc.insert_date(orderNumber, Parcelnumber, 1572, DistributionDetails, 1, DateTime.Now); } } //Levy Rate History Table IWebElement ILevyrate = driver.FindElement(By.Id("mLevyRateHistory")); IList <IWebElement> ILevyrateRow = ILevyrate.FindElements(By.TagName("tr")); IList <IWebElement> ILevyrateTD; foreach (IWebElement Levyrate in ILevyrateRow) { ILevyrateTD = Levyrate.FindElements(By.TagName("td")); if (ILevyrateTD.Count != 0) { string LevyrateDetails = ILevyrateTD[0].Text + "~" + ILevyrateTD[1].Text; gc.insert_date(orderNumber, Parcelnumber, 1581, LevyrateDetails, 1, DateTime.Now); } } //Tax Payment Details IWebElement IReceipt = driver.FindElement(By.Id("mReceipts")); IList <IWebElement> IReceiptRow = IReceipt.FindElements(By.TagName("tr")); IList <IWebElement> IReceiptTD; foreach (IWebElement receipt in IReceiptRow) { IReceiptTD = receipt.FindElements(By.TagName("td")); if (IReceiptTD.Count != 0) { string ReceiptDetails = IReceiptTD[0].Text + "~" + IReceiptTD[1].Text + "~" + IReceiptTD[2].Text + "~" + IReceiptTD[3].Text + "~" + IReceiptTD[4].Text + "~" + IReceiptTD[5].Text; gc.insert_date(orderNumber, Parcelnumber, 1573, ReceiptDetails, 1, DateTime.Now); } } ////Installments and Charges Details try { IWebElement IInstallment = driver.FindElement(By.Id("mTaxChargesBalancePayment")); IList <IWebElement> IInstallmentRow = IInstallment.FindElements(By.TagName("tr")); IList <IWebElement> IInstallmentTD; foreach (IWebElement install in IInstallmentRow) { IInstallmentTD = install.FindElements(By.TagName("td")); if (IInstallmentTD.Count != 0) { string InstallmentDetails = IInstallmentTD[0].Text + "~" + IInstallmentTD[1].Text + "~" + IInstallmentTD[2].Text + "~" + IInstallmentTD[3].Text + "~" + IInstallmentTD[4].Text + "~" + IInstallmentTD[5].Text + "~" + IInstallmentTD[6].Text; gc.insert_date(orderNumber, Parcelnumber, 1577, InstallmentDetails, 1, DateTime.Now); } //Tax Year~Installment~Earliest Due Date~Principal~Interest Penalties and Costs~Total Due~Cumulative Due } } catch { } //Good Through Details try { List <string> billinfo = new List <string>(); string Bill_Flag = driver.FindElement(By.XPath("//*[@id='mTaxChargesBalancePayment']/tbody/tr[2]/td[5]")).Text; string Good_through_date = ""; if (Bill_Flag != "$0.00") { IWebElement href = driver.FindElement(By.Id("mFuturePayoff")); string addview = href.GetAttribute("href"); driver.Navigate().GoToUrl(addview); gc.CreatePdf(orderNumber, parcelNumber, "Calculate Future Payoff", driver, "WA", "Thurston"); IWebElement good_date = driver.FindElement(By.Id("mDate")); Good_through_date = good_date.GetAttribute("value"); DateTime G_Date = Convert.ToDateTime(Good_through_date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month Good_through_date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")))).ToString("MM/dd/yyyy"); } else if (G_Date >= Convert.ToDateTime(dateChecking)) { // nextEndOfMonth if ((Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))) < 12)) { Good_through_date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM")) + 1), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")) + 1)).ToString("MM/dd/yyyy"); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; Good_through_date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } driver.FindElement(By.Id("mDate")).Clear(); driver.FindElement(By.XPath("//*[@id='mDate']")).SendKeys(Good_through_date); driver.FindElement(By.Id("mCalculate")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, Parcelnumber, "Calculate Future Payoff1", driver, "WA", "Thurston"); string asofdate = "", Principal = "", Interestandpenalties = "", Totaldue = ""; asofdate = driver.FindElement(By.Id("mDisplayDate")).Text; IWebElement TaxInfoTB = driver.FindElement(By.Id("mGrid")); IList <IWebElement> TaxInfoTR = TaxInfoTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxInfoTD; foreach (IWebElement TaxInfo in TaxInfoTR) { TaxInfoTD = TaxInfo.FindElements(By.TagName("td")); if (TaxInfoTD.Count != 0 && TaxInfoTD.Count == 3 && !TaxInfo.Text.Contains("Principal")) { Principal = TaxInfoTD[0].Text; Interestandpenalties = TaxInfoTD[1].Text; Totaldue = TaxInfoTD[2].Text; string TaxdelinqInfo_Details = asofdate.Trim() + "~" + Principal.Trim() + "~" + Interestandpenalties.Trim() + "~" + Totaldue.Trim(); gc.insert_date(orderNumber, Parcelnumber, 1579, TaxdelinqInfo_Details, 1, DateTime.Now); } } } } catch { } try { IWebElement Backtoproperty = driver.FindElement(By.XPath("//*[@id='mMainHeader_SiteMapPath1']/span[5]/a")); Backtoproperty.Click(); Thread.Sleep(2000); } catch { } try { IWebElement viewdetailsclick = driver.FindElement(By.Id("mDetailedStatement")); viewdetailsclick.Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcelnumber, "View Details", driver, "WA", "Thurston"); //driver.Navigate().Back(); } catch { } try {////*[@id="mPageHeader_SiteMapPath1"]/span[1]/a IWebElement Backtoproperty = driver.FindElement(By.XPath("//*[@id='mPageHeader_SiteMapPath1']/span[1]/a")); Backtoproperty.Click(); Thread.Sleep(2000); } catch { } //try //{ // IWebElement IUIDChrges = driver.FindElement(By.Id("mULID")); // IUIDChrges.Click(); // gc.CreatePdf(orderNumber, Parcelnumber, "Tax Charges", driver, "WA", "Thurston"); // TaxAuthority = GlobalClass.After(IUIDChrges.Text, "Send to ").Trim(); // IWebElement ICharges = driver.FindElement(By.Id("mTaxChargesBalancePayment")); // IList<IWebElement> IChargesRow = ICharges.FindElements(By.TagName("tr")); // IList<IWebElement> IChargesTD; // foreach (IWebElement charges in IChargesRow) // { // IChargesTD = charges.FindElements(By.TagName("td")); // if (IChargesTD.Count != 0) // { // string ChargesDetails = IChargesTD[0].Text + "~" + IChargesTD[1].Text + "~" + IChargesTD[2].Text + "~" + IChargesTD[3].Text + "~" + IChargesTD[4].Text + "~" + IChargesTD[5].Text + "~" + IChargesTD[6].Text + "~" + TaxAuthority; // gc.insert_date(orderNumber, Parcelnumber, 1580, ChargesDetails, 1, DateTime.Now); // } // } //} //catch { } //Tax Balance Details try { // driver.FindElement(By.XPath("//*[@id='mErrorMessageLabel']/a")).Click(); // driver.SwitchTo().Window(driver.WindowHandles.Last()); driver.Navigate().GoToUrl("https://www.paydici.com/thurston-county-wa/search/new"); Thread.Sleep(2000); driver.FindElement(By.Id("q")).SendKeys(Parcelnumber.Trim()); gc.CreatePdf(orderNumber, Parcelnumber, "Tax Balace Result1", driver, "WA", "Thurston"); driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[5]/div/form/input[2]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcelnumber, "Tax Balace Result2", driver, "WA", "Thurston"); //driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div[2]/div[1]/div/table/tbody")).Click(); //Thread.Sleep(5000); // gc.CreatePdf(orderNumber, Parcelnumber, "Tax Balace Result3", driver, "WA", "Thurston"); try { IWebElement IAddressSearch1 = driver.FindElement(By.Id("bill_group_" + Parcelnumber.Trim())); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", IAddressSearch1); Thread.Sleep(9000); gc.CreatePdf(orderNumber, Parcelnumber, "Tax Balace Result3", driver, "WA", "Thurston"); } catch { } string Taxyeees = "", Amountdue = "", Total = ""; IWebElement taxbal = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div[2]/div[1]/div/table/tbody")); IList <IWebElement> taxbalRow = taxbal.FindElements(By.TagName("tr")); IList <IWebElement> taxbalTDstrong; IList <IWebElement> taxbalTDspan;//This bill is now past the due date, additional charges may apply. foreach (IWebElement taxbal1 in taxbalRow) { taxbalTDstrong = taxbal1.FindElements(By.TagName("td")); if (taxbalTDstrong.Count != 0 && taxbalTDstrong.Count == 1) { string[] Taxyearsplit = taxbalTDstrong[0].Text.Split('\r'); for (int i = 0; i < Taxyearsplit.Count(); i++) { if (Taxyearsplit[i].Contains("Property Taxes")) { Taxyeees = Taxyearsplit[i].Replace("Property Taxes", ""); } if (Taxyearsplit[i].Contains("1st Half")) { Amountdue = Taxyearsplit[i].Trim(); } if (Taxyearsplit[i].Contains("Full Year")) { Total = Taxyearsplit[i].Trim(); } } string Taxbalacedetails = Taxyeees + "~" + Amountdue + "~" + Total; gc.insert_date(orderNumber, Parcelnumber, 1580, Taxbalacedetails, 1, DateTime.Now); Taxyeees = ""; Amountdue = ""; Total = ""; } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "WA", "Thurston", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "WA", "Thurston"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Lorain(string address, string parcelNumber, string ownername, 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; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://www.loraincountyauditor.com/gis/"); Thread.Sleep(7000); if (searchType == "titleflex") { string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "OH", "Lorain"); 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_LorainOH"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { try { driver.FindElement(By.XPath("//*[@id='touring']/div[1]/div[3]/div/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(4000); } catch { } driver.FindElement(By.XPath("//*[@id='bha_FullTextSearchBox_3']/input")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "OH", "Lorain"); driver.FindElement(By.XPath("//*[@id='restconfigsearches_1']/table/tfoot/tr/td[1]/button")).Click(); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "OH", "Lorain"); try { driver.FindElement(By.Id("open-my-report")).Click(); Thread.Sleep(4000); } catch { } try { IWebElement Iparcelnum = driver.FindElement(By.XPath("//*[@id='widget-parcel-report']/div[2]/div/div[2]/div/table[1]/tbody/tr[1]/td[2]/a")); parcelNumber = Iparcelnum.Text.Trim(); driver.Navigate().GoToUrl("http://www.loraincountyauditor.com/gis/report/Report.aspx?pin=" + parcelNumber + ""); Thread.Sleep(4000); } catch { } try { IWebElement multiaddCheck = driver.FindElement(By.XPath("//*[@id='widget-query-results']/div[2]/ul")); if (multiaddCheck.Text != "") { try { string strowner = "", strAddress = ""; IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='widget-query-results']/div[2]/ul")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count > 25) { HttpContext.Current.Session["multiparcel_LorainOH_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } if (multiTD.Count != 0 && multiRow.Count > 2 && multiRow.Count <= 25 && multi.Text != "" && !multi.Text.Contains("Mobile Home") && !multi.Text.Contains("Sale Date") && !multi.Text.Contains("Sale Price")) { if (multi.Text.Contains("Parcel Number")) { parcelNumber = multiTD[2].Text; } if (multi.Text.Contains("Owner Name")) { strowner = multiTD[1].Text; } if (multi.Text.Contains("Address")) { strAddress = multiTD[1].Text; } if (multi.Text.Contains("Address")) { string multidetails = strowner + "~" + strAddress; gc.insert_date(orderNumber, parcelNumber, 1229, multidetails, 1, DateTime.Now); } } } if (multiRow.Count > 2 && multiRow.Count <= 25) { HttpContext.Current.Session["multiparcel_LorainOH"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } } catch { } } else if (searchType == "parcel") { parcelNumber = parcelNumber.Trim(); try { driver.FindElement(By.XPath("//*[@id='touring']/div[1]/div[3]/div/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(4000); } catch { } driver.FindElement(By.XPath("//*[@id='bha_FullTextSearchBox_0']/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "parcel search", driver, "OH", "Lorain"); driver.FindElement(By.XPath("//*[@id='restconfigsearches_1']/table/tfoot/tr/td[1]/button")).Click(); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "parcel search Result", driver, "OH", "Lorain"); try { driver.FindElement(By.Id("open-my-report")).Click(); Thread.Sleep(4000); } catch { } try { IWebElement Iparcelnum = driver.FindElement(By.XPath("//*[@id='widget-parcel-report']/div[2]/div/div[2]/div/table[1]/tbody/tr[1]/td[2]/a")); parcelNumber = Iparcelnum.Text.Trim(); driver.Navigate().GoToUrl("http://www.loraincountyauditor.com/gis/report/Report.aspx?pin=" + parcelNumber + ""); Thread.Sleep(5000); } catch { } try { IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='widget-query-results']/div[2]/ul")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiTD[2].Text == parcelNumber) { parcelNumber = multiTD[2].Text; multiTD[2].Click(); Thread.Sleep(2000); break; } } try { driver.FindElement(By.Id("open-my-report")).Click(); Thread.Sleep(4000); } catch { } try { IWebElement Iparcelnum = driver.FindElement(By.XPath("//*[@id='widget-parcel-report']/div[2]/div/div[2]/div/table[1]/tbody/tr[1]/td[2]/a")); parcelNumber = Iparcelnum.Text.Trim(); driver.Navigate().GoToUrl("http://www.loraincountyauditor.com/gis/report/Report.aspx?pin=" + parcelNumber + ""); Thread.Sleep(4000); } catch { } } catch { } } else if (searchType == "ownername") { try { driver.FindElement(By.XPath("//*[@id='touring']/div[1]/div[3]/div/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(4000); } catch { } driver.FindElement(By.XPath("//*[@id='bha_FullTextSearchBox_2']/input")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "OwnerName Search", driver, "OH", "Lorain"); driver.FindElement(By.XPath("//*[@id='restconfigsearches_1']/table/tfoot/tr/td[1]/button")).Click(); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "OwnerName Search Results", driver, "OH", "Lorain"); try { IWebElement multiaddCheck = driver.FindElement(By.XPath("//*[@id='widget-query-results']/div[2]/ul")); if (multiaddCheck.Text != "") { try { string strowner = "", strAddress = ""; IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='widget-query-results']/div[2]/ul")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count > 150) { HttpContext.Current.Session["multiparcel_LorainOH_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } if (multiTD.Count != 0 && multiRow.Count > 2 && multiRow.Count <= 150 && multi.Text != "" && !multi.Text.Contains("Mobile Home") && !multi.Text.Contains("Sale Date") && !multi.Text.Contains("Sale Price")) { if (multi.Text.Contains("Parcel Number")) { parcelNumber = multiTD[2].Text; } if (multi.Text.Contains("Owner Name")) { strowner = multiTD[1].Text; } if (multi.Text.Contains("Address")) { strAddress = multiTD[1].Text; } if (multi.Text.Contains("Address")) { string multidetails = strowner + "~" + strAddress; gc.insert_date(orderNumber, parcelNumber, 1229, multidetails, 1, DateTime.Now); } } } if (multiRow.Count > 2 && multiRow.Count <= 150) { HttpContext.Current.Session["multiparcel_LorainOH"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='widget-query-results']/div[2]/div")); if (INodata.Text.Contains("no matches")) { HttpContext.Current.Session["Nodata_LorainOH"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details string bulkdata = ""; string owner_name = "", LocationAddress = "", Taxbill = "", PropertyDesc = "", Taxdistrict = "", Landuse = "", Neighbourhood = "", Acres = "", SchoolDistrict = "", DelinRealEstate = "", yearbuilt = ""; try { bulkdata = driver.FindElement(By.XPath("//*[@id='form1']/div[6]/table/tbody")).Text; } catch { } try { bulkdata = driver.FindElement(By.XPath("//*[@id='form1']/div[7]/table/tbody")).Text; } catch { } parcelNumber = gc.Between(bulkdata, "Parcel Number", "Land Use").Trim(); owner_name = gc.Between(bulkdata, "Owner", "Neighborhood").Trim(); LocationAddress = gc.Between(bulkdata, "Location Address", "Acres").Trim(); Taxbill = gc.Between(bulkdata, "Tax Bill Mailed To", "School District").Trim(); PropertyDesc = gc.Between(bulkdata, "Property Description", "Instrument Number").Trim(); Taxdistrict = gc.Between(bulkdata, "Tax District", "Delinquent Real Estate").Trim(); Landuse = gc.Between(bulkdata, "Land Use", "Owner").Trim(); Neighbourhood = gc.Between(bulkdata, "Neighborhood", "Location Address").Trim(); Acres = gc.Between(bulkdata, "Acres", "Tax Bill Mailed To").Trim(); SchoolDistrict = gc.Between(bulkdata, "School District", "Property Description").Trim(); DelinRealEstate = GlobalClass.After(bulkdata, "Delinquent Real Estate").Trim(); try { IWebElement Iyearbuilt = driver.FindElement(By.XPath("//*[@id='form1']/div[11]/table/tbody/tr[2]/td[2]")); yearbuilt = Iyearbuilt.Text; } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "OH", "Lorain"); string propertydetails = owner_name + "~" + LocationAddress + "~" + Taxbill + "~" + PropertyDesc + "~" + Taxdistrict + "~" + Landuse + "~" + Neighbourhood + "~" + Acres + "~" + SchoolDistrict + "~" + DelinRealEstate + "~" + yearbuilt; gc.insert_date(orderNumber, parcelNumber, 1216, propertydetails, 1, DateTime.Now); // Assessment Value Details string Title = "", Value = ""; IWebElement Assessmentdetails = driver.FindElement(By.XPath("//*[@id='form1']/div[8]/table/tbody")); IList <IWebElement> TRAssessmentdetails = Assessmentdetails.FindElements(By.TagName("tr")); IList <IWebElement> THAssessmentdetails = Assessmentdetails.FindElements(By.TagName("td")); IList <IWebElement> TDAssessmentdetails; foreach (IWebElement row in TRAssessmentdetails) { TDAssessmentdetails = row.FindElements(By.TagName("td")); if (TDAssessmentdetails.Count != 0 && row.Text.Trim() != "") { Title += TDAssessmentdetails[0].Text + "~"; Value += TDAssessmentdetails[1].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Title.Remove(Title.Length - 1, 1) + "' where Id = '" + 1217 + "'"); gc.insert_date(orderNumber, parcelNumber, 1217, Value.Remove(Value.Length - 1, 1), 1, DateTime.Now); // Current Taxes Details string currenttax = driver.FindElement(By.XPath("//*[@id='form1']/div[9]/table/tbody")).Text; string Grossfulltax = "", Statecredit = "", Subtotal = "", non_business_credit = "", owner_occu_Credit = "", Homestead_Credit = "", NetTax = "", SpecialAssess = ""; string Delin_spl_Assess = "", UnpaidTaxes = "", TotalTaxes_owed = "", Total_taxes_paid = "", SplAssessment = "", TaxAuth = ""; Grossfulltax = gc.Between(currenttax, "Gross Full Year Tax", "Special Assessment").Trim(); Statecredit = gc.Between(currenttax, "State Credit", "Delinquent Special Assessment").Trim(); Subtotal = gc.Between(currenttax, "Subtotal", "Unpaid Taxes").Trim(); non_business_credit = gc.Between(currenttax, "Non-Business Credit", "Total Taxes Owed").Trim(); owner_occu_Credit = gc.Between(currenttax, "Owner Occupancy Credit", "Total Taxes Paid").Trim(); Homestead_Credit = gc.Between(currenttax, "Homestead Credit", "Special Assessments").Trim(); NetTax = GlobalClass.After(currenttax, "Net Tax").Trim(); SpecialAssess = gc.Between(currenttax, "Special Assessment", "State Credit").Trim(); Delin_spl_Assess = gc.Between(currenttax, "Delinquent Special Assessment", "Subtotal").Trim(); UnpaidTaxes = gc.Between(currenttax, "Unpaid Taxes", "Non-Business Credit").Trim(); TotalTaxes_owed = gc.Between(currenttax, "Total Taxes Owed", "Owner Occupancy Credit").Trim(); Total_taxes_paid = gc.Between(currenttax, "Total Taxes Paid", "Homestead Credit").Trim(); SplAssessment = gc.Between(currenttax, "Special Assessments", "Net Tax").Trim(); TaxAuth = "Lorain County Auditor 226 Middle Ave., 2nd Floor Elyria, OH 44035 (440) 329-5787"; string currenttaxdetails = Grossfulltax + "~" + Statecredit + "~" + Subtotal + "~" + non_business_credit + "~" + owner_occu_Credit + "~" + Homestead_Credit + "~" + NetTax + "~" + SpecialAssess + "~" + Delin_spl_Assess + "~" + UnpaidTaxes + "~" + TotalTaxes_owed + "~" + Total_taxes_paid + "~" + SplAssessment + "~" + TaxAuth; gc.insert_date(orderNumber, parcelNumber, 1218, currenttaxdetails, 1, DateTime.Now); // Alert Comments try { if (SplAssessment.Contains("Yes")) { string alertmessage = "Yes, contact the Auditor’s Office at 440-329-5212 for details."; gc.insert_date(orderNumber, parcelNumber, 1232, alertmessage, 1, DateTime.Now); } } catch { } // Special Assessments Tax Details try { IWebElement Itaxyear = driver.FindElement(By.XPath("//*[@id='form1']/div[17]/table/tbody/tr[1]/td")); string Taxyear = "", Taxyear1 = "", AssessTitle = "", AssessValue = ""; Taxyear = Itaxyear.Text.Trim(); string[] Taxyear2 = Taxyear.Split(); Taxyear1 = Taxyear2[0]; IWebElement SPlAssessmentdetails = driver.FindElement(By.XPath("//*[@id='form1']/div[17]/table/tbody")); IList <IWebElement> TRSPLAssessmentdetails = SPlAssessmentdetails.FindElements(By.TagName("tr")); IList <IWebElement> THSPLAssessmentdetails = SPlAssessmentdetails.FindElements(By.TagName("td")); IList <IWebElement> TDSPLAssessmentdetails; foreach (IWebElement row in TRSPLAssessmentdetails) { TDSPLAssessmentdetails = row.FindElements(By.TagName("td")); if (TDSPLAssessmentdetails.Count == 1 && row.Text.Trim() != "" && row.Text.Contains("Year")) { AssessTitle += Taxyear1 + "~"; AssessValue += TDSPLAssessmentdetails[0].Text.Replace("Year", "").Trim() + "~"; } if (TDSPLAssessmentdetails.Count > 1 && row.Text.Trim() != "") { AssessTitle += TDSPLAssessmentdetails[0].Text + "~"; AssessValue += TDSPLAssessmentdetails[1].Text + "~"; } if (row.Text.Contains("Total Charge")) { db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + AssessTitle.Remove(AssessTitle.Length - 1, 1) + "' where Id = '" + 1219 + "'"); gc.insert_date(orderNumber, parcelNumber, 1219, AssessValue.Remove(AssessValue.Length - 1, 1), 1, DateTime.Now); AssessTitle = ""; AssessValue = ""; } } } catch { } // Tax History Details Table string TaxHistory = driver.FindElement(By.XPath("//*[@id='form1']/div[15]/table/tbody")).Text; int i1 = 1; string Tax_Year = "", strtaxyear = "", strtaxyear1 = "", Grossfulltax1 = "", Statecredit1 = "", Subtotal1 = "", non_business_credit1 = "", owner_occu_Credit1 = "", Homestead_Credit1 = "", NetTax1 = "", SpecialAssess1 = ""; string Delin_spl_Assess1 = "", UnpaidTaxes1 = "", TotalTaxes_owed1 = "", Total_taxes_paid1 = ""; IWebElement tbmulti2; tbmulti2 = driver.FindElement(By.XPath("//*[@id='form1']/div[15]/table/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti2; foreach (IWebElement row in TRmulti2) { TDmulti2 = row.FindElements(By.TagName("td")); if (TDmulti2.Count != 0 && row.Text.Trim() != "") { if (i1 == 1 || i1 == 8 || row.Text.Contains("Tax Year")) { Tax_Year = TDmulti2[0].Text; string[] taxyear = Tax_Year.Split(); strtaxyear = taxyear[0] + " " + taxyear[1]; strtaxyear1 = taxyear[2]; } if (i1 == 2 || i1 == 9 || row.Text.Contains("Gross Full Year Tax")) { Grossfulltax1 = TDmulti2[1].Text; NetTax1 = TDmulti2[3].Text; } if (i1 == 3 || row.Text.Contains("State Credit")) { Statecredit1 = TDmulti2[1].Text; SpecialAssess1 = TDmulti2[3].Text; } if (i1 == 4 || row.Text.Contains("Subtotal")) { Subtotal1 = TDmulti2[1].Text; Delin_spl_Assess1 = TDmulti2[3].Text; } if (i1 == 5 || row.Text.Contains("Non-Business Credit")) { non_business_credit1 = TDmulti2[1].Text; UnpaidTaxes1 = TDmulti2[3].Text; } if (i1 == 6 || row.Text.Contains("Owner Occupancy Credit")) { owner_occu_Credit1 = TDmulti2[1].Text; TotalTaxes_owed1 = TDmulti2[3].Text; } if (i1 == 7 || row.Text.Contains("Homestead Credit")) { Homestead_Credit1 = TDmulti2[1].Text; Total_taxes_paid1 = TDmulti2[3].Text; } if (row.Text.Contains("Total Taxes Paid") && Grossfulltax1 != "" && Total_taxes_paid1 != "" && non_business_credit1 != "" && TotalTaxes_owed1 != "") { string TaxHistorydetails = strtaxyear1 + "~" + Grossfulltax1 + "~" + Statecredit1 + "~" + Subtotal1 + "~" + non_business_credit1 + "~" + owner_occu_Credit1 + "~" + Homestead_Credit1 + "~" + NetTax1 + "~" + SpecialAssess1 + "~" + Delin_spl_Assess1 + "~" + UnpaidTaxes1 + "~" + TotalTaxes_owed1 + "~" + Total_taxes_paid1; gc.insert_date(orderNumber, parcelNumber, 1223, TaxHistorydetails, 1, DateTime.Now); } i1++; } } // Tax Payments IWebElement TaxInfo = driver.FindElement(By.XPath("//*[@id='form1']/div[16]/table")); IList <IWebElement> TRTaxInfo = TaxInfo.FindElements(By.TagName("tr")); IList <IWebElement> THTaxInfo = TaxInfo.FindElements(By.TagName("th")); IList <IWebElement> TDTaxInfo; foreach (IWebElement row in TRTaxInfo) { TDTaxInfo = row.FindElements(By.TagName("td")); if (TRTaxInfo.Count > 1 && TDTaxInfo.Count != 0 && row.Text.Trim() != "") { string TaxPayDetails = TDTaxInfo[0].Text + "~" + TDTaxInfo[1].Text + "~" + TDTaxInfo[2].Text + "~" + TDTaxInfo[3].Text + "~" + TDTaxInfo[4].Text + "~" + TDTaxInfo[5].Text; gc.insert_date(orderNumber, parcelNumber, 1228, TaxPayDetails, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OH", "Lorain", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OH", "Lorain"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_MNDakota(string houseno, string sname, string unitno, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", AssessTakenTime = "", TaxTakentime = "", CityTaxtakentime = ""; string TotaltakenTime = ""; string OwnerName = "", JointOwnerName = "", PropertyAddress = "", MailingAddress = "", Municipality = "", PropertyUse = "", YearBuilt = "", LegalDescription = "", parcel_id = ""; List<string> strTaxRealestate = new List<string>(); List<string> strTaxRealestate1 = new List<string>(); GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; //IWebElement iframeElement1; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); driver = new ChromeDriver(); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://gis2.co.dakota.mn.us/WAB/PropertyInformationPublic/index.html"); Thread.Sleep(20000); // driver.SwitchTo().Window(driver.WindowHandles.Last()); try { IWebElement ISpan12 = driver.FindElement(By.XPath("//*[@id='widgets_Splash_Widget_71']/div[2]/div[2]/div[2]/div[2]")); IJavaScriptExecutor js12 = driver as IJavaScriptExecutor; js12.ExecuteScript("arguments[0].click();", ISpan12); Thread.Sleep(9000); } catch { } if (searchType == "address") { driver.FindElement(By.Id("esri_dijit_Search_0_input")).SendKeys(houseno + " " + sname); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "MN", "Dakota"); driver.FindElement(By.XPath("//*[@id='esri_dijit_Search_0']/div/div[2]")).Click(); // gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "MN", "Dakota"); try { IWebElement Inodata = driver.FindElement(By.XPath("//*[@id='esri_dijit_Search_0']/div/div[4]/div")); if (Inodata.Text.Contains("No results") || Inodata.Text.Contains("no results found")) { HttpContext.Current.Session["Nodata_MNDakota"] = "Yes"; driver.Quit(); return "No Data Found"; } } catch { } Thread.Sleep(10000); try { driver.FindElement(By.XPath("//*[@id='widgets_Search_Widget_60']/div[2]/div[2]/ul/li")).Click(); Thread.Sleep(2000); } catch { } try { int i, j = 0; int iRowsCount = driver.FindElements(By.XPath("//*[@id='widgets_Search_Widget_60']/div[2]/div[2]/ul/li")).Count; if (iRowsCount > 1) { if (j < 25) { for (i = 1; i <= iRowsCount; i++) { ////*[@id="widgets_Search_Widget_60"]/div[2]/div[2]/ul string add1 = driver.FindElement(By.XPath("//*[@id='widgets_Search_Widget_60']/div[2]/div[2]/ul/li[" + i + "]")).Text; driver.FindElement(By.XPath("//*[@id='widgets_Search_Widget_60']/div[2]/div[2]/ul/li[" + i + "]")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(1000); string fulltext4 = driver.FindElement(By.XPath("//*[@id='dijit_layout_ContentPane_0']")).Text.Trim().Replace("\r\n", ""); parcel_id = gc.Between(fulltext4, "Parcel ID:", "Property Details").Trim().Replace("-", ""); PropertyAddress = gc.Between(fulltext4, "Parcel ID:", "Property Details").Trim().Replace("-", ""); // string s1 = parcel_id; string[] words1 = parcel_id.Split(' '); parcel_id = words1[0]; parcel_id = parcel_id.Substring(0, 12); PropertyAddress = WebDriverTest.After(PropertyAddress, parcel_id).Trim(); //string parcel = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[4]/div[2]/div/div/div[2]/div/div[1]/div[1]")).Text.Trim().Replace("Parcel ID:", ""); //string fulltext1 = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[4]/div[2]/div/div/div[2]/div/div[1]/div[3]/font[4]/table/tbody")).Text.Trim().Replace("\r\n", ""); string Owner = gc.Between(fulltext4, "Owner", "Joint Owner").Trim(); string multi = add1 + "~" + Owner; gc.insert_date(orderNumber, parcel_id, 464, multi, 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='esri_dijit_Search_0']/div/div[2]")).Click(); Thread.Sleep(4000); } j++; } if (iRowsCount > 25) { HttpContext.Current.Session["multiParcel_MNDakota_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_MNDakota"] = "Yes"; } driver.Quit(); return "MultiParcel"; } else { try { driver.FindElement(By.XPath("//*[@id='widgets_Search_Widget_60']/div[2]/div[2]/ul/li")).Click(); Thread.Sleep(8000); } catch { } } } catch { } } if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "MN", "Dakota"); 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_MNDakota"] = "Yes"; driver.Quit(); return "No Data Found"; } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } if (parcelNumber.Contains("-")) { parcel_id = parcelNumber.Replace("-", ""); } else parcel_id = parcelNumber; driver.FindElement(By.Id("esri_dijit_Search_0_input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcel_id, "parcel search", driver, "MN", "Dakota"); driver.FindElement(By.XPath("//*[@id='esri_dijit_Search_0']/div/div[2]")).Click(); try { IWebElement Inodata = driver.FindElement(By.XPath("//*[@id='esri_dijit_Search_0']/div/div[4]/div")); if (Inodata.Text.Contains("No results") || Inodata.Text.Contains("no results found")) { HttpContext.Current.Session["Nodata_MNDakota"] = "Yes"; driver.Quit(); return "No Data Found"; } } catch { } Thread.Sleep(6000); } //property_details driver.SwitchTo().Window(driver.WindowHandles.Last()); //Owner Name~Joint Owner Name~Property Address~Mailing Address~Municipality~Property Use~Year Built~Legal Description gc.CreatePdf(orderNumber, parcel_id, "property info", driver, "MN", "Dakota"); string fulltext3 = driver.FindElement(By.XPath("//*[@id='dijit_layout_ContentPane_0']")).Text.Trim().Replace("\r\n", ""); parcel_id = gc.Between(fulltext3, "Parcel ID:", "Property Details").Trim().Replace("-", ""); PropertyAddress = gc.Between(fulltext3, "Parcel ID:", "Property Details").Trim().Replace("-", ""); string s = parcel_id; string[] words = parcel_id.Split(' '); parcel_id = words[0]; parcel_id = parcel_id.Substring(0, 12); PropertyAddress = WebDriverTest.After(PropertyAddress, parcel_id).Trim(); Thread.Sleep(2000); string fulltext = driver.FindElement(By.XPath("//*[@id='dijit_layout_ContentPane_0']")).Text.Trim().Replace("\r\n", ""); OwnerName = gc.Between(fulltext, "Owner", "Joint Owner").Trim(); JointOwnerName = gc.Between(fulltext, "Joint Owner", "Owner Address").Trim(); MailingAddress = gc.Between(fulltext, "Owner Address", "Municipality").Trim(); Municipality = gc.Between(fulltext, "Municipality", "Primary Use").Trim(); PropertyUse = gc.Between(fulltext, "Primary Use", "Acres").Trim(); LegalDescription = gc.Between(fulltext, "Tax Description", "Lot and Block").Trim(); YearBuilt = gc.Between(fulltext, "Year Built", "Building Type").Trim(); string property_details = OwnerName + "~" + JointOwnerName + "~" + PropertyAddress + "~" + MailingAddress + "~" + Municipality + "~" + PropertyUse + "~" + YearBuilt + "~" + LegalDescription; gc.insert_date(orderNumber, parcel_id, 461, property_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); string strCurrentURL = driver.CurrentWindowHandle; //Tax Year~Estimated Market Value~Homestead Exclusion~Taxable Market Value~New Imp/Expired Excl~New Imp/Expired Excl 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); Thread.Sleep(20000); string fileName = "PropertyReport"; IWebElement ISpan121 = driver1.FindElement(By.XPath("//*[@id='widgets_Splash_Widget_71']/div[2]/div[2]/div[2]/div[2]")); IJavaScriptExecutor js121 = driver1 as IJavaScriptExecutor; js121.ExecuteScript("arguments[0].click();", ISpan121); Thread.Sleep(15000); driver1.FindElement(By.Id("esri_dijit_Search_0_input")).SendKeys(parcel_id); driver1.FindElement(By.XPath("//*[@id='esri_dijit_Search_0']/div/div[2]")).Click(); Thread.Sleep(6000); IWebElement Itaxbill = driver1.FindElement(By.LinkText("Property Details")); Itaxbill.Click(); Thread.Sleep(6000); gc.AutoDownloadFile(orderNumber, parcelNumber, "Dakota", "MN", "PropertyReport.pdf"); driver1.Quit(); } catch (Exception e) { } try { IWebElement Itaxstmt = driver.FindElement(By.LinkText("Tax Statement")); string stmt1 = Itaxstmt.GetAttribute("href"); strTaxRealestate1.Add(stmt1); } catch { } try { IWebElement Itaxstmt1 = driver.FindElement(By.LinkText("Tax Payment Stub")); string stmt11 = Itaxstmt1.GetAttribute("href"); var chDriver = new ChromeDriver(); chDriver.Navigate().GoToUrl(stmt11); Thread.Sleep(5000); chDriver.Manage().Window.Size = new Size(480, 320); gc.CreatePdf(orderNumber, parcel_id, "stub", chDriver, "MN", "Dakota"); Actions act = new Actions(chDriver); for (int l = 0; l < 13; l++) { act.SendKeys(Keys.Down).Perform(); } gc.CreatePdf(orderNumber, parcel_id, "stub2", chDriver, "MN", "Dakota"); Thread.Sleep(4000); chDriver.Quit(); } catch (Exception e) { } try { IWebElement Itaxstmt2 = driver.FindElement(By.LinkText("Tax Facts")); string stmt12 = Itaxstmt2.GetAttribute("href"); gc.downloadfile(stmt12, orderNumber, parcel_id, "TaxFact", "MN", "Dakota"); } catch { } List<string> description = new List<string>(); List<string> Output1 = new List<string>(); List<string> Output2 = new List<string>(); List<string> Output1A = new List<string>(); List<string> Output2A = new List<string>(); foreach (string real in strTaxRealestate1) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); try { ByVisibleElement(driver.FindElement(By.Id("hplTaxStmntPDF"))); } catch { } if (real.Contains("TaxStatement")) { //Taxinfo_Details gc.CreatePdf(orderNumber, parcel_id, "Tax info", driver, "MN", "Dakota"); description.Add(driver.FindElement(By.Id("lblLine3")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevTotalAidTax")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentTotalAidTax")).Text.Trim()); description.Add(driver.FindElement(By.XPath("//*[@id='txtTaxStatement']/div[52]")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevHomesteadCredit")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentHomesteadCredit")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div31")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevOtherCredits")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentOtherCredits")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div48")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevTotalNetTax")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentTotalNetTax")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div7")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevCountyTax")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentCountyTax")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div10")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevRail")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtRail")).Text.Trim()); description.Add(driver.FindElement(By.Id("txtDistrictName")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevCityTax")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentCityTax")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div51")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevStateTax")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentStateTax")).Text.Trim()); description.Add(driver.FindElement(By.Id("txtSchoolDistrict")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevVoterApprovedLevies")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentVoterApprovedLevies")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div55")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevOtherLevies")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentOtherLevies")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div57")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevMetroTax")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentMetroTax")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div58")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevSpecial")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentSpecial")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div59")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevTaxIncrement")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentTaxIncrement")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div60")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevFiscalDisparity")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentFiscalDisparity")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div61")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevNonSchoolVoterLevy")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentNonSchoolVoterLevy")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div62")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPrevTaxBeforeSA")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentTaxBeforeSA")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div63")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtTotalSA")).Text.Trim()); Output2.Add(" "); description.Add(driver.FindElement(By.Id("Div64")).Text.Trim()); Output1.Add(" "); Output2.Add(driver.FindElement(By.Id("txtSAPrincipal")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div65")).Text.Trim()); Output1.Add(" "); Output2.Add(driver.FindElement(By.Id("txtSAInterest")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div66")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPriorTaxAndSA")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentTaxAndSA")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div67")).Text.Trim()); Output1.Add(" "); Output2.Add(driver.FindElement(By.Id("txtFirstHalfTax")).Text.Trim()); description.Add(driver.FindElement(By.Id("Div69")).Text.Trim()); Output1.Add(" "); Output2.Add(driver.FindElement(By.Id("txtSecondHalfTax")).Text.Trim()); Output1.Add(driver.FindElement(By.Id("txtPriorYear")).Text.Trim()); Output2.Add(driver.FindElement(By.Id("txtCurrentYear")).Text.Trim()); string deli = (driver.FindElement(By.Id("txtDelinquentInd")).Text.Trim()); string msg = ""; if (deli.Contains("")) { deli = "NO"; msg = " "; } else { deli = "Yes"; msg = "Taxes are Delinquent. Please contact county for tax information"; } string tax_address = driver.FindElement(By.Id("lblDeptHeading")).Text.Trim().Replace("\r\n", ""); string descriptionN = "Tax Year" + "~" + description[0] + "~" + "Credits that reduce property taxes " + description[1] + "~" + "Credits that reduce property taxes " + description[2] + "~" + description[3] + "~" + "County: " + description[4] + "~" + description[5] + "~" + "City or Town: " + description[6] + "~" + description[7] + "~" + "School District: " + description[8] + " A. Voter Approved Levies" + "~" + description[9] + "~" + "Special Taxing Districts " + description[10] + "~" + description[11] + "~" + description[12] + "~" + description[13] + "~" + description[14] + "~" + description[15] + "~" + description[16] + "~" + description[17] + "~" + description[18] + "~" + description[19] + "~" + description[20] + "~" + description[21] + "~" + "Delinquent Taxes" + "~" + "Comments" + "~" + "Tax Address"; string taxInfo1 = Output1[22] + "~" + Output1[0] + "~" + Output1[1] + "~" + Output1[2] + "~" + Output1[3] + "~" + Output1[4] + "~" + Output1[5] + "~" + Output1[6] + "~" + Output1[7] + "~" + Output1[8] + "~" + Output1[9] + "~" + Output1[10] + "~" + Output1[11] + "~" + Output1[12] + "~" + Output1[13] + "~" + Output1[14] + "~" + Output1[15] + "~" + Output1[16] + "~" + Output1[17] + "~" + Output1[18] + "~" + Output1[19] + "~" + Output1[20] + "~" + Output1[21] + "~" + deli + "~" + msg + "~" + tax_address; string taxInfo11 = Output2[22] + "~" + Output2[0] + "~" + Output2[1] + "~" + Output2[2] + "~" + Output2[3] + "~" + Output2[4] + "~" + Output2[5] + "~" + Output2[6] + "~" + Output2[7] + "~" + Output2[8] + "~" + Output2[9] + "~" + Output2[10] + "~" + Output2[11] + "~" + Output2[12] + "~" + Output2[13] + "~" + Output2[14] + "~" + Output2[15] + "~" + Output2[16] + "~" + Output2[17] + "~" + Output2[18] + "~" + Output2[19] + "~" + Output2[20] + "~" + Output2[21] + "~" + deli + "~" + msg + "~" + tax_address; DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + descriptionN + "' where Id = '" + 463 + "'"); gc.insert_date(orderNumber, parcel_id, 463, taxInfo1, 1, DateTime.Now); gc.insert_date(orderNumber, parcel_id, 463, taxInfo11, 1, DateTime.Now); //Assessment details Output1A.Add(driver.FindElement(By.Id("txtPriorYear")).Text.Trim()); Output2A.Add(driver.FindElement(By.Id("txtCurrentYear")).Text.Trim()); Output1A.Add(driver.FindElement(By.Id("txtPriorMarketValue")).Text.Trim()); Output2A.Add(driver.FindElement(By.Id("txtCurrentEstimatedMarketValue")).Text.Trim()); Output1A.Add(driver.FindElement(By.Id("txtPriorHmstdExclusion")).Text.Trim()); Output2A.Add(driver.FindElement(By.Id("txtCurrentHmstdExclusion")).Text.Trim()); Output1A.Add(driver.FindElement(By.Id("txtPriorTaxableMarketValue")).Text.Trim()); Output2A.Add(driver.FindElement(By.Id("txtCurrentTaxableMarketValue")).Text.Trim()); Output1A.Add(driver.FindElement(By.Id("txtPriorNewImprovements")).Text.Trim()); Output2A.Add(driver.FindElement(By.Id("txtCurrentNewImprovements")).Text.Trim()); Output1A.Add(driver.FindElement(By.Id("txtPriorValueClass1")).Text.Trim()); Output2A.Add(driver.FindElement(By.Id("txtValueClass1")).Text.Trim()); string Assessemt1 = Output1A[0] + "~" + Output1A[1] + "~" + Output1A[2] + "~" + Output1A[3] + "~" + Output1A[4] + "~" + Output1A[5]; string Assessemt11 = Output2A[0] + "~" + Output2A[1] + "~" + Output2A[2] + "~" + Output2A[3] + "~" + Output2A[4] + "~" + Output2A[5]; gc.insert_date(orderNumber, parcel_id, 462, Assessemt1, 1, DateTime.Now); gc.insert_date(orderNumber, parcel_id, 462, Assessemt11, 1, DateTime.Now); //download taxbill try { IWebElement Itaxbill5 = driver.FindElement(By.Id("hplTaxStmntPDF")); string URL15 = Itaxbill5.GetAttribute("href"); gc.downloadfile(URL15, orderNumber, parcel_id, "TaxBill1", "MN", "Dakota"); } catch { } } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MN", "Dakota", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); HttpContext.Current.Session["TitleFlex_Search"] = ""; gc.mergpdf(orderNumber, "MN", "Dakota"); return "Data Inserted Successfully"; } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_ILWill(string houseno, string sname, string stype, string unitnumber, string parcelNumber, string searchType, string orderNumber, string ownername, 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 ChromeDriver(); //driver = new PhantomJSDriver() using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { if (directParcel == "") { Address = houseno + " " + sname + " " + stype + " " + unitnumber; } else { Address = houseno + " " + directParcel + " " + sname + " " + stype + " " + unitnumber; } gc.TitleFlexSearch(orderNumber, "", ownername, Address, "IL", "Will"); 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_ILWill"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.willcountysoa.com/search.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_btnContinue")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_hlAddress")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_txStreetFrom")).SendKeys(houseno); driver.FindElement(By.Id("ctl00_BC_txStreetName")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "IL", "Will"); driver.FindElement(By.Id("ctl00_BC_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("//*[@id='ctl00_BC_gvParcels']/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiAddresssearch", driver, "IL", "Will"); foreach (IWebElement Multi in MultiTR) { if (maxCheck <= 25) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count > 2 && !Multi.Text.Contains("Displaying") && !Multi.Text.Contains("Pin")) { parcelNumber = MultiTD[0].Text; Address = MultiTD[1].Text; City = MultiTD[2].Text; Zip = MultiTD[3].Text; Class = MultiTD[4].Text; Multidata = Address + "~" + City + "~" + Zip + "~" + Class; gc.insert_date(orderNumber, parcelNumber, 394, Multidata, 1, DateTime.Now); maxCheck++; } } } if (MultiTR.Count > 30) { HttpContext.Current.Session["multiparcel_ILWill_count"] = "Maximum"; driver.Quit(); return("Maximum"); //return GlobalClass.multiparcel_ILWill = "Yes"; } if (MultiTR.Count > 5 && MultiTR.Count < 30) { HttpContext.Current.Session["multiparcel_ILWill"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["titleparcel"] != null && HttpContext.Current.Session["titleparcel"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.Navigate().GoToUrl("http://www.willcountysoa.com/search.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_btnContinue")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_hlPIN")).Click(); Thread.Sleep(2000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } Parcel_A = parcelNumber.Substring(0, 2); Parcel_B = parcelNumber.Substring(2, 2); Parcel_C = parcelNumber.Substring(4, 2); Parcel_D = parcelNumber.Substring(6, 3); Parcel_E = parcelNumber.Substring(9, 3); Parcel_F = parcelNumber.Substring(12, 4); driver.FindElement(By.Id("ctl00_BC_txP1")).SendKeys(Parcel_A); driver.FindElement(By.Id("ctl00_BC_txP2")).SendKeys(Parcel_B); driver.FindElement(By.Id("ctl00_BC_txP3")).SendKeys(Parcel_C); driver.FindElement(By.Id("ctl00_BC_txP4")).SendKeys(Parcel_D); driver.FindElement(By.Id("ctl00_BC_txP5")).SendKeys(Parcel_E); driver.FindElement(By.Id("ctl00_BC_txP6")).SendKeys(Parcel_F); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "IL", "Will"); driver.FindElement(By.Id("ctl00_BC_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); } try { IWebElement INodata = driver.FindElement(By.Id("ctl00_BC_gvParcels")); if (INodata.Text.Contains("There are no records that match your criteria")) { HttpContext.Current.Session["Nodata_ILWill"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details InserParcel = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[2]/tbody/tr/td[1]/table/tbody/tr[1]/td")).Text.Replace("PIN #:", ""); if (InserParcel.Contains("-")) { Outparcel = InserParcel.Replace("-", "").Trim(); } // Outparcel = WebDriverTest.After(Outparcel, "PIN #:").Trim(); Residential = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[2]/tbody/tr/td[1]/table/tbody/tr[2]/td")).Text; try { IWebElement Yeartable = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[6]/tbody")); IList <IWebElement> YearTR = Yeartable.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Year in YearTR) { YearTD = Year.FindElements(By.TagName("td")); if (YearTD.Count != 0 && Year.Text.Contains("Year Built:")) { Year_Built = YearTD[1].Text; } } IWebElement LegalTB = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[9]/tbody")); IList <IWebElement> LegalTR = LegalTB.FindElements(By.TagName("tr")); IList <IWebElement> LegalTD; foreach (IWebElement Legal in LegalTR) { LegalTD = Legal.FindElements(By.TagName("td")); if (LegalTD.Count != 0 && !Legal.Text.Contains("") || Legal.Text.Contains("IN")) { Legal_Description = LegalTD[0].Text; } } } catch { } gc.CreatePdf(orderNumber, Outparcel, "Proprty Details", driver, "IL", "Will"); Property_Details = Residential + "~" + Year_Built + "~" + Legal_Description; gc.insert_date(orderNumber, InserParcel, 395, Property_Details, 1, DateTime.Now); //Assement Details try { Assessment_Year = driver.FindElement(By.XPath("//*[@id='Table2']/tbody/tr/td[1]/table/tbody/tr[10]/td")).Text; Assessment_Year = WebDriverTest.After(Assessment_Year, "(").Replace(")", "").Trim(); Land = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[1]/td[2]")).Text; Form_Land = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[1]/td[5]")).Text; Building = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[2]/td[2]")).Text; Form_Building = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[2]/td[5]")).Text; Total = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[3]/td[2]")).Text; Form_Total = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[3]/td[5]")).Text; Assement_Details = Assessment_Year + "~" + Land + "~" + Form_Land + "~" + Building + "~" + Form_Building + "~" + Total + "~" + Form_Total; gc.insert_date(orderNumber, InserParcel, 396, Assement_Details, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Taxing Authority try { driver.Navigate().GoToUrl("http://www.willcountysoa.com/contact.aspx"); Thread.Sleep(2000); gc.CreatePdf(orderNumber, InserParcel, "Authority Details" + TaxYear, driver, "IL", "Will"); Taxing_Authority = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/table/tbody/tr[5]/td[2]")).Text.Replace("\r\n", ""); } catch { } //Tax Information driver.Navigate().GoToUrl("http://willtax.willcountydata.com/ccalm07.asp"); Thread.Sleep(2000); //*[@id="hero"]/div[1]/div/div[1]/div/p/a[1] //IWebElement ITaxPreviousYear = driver.FindElement(By.XPath("//*[@id='hero']/div[1]/div/div[1]/div/p")); //IList<IWebElement> ITaxPreviousYearRow = ITaxPreviousYear.FindElements(By.TagName("a")); //foreach (IWebElement PreviousYear in ITaxPreviousYearRow) //{ // if (PreviousYear.Text != "" && PreviousYear.Text.Contains("VIEW") && !PreviousYear.Text.Contains("PAY") && PreviousYear.Text.Contains("TAXES")) // { // PreviousYearURL = PreviousYear.GetAttribute("href"); // TAXURL.Add(PreviousYearURL); // } //} //try //{ // IWebElement ITaxYear = driver.FindElement(By.XPath("//*[@id='hero']/div[1]/div/div[1]/div/p")); // IList<IWebElement> ITaxYearRow = ITaxYear.FindElements(By.TagName("a")); // foreach (IWebElement Year in ITaxYearRow) // { // if (Year.Text != "" && Year.Text.Contains("VIEW") && Year.Text.Contains("PAY") && Year.Text.Contains("TAXES")) // { // Year.Click(); // IWebElement IYearSearch = driver.FindElement(By.LinkText("YES")); // if (IYearSearch.Text !="" && IYearSearch.Text.Contains("YES")) // { // CurrentYearURL = IYearSearch.GetAttribute("href"); // } // } // } //} //catch { } int i = 0; driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[1]/input")).SendKeys(Outparcel); driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[2]/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); PTaxYear = GlobalClass.Before(driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/center[1]/table/tbody/tr[2]/td")).Text, " Levy Real Estate"); gc.CreatePdf(orderNumber, InserParcel, "Tax Search" + PTaxYear, driver, "IL", "Will"); POwnerName = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text; PMailing_Address1 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[3]/td[2]")).Text; PMailing_Address2 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[4]/td[2]")).Text; PMailing_Address3 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[5]/td[2]")).Text; PMailing_Address = PMailing_Address1 + " " + PMailing_Address2 + " " + PMailing_Address3; PAssessed_Value = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[3]")).Text; PExemptions = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[4]")).Text; PTax_Code = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[4]")).Text; PTax_Rate = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[5]")).Text; gc.CreatePdf(orderNumber, InserParcel, "Tax Details" + PTaxYear, driver, "IL", "Will"); //Current TaxYear try { IWebElement CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p/table/tbody")); IList <IWebElement> CurrentTR = CurrentTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTD; foreach (IWebElement Current in CurrentTR) { CurrentTD = Current.FindElements(By.TagName("td")); if (CurrentTD.Count != 0 && !Current.Text.Contains("Installment") && !Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("----", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PInterest = CurrentTD[2].Text.Replace("\r\n", "----").Trim(); PPaid_Amount = CurrentTD[3].Text.Replace("\r\n", "----").Trim(); PPaid_Date = CurrentTD[4].Text.Replace("\r\n", " ").Trim(); PBalance_Due = CurrentTD[5].Text.Replace("\r\n", "----").Trim(); PCurrent_Year = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + PInterest + "~" + PPaid_Amount + "~" + PPaid_Date + "~" + PBalance_Due; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Year, 1, DateTime.Now); } else if (Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("\r\n", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PCurrent_Yeartotal = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + " " + "~" + " " + "~" + " " + "~" + " "; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Yeartotal, 1, DateTime.Now); } } } catch { } try { IWebElement CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p[2]/table/tbody")); IList <IWebElement> CurrentTR = CurrentTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTD; foreach (IWebElement Current in CurrentTR) { CurrentTD = Current.FindElements(By.TagName("td")); if (CurrentTD.Count != 0 && !Current.Text.Contains("Installment") && !Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("----", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PInterest = CurrentTD[2].Text.Replace("\r\n", "----").Trim(); PPaid_Amount = CurrentTD[3].Text.Replace("\r\n", "----").Trim(); PPaid_Date = CurrentTD[4].Text.Replace("\r\n", " ").Trim(); PBalance_Due = CurrentTD[5].Text.Replace("\r\n", "----").Trim(); PCurrent_Year = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + PInterest + "~" + PPaid_Amount + "~" + PPaid_Date + "~" + PBalance_Due; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Year, 1, DateTime.Now); } else if (Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("\r\n", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PCurrent_Yeartotal = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + " " + "~" + " " + "~" + " " + "~" + " "; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Yeartotal, 1, DateTime.Now); } } } catch { } //Tax Inqiury try { String Parent_Window = driver.CurrentWindowHandle; IWebElement Tax_Enquiry = driver.FindElement(By.LinkText("Five Year Tax Inquiry")); Tax_Enquiry.SendKeys(Keys.Enter); Thread.Sleep(4000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, InserParcel, "Tax Inquiry Details" + PTaxYear, driver, "IL", "Will"); System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(Parent_Window); //driver.Navigate().Back(); } catch { } if (i == 0) { //Tax Distribution try { String Parent_Window5 = driver.CurrentWindowHandle; IWebElement Distribution = driver.FindElement(By.LinkText("Tax Detail Inquiry")); Distribution.SendKeys(Keys.Enter); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, InserParcel, "Tax Distribution" + PTaxYear, driver, "IL", "Will"); IWebElement HeadingDistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); IList <IWebElement> HeadingDistributionTR = HeadingDistributionTB.FindElements(By.TagName("tr")); IList <IWebElement> HeadingDistributionTH; foreach (IWebElement Heading in HeadingDistributionTR) { HeadingDistributionTH = Heading.FindElements(By.TagName("th")); if (HeadingDistributionTH.Count != 0 && !Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") { PFirstYear = HeadingDistributionTH[0].Text; PSecondYear = HeadingDistributionTH[1].Text; } if (HeadingDistributionTH.Count != 0 && Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") { PTaxDisTitle = HeadingDistributionTH[0].Text + "~" + "TaxYear" + "~" + HeadingDistributionTH[1].Text + " " + PFirstYear + "~" + HeadingDistributionTH[2].Text + " " + PFirstYear + "~" + HeadingDistributionTH[3].Text + " " + PSecondYear + "~" + HeadingDistributionTH[4].Text + " " + PSecondYear; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + PTaxDisTitle + "' where Id = '" + 408 + "'"); IWebElement DistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); IList <IWebElement> DistributionTR = DistributionTB.FindElements(By.TagName("tr")); IList <IWebElement> DistributionTD; foreach (IWebElement Distributions in DistributionTR) { DistributionTD = Distributions.FindElements(By.TagName("td")); if (DistributionTD.Count != 0 && !Distributions.Text.Contains("Taxing Body") && !Distributions.Text.Contains(PFirstYear) && Distributions.Text.Trim() != "") { PAuthority = DistributionTD[0].Text.Replace("\r\n", " ").Trim(); PRate_2016 = DistributionTD[1].Text.Replace("\r\n", " ").Trim(); PAmount_2016 = DistributionTD[2].Text.Replace("\r\n", " ").Trim(); PRate_2017 = DistributionTD[3].Text.Replace("\r\n", " ").Trim(); PAmount_2017 = DistributionTD[4].Text.Replace("\r\n", " ").Trim(); PTax_Distribution = PAuthority + "~" + PTaxYear + "~" + PRate_2016 + "~" + PAmount_2016 + "~" + PRate_2017 + "~" + PAmount_2017; gc.insert_date(orderNumber, InserParcel, 408, PTax_Distribution, 1, DateTime.Now); } } System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(Parent_Window5); } catch { } } PTaxInfo_Details = PTaxYear + "~" + POwnerName + "~" + PMailing_Address + "~" + PAssessed_Value + "~" + PExemptions + "~" + PTax_Code + "~" + PTax_Rate + "~" + Taxing_Authority; gc.insert_date(orderNumber, InserParcel, 399, PTaxInfo_Details, 1, DateTime.Now); i++; //if (CurrentYearURL != "") //{ // try // { // try // { // driver.Navigate().GoToUrl(CurrentYearURL); // Thread.Sleep(2000); // driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[1]/input")).SendKeys(Outparcel); // driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[2]/input[1]")).SendKeys(Keys.Enter); // Thread.Sleep(2000); // TaxYear = GlobalClass.Before(driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/center[1]/table/tbody/tr[2]/td")).Text, " Levy Real Estate"); // gc.CreatePdf(orderNumber, InserParcel, "Tax Search" + TaxYear, driver, "IL", "Will"); // OwnerName = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text; // Mailing_Address1 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[3]/td[2]")).Text; // Mailing_Address2 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[4]/td[2]")).Text; // Mailing_Address3 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[5]/td[2]")).Text; // Mailing_Address = Mailing_Address1 + " " + Mailing_Address2 + " " + Mailing_Address3; // Assessed_Value = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[3]")).Text; // Exemptions = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[4]")).Text; // Tax_Code = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[4]")).Text; // Tax_Rate = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[5]")).Text; // gc.CreatePdf(orderNumber, InserParcel, "Tax Details" + TaxYear, driver, "IL", "Will"); // } // catch // { } // //Current TaxYear // try // { // try // { // CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p/table/tbody")); // } // catch { } // try // { // if (CurrentTB.Text != "") // { // CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p[2]/table/tbody")); // } // } // catch { } // IList<IWebElement> CurrentTR = CurrentTB.FindElements(By.TagName("tr")); // IList<IWebElement> CurrentTD; // foreach (IWebElement Current in CurrentTR) // { // CurrentTD = Current.FindElements(By.TagName("td")); // if (CurrentTD.Count != 0 && !Current.Text.Contains("Installment") && !Current.Text.Contains("Total Base Tax")) // { // Installment = CurrentTD[0].Text.Replace("----", " ").Trim(); // Tax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); // Interest = CurrentTD[2].Text.Replace("\r\n", "----").Trim(); // Paid_Amount = CurrentTD[3].Text.Replace("\r\n", "----").Trim(); // Paid_Date = CurrentTD[4].Text.Replace("\r\n", " ").Trim(); // Balance_Due = CurrentTD[5].Text.Replace("\r\n", "----").Trim(); // Current_Year = TaxYear + "~" + Installment + "~" + Tax_Amount + "~" + Interest + "~" + Paid_Amount + "~" + Paid_Date + "~" + Balance_Due; // gc.insert_date(orderNumber, InserParcel, 402, Current_Year, 1, DateTime.Now); // } // else if (Current.Text.Contains("Total Base Tax")) // { // Installment = CurrentTD[0].Text.Replace("\r\n", " ").Trim(); // Tax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); // Current_Yeartotal = TaxYear + "~" + Installment + "~" + Tax_Amount + "~" + " " + "~" + " " + "~" + " " + "~" + " "; // gc.insert_date(orderNumber, InserParcel, 402, Current_Yeartotal, 1, DateTime.Now); // } // } // } // catch // { } // //Tax Inqiury // try // { // String Parent_Window = driver.CurrentWindowHandle; // IWebElement Tax_Enquiry = driver.FindElement(By.LinkText("Five Year Tax Inquiry")); // string strTax_Enquiry = Tax_Enquiry.GetAttribute("href"); // Tax_Enquiry.SendKeys(Keys.Control + "t"); // Thread.Sleep(4000); // gc.CreatePdf(orderNumber, InserParcel, "Tax Inquiry Details" + TaxYear, driver, "IL", "Will"); // System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // driver.SwitchTo().Window(Parent_Window); // } // catch // { } // //Tax Distribution // try // { // String Parent_Window5 = driver.CurrentWindowHandle; // IWebElement Distribution = driver.FindElement(By.LinkText("Tax Detail Inquiry")); // Thread.Sleep(2000); // Distribution.SendKeys(Keys.Control + "t"); // driver.SwitchTo().Window(driver.WindowHandles.Last()); // gc.CreatePdf(orderNumber, InserParcel, "Tax Distribution" + TaxYear, driver, "IL", "Will"); // IWebElement HeadingDistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); // IList<IWebElement> HeadingDistributionTR = HeadingDistributionTB.FindElements(By.TagName("tr")); // IList<IWebElement> HeadingDistributionTH; // foreach (IWebElement Heading in HeadingDistributionTR) // { // HeadingDistributionTH = Heading.FindElements(By.TagName("th")); // if (HeadingDistributionTH.Count != 0 && !Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") // { // FirstYear = HeadingDistributionTH[0].Text; // SecondYear = HeadingDistributionTH[1].Text; // } // if (HeadingDistributionTH.Count != 0 && Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") // { // TaxDisTitle = HeadingDistributionTH[0].Text + "~" + "TaxYear" + "~" + HeadingDistributionTH[1].Text + " " + FirstYear + "~" + HeadingDistributionTH[2].Text + " " + FirstYear + "~" + HeadingDistributionTH[3].Text + " " + SecondYear + "~" + HeadingDistributionTH[4].Text + " " + SecondYear; // } // } // db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + TaxDisTitle + "' where Id = '" + 408 + "'"); // IWebElement DistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); // IList<IWebElement> DistributionTR = DistributionTB.FindElements(By.TagName("tr")); // IList<IWebElement> DistributionTD; // foreach (IWebElement Distributions in DistributionTR) // { // DistributionTD = Distributions.FindElements(By.TagName("td")); // if (DistributionTD.Count != 0 && !Distributions.Text.Contains("Taxing Body") && !Distributions.Text.Contains(FirstYear) && Distributions.Text.Trim() != "") // { // Authority = DistributionTD[0].Text.Replace("\r\n", " ").Trim(); // Rate_2016 = DistributionTD[1].Text.Replace("\r\n", " ").Trim(); // Amount_2016 = DistributionTD[2].Text.Replace("\r\n", " ").Trim(); // Rate_2017 = DistributionTD[3].Text.Replace("\r\n", " ").Trim(); // Amount_2017 = DistributionTD[4].Text.Replace("\r\n", " ").Trim(); // Tax_Distribution = Authority + "~" + TaxYear + "~" + Rate_2016 + "~" + Amount_2016 + "~" + Rate_2017 + "~" + Amount_2017; // gc.insert_date(orderNumber, InserParcel, 408, Tax_Distribution, 1, DateTime.Now); // } // } // System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // driver.SwitchTo().Window(Parent_Window5); // } // catch // { } // try // { // driver.Navigate().GoToUrl("http://www.willcountysoa.com/contact.aspx"); // Thread.Sleep(2000); // gc.CreatePdf(orderNumber, InserParcel, "Authority Details" + TaxYear, driver, "IL", "Will"); // Taxing_Authority = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/table/tbody/tr[5]/td[2]")).Text.Replace("\r\n", ""); // } // catch { } // TaxInfo_Details = TaxYear + "~" + OwnerName + "~" + Mailing_Address + "~" + Assessed_Value + "~" + Exemptions + "~" + Tax_Code + "~" + Tax_Rate + "~" + Taxing_Authority; // gc.insert_date(orderNumber, InserParcel, 399, TaxInfo_Details, 1, DateTime.Now); // } // catch { } //} //Tax Redemption try { driver.Navigate().GoToUrl("http://willtax.willcountydata.com/ccwtx20.asp"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/p[1]/input")).SendKeys(Outparcel); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/p[2]/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, InserParcel, "Tax Redemption" + TaxYear, driver, "IL", "Will"); List <string> Bill = new List <string>(); IWebElement MultiOwnerTable = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody")); IList <IWebElement> MultiOwnerRowurl = MultiOwnerTable.FindElements(By.TagName("td")); IList <IWebElement> Multibill; foreach (IWebElement row1 in MultiOwnerRowurl) { Multibill = row1.FindElements(By.TagName("a")); if (Multibill.Count != 0 && row1.Text != "") { try { string MultiOwnerTD = Multibill[0].GetAttribute("href"); Bill.Add(MultiOwnerTD); } catch { } } } try { foreach (string url in Bill) { driver.Navigate().GoToUrl(url); string Tayear = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table[1]/tbody/tr[2]/td[3]")).Text; gc.CreatePdf(orderNumber, InserParcel, "Tax Redemption" + Tayear, driver, "IL", "Will"); } } catch { } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "IL", "Will", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "IL", "Will"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_CookIL(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 Parcel_number = "", Tax_Authority = "", As_of = "", Total_Due = ""; //request.UseDefaultCredentials = true; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { if (searchType == "titleflex") { //string address = houseno + " " + direction + " " + streetname + " " + streettype; gc.TitleFlexSearch(orderNumber, "", ownername, Address.Trim(), "IL", "Cook"); 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_CookIL"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString().Replace("-", ""); searchType = "parcel"; } driver.Navigate().GoToUrl("https://www.cookcountytreasurer.com/setsearchparameters.aspx"); if (searchType == "parcel") { driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN1")).SendKeys(parcelNumber.Substring(0, 2)); driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN2")).SendKeys(parcelNumber.Substring(2, 2)); driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN3")).SendKeys(parcelNumber.Substring(4, 3)); driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN4")).SendKeys(parcelNumber.Substring(7, 3)); driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN5")).SendKeys(parcelNumber.Substring(10, 4)); gc.CreatePdf(orderNumber, parcelNumber, "Tax After click", driver, "IL", "Cook"); driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_cmdContinue")).Click(); Thread.Sleep(2000); try { IWebElement Inodata = driver.FindElement(By.Id("ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_panNoPropertyFoundMessage")); if (Inodata.Text.Contains("No property was found under this Property Index Number (PIN).")) { HttpContext.Current.Session["Nodata_CookIL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewNavigationDesktop1_ASPxMenu1_DXI0_T']")).Click(); Thread.Sleep(2000); Parcel_number = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewHeader1_lblPIN")).Text; string propertlocation1 = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewPropertyAndMailingAddress1_lblPropertyAddress")).Text; string propertlocation2 = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewPropertyAndMailingAddress1_lblPropertyCityStateZipCode")).Text; string propertlocation = propertlocation1 + propertlocation2; string Mailingaddress1 = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewPropertyAndMailingAddress1_lblTaxpayerName1")).Text; string Mailingaddress2 = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewPropertyAndMailingAddress1_lblMailingAddress1")).Text; string Mailingaddress3 = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewPropertyAndMailingAddress1_lblMailingCityStateZipCode1")).Text; string Mailingaddress = Mailingaddress1 + Mailingaddress2 + Mailingaddress3; string taxyear = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewYourPropertyTaxOverviewPayments1_lblCurrentTaxYear")).Text; string totalamtbill = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewYourPropertyTaxOverviewPayments1_lblCurrentTotalAmountBilled")).Text; string totalamtdue = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewYourPropertyTaxOverviewPayments1_lblCurrentTotalAmountDue")).Text.Trim(); Tax_Authority = driver.FindElement(By.XPath("//*[@id='PageFooter']/div[2]/div/div/div[1]/div/div[1]")).Text.Trim(); gc.CreatePdf(orderNumber, Parcel_number, "Tax Bill detail", driver, "IL", "Cook"); for (int i = 1; i < 3; i++) { IWebElement instalmenttable = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewYourPropertyTaxOverviewPayments1_panOnlineCurrent']/div[2]/div[1]/div/div[" + i + "]")); string instalment = GlobalClass.Before(instalmenttable.Text, "Original Billed Amount:"); string Original_Billed = gc.Between(instalmenttable.Text, "Original Billed Amount:", "Due Date:").Trim(); string DueDate = gc.Between(instalmenttable.Text, "Due Date:", "Tax:").Trim(); string tax = gc.Between(instalmenttable.Text, "Tax:", "Interest:").Trim(); string Interest = gc.Between(instalmenttable.Text, "Interest:", "Last Payment Received:"); string LastPaymentReceived = gc.Between(instalmenttable.Text, "Last Payment Received:", "Date Received:"); string DateReceived = gc.Between(instalmenttable.Text, "Date Received:", "Current Amount Due:").Trim(); string CurrentAmountDue = GlobalClass.After(instalmenttable.Text, "Current Amount Due:").Trim(); string tax_bill_result = propertlocation + "~" + Mailingaddress + "~" + taxyear + "~" + totalamtbill + "~" + instalment + "~" + Original_Billed + "~" + DueDate + "~" + tax + "~" + Interest + "~" + LastPaymentReceived + "~" + DateReceived + "~" + CurrentAmountDue + "~" + totalamtdue + "~" + Tax_Authority; gc.insert_date(orderNumber, Parcel_number, 1035, tax_bill_result, 1, DateTime.Now); } //Tax Exemptions driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewNavigationDesktop1_ASPxMenu1_DXI3_T']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Tax Exemptions", driver, "IL", "Cook"); IWebElement exceptionelement = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewExemptionHistoryResults1_panViewDataSet']/div[1]/p[1]")); string exceptiontaxyear = gc.Between(exceptionelement.Text, "for", ".").Trim(); IWebElement exceptiontaxyeartable = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewExemptionHistoryResults1_panViewDataSet']/div[3]/div[1]/table/tbody")); IList <IWebElement> exceptiontaxyearrow = exceptiontaxyeartable.FindElements(By.TagName("tr")); IList <IWebElement> exceptiontaxyearid; foreach (IWebElement exception in exceptiontaxyearrow) { exceptiontaxyearid = exception.FindElements(By.TagName("td")); if (exceptiontaxyearid[0].Text.Trim() == "") { DBconnection dbconn = new DBconnection(); string execptionyear = exceptiontaxyear + "~" + exceptiontaxyearid[1].Text + "~" + exceptiontaxyearid[2].Text + "~" + exceptiontaxyearid[3].Text + "~" + exceptiontaxyearid[4].Text; dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + execptionyear + "' where Id = '" + 1036 + "'"); } if (exceptiontaxyearid.Count != 0 && exceptiontaxyearid[0].Text.Trim() != "") { string exceptionyearresult = exceptiontaxyearid[0].Text + "~" + exceptiontaxyearid[1].Text + "~" + exceptiontaxyearid[2].Text + "~" + exceptiontaxyearid[3].Text + "~" + exceptiontaxyearid[4].Text; gc.insert_date(orderNumber, Parcel_number, 1036, exceptionyearresult, 1, DateTime.Now); } } //Delinquent Taxes try { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewNavigationDesktop1_ASPxMenu1_DXI4_T']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Taxes1", driver, "IL", "Cook"); string tax_year = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewDelinquentPropertyTaxResults1_DataList1_lblTaxYear_0")).Text; string tax_type = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewDelinquentPropertyTaxResults1_DataList1_lblTaxType_0")).Text; string Total_amt = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewDelinquentPropertyTaxResults1_DataList1_lblTotalAmountDue_0")).Text; string Name_tax = driver.FindElement(By.Id("ContentPlaceHolder1_DataViewDelinquentPropertyTaxResults1_DataList1_lblTaxpayerName_0")).Text; string delquenttaxfirstresult = tax_year + "~" + tax_type + "~" + Total_amt + "~" + Name_tax + "~" + propertlocation; gc.insert_date(orderNumber, Parcel_number, 1044, delquenttaxfirstresult, 1, DateTime.Now); } catch { } //Overview - Payments try { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewNavigationDesktop1_ASPxMenu1_DXI0_T']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Taxes", driver, "IL", "Cook"); string urgent_delequent = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewYourPropertyTaxOverviewResults1_DataViewYourPropertyTaxOverviewPayments1_panTaxesSoldTaxNotice']/div/div[2]/div[4]")).Text.Trim(); gc.insert_date(orderNumber, Parcel_number, 1056, urgent_delequent, 1, DateTime.Now); } catch { } //Download Your Tax Bill driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewNavigationDesktop1_ASPxMenu1_DXI1_T']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Taxes", driver, "IL", "Cook"); IWebElement downloadtax = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewRequestADuplicateTaxBillResults1_DataViewYourPropertyTaxOverviewTaxBills1_panCurrentTaxBill']/div/a[2]")); string downloadhref = downloadtax.GetAttribute("href"); gc.downloadfile(downloadhref, orderNumber, Parcel_number, "ViewTaxBill.pdf", "IL", "Cook"); Thread.Sleep(2000); //Taxing Districts' Financials try { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_DataViewNavigationDesktop1_ASPxMenu1_DXI9_T']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Taxing Districts Financials second", driver, "IL", "Cook"); driver.FindElement(By.Id("ContentPlaceHolder1_DataViewTaxingDistrictsResults1_ASPxPageControl1_T0")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Taxing Districts Financials First", driver, "IL", "Cook"); } catch { } //Delinquent Property Tax Search try { driver.Navigate().GoToUrl("https://taxdelinquent.cookcountyclerk.com/"); driver.FindElement(By.Id("Pin")).SendKeys(Parcel_number); gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Property Tax Search", driver, "IL", "Cook"); driver.FindElement(By.XPath("//*[@id='collapseOne']/div[2]/form/div[3]/button")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Property Tax Sold", driver, "IL", "Cook"); try { string nodeliquent = driver.FindElement(By.XPath("//*[@id='collapseOne']/div[2]/form/div[1]/div")).Text.Trim(); if (nodeliquent.Trim() != "") { gc.insert_date(orderNumber, Parcel_number, 1120, nodeliquent, 1, DateTime.Now); } } catch { } try { IWebElement dateoftable = driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[3]/div/h6")); string dateof = GlobalClass.After(dateoftable.Text, "Data as of").Trim(); IWebElement solddelinquenttaxtable = driver.FindElement(By.XPath("//*[@id='collapseTwo']/div[1]/table/tbody")); IList <IWebElement> solddelequentrow = solddelinquenttaxtable.FindElements(By.TagName("tr")); IList <IWebElement> soldid; foreach (IWebElement sold in solddelequentrow) { soldid = sold.FindElements(By.TagName("td")); if (soldid.Count != 0) { string soldresult = dateof + "~" + soldid[0].Text + "~" + soldid[1].Text + "~" + soldid[2].Text + "~" + soldid[3].Text + "~" + soldid[4].Text + "~" + soldid[5].Text; gc.insert_date(orderNumber, Parcel_number, 1057, soldresult, 1, DateTime.Now); dateof = ""; } } } catch { } } catch { } driver.Quit(); gc.mergpdf(orderNumber, "IL", "Cook"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Jackson(string address, string parcelNumber, string ownername, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string TaxingAuthority = ""; 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"); // Tax Authority try { driver.Navigate().GoToUrl("https://www.jacksongov.org/"); Thread.Sleep(4000); string Taxdata = driver.FindElement(By.XPath("//*[@id='divInfoAdv4a53fb58-d028-47d8-88f0-e3a4adb4ebf3']/div[1]/div/div/ol/li")).Text.Replace("\r\n", " "); TaxingAuthority = Taxdata.Replace("Contact Directory", "").Trim(); } catch { } // Property Details driver.Navigate().GoToUrl("https://ascendweb.jacksongov.org/ascend/(wk2eksmei2b2j1455lgftmfb)/search.aspx"); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Home page", driver, "MO", "Jackson"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, address, "MO", "Jackson"); 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_JacksonMO"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("mSearchControl_mStreetAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MO", "Jackson"); driver.FindElement(By.Id("mSearchControl_mSubmit")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "MO", "Jackson"); try { string strparcel = ""; int s = 0; int Max = 0; IWebElement add_search = driver.FindElement(By.XPath("//*[@id='mResultscontrol_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRadd_search = add_search.FindElements(By.TagName("tr")); IList <IWebElement> THadd_search = add_search.FindElements(By.TagName("th")); IList <IWebElement> TDadd_search; foreach (IWebElement row in TRadd_search) { TDadd_search = row.FindElements(By.TagName("td")); if (TRadd_search.Count >= 2 && TDadd_search.Count != 0 && !row.Text.Contains("Location Address")) { string parcel_id = TDadd_search[0].Text; if (parcel_id.Trim().Replace("-", "").Count() == 17 && parcel_id.Trim().Replace("-", "").Count() != 9 && !row.Text.Contains("No Values Found")) { string Address = TDadd_search[1].Text; string ownername1 = TDadd_search[2].Text; string AddressDetails = ownername1 + "~" + Address; gc.insert_date(orderNumber, parcel_id, 1420, AddressDetails, 1, DateTime.Now); s++; strparcel = parcel_id; Max++; } } } if (s == 1) { driver.FindElement(By.LinkText(strparcel)).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Property Details", driver, "MO", "Jackson"); } if (s > 1 && s < 25) { gc.CreatePdf_WOP(orderNumber, "Multi Address search result", driver, "MO", "Jackson"); HttpContext.Current.Session["MOJackson"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (s > 25) { HttpContext.Current.Session["multiParcel_MOJackson_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } if (Max == 0) { HttpContext.Current.Session["Nodata_JacksonMO"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "ownername") { if (!ownername.Contains('*')) { ownername = ownername + "*"; } driver.FindElement(By.Id("mSearchControl_mName")).SendKeys(ownername); gc.CreatePdf(orderNumber, parcelNumber, "ownername search", driver, "MO", "Jackson"); driver.FindElement(By.Id("mSearchControl_mSubmit")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "ownername search Result", driver, "MO", "Jackson"); try { string strparcel = ""; int Max = 0; IWebElement add_search = driver.FindElement(By.XPath("//*[@id='mResultscontrol_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRadd_search = add_search.FindElements(By.TagName("tr")); IList <IWebElement> THadd_search = add_search.FindElements(By.TagName("th")); IList <IWebElement> TDadd_search; foreach (IWebElement row in TRadd_search) { TDadd_search = row.FindElements(By.TagName("td")); if (TRadd_search.Count > 3 && TDadd_search.Count != 0 && !row.Text.Contains("Location Address") && !row.Text.Contains("No Values Found")) { string parcel_id = TDadd_search[0].Text; if (parcel_id.Trim().Replace("-", "").Count() == 17 && parcel_id.Trim().Replace("-", "").Count() != 9 && !row.Text.Contains("No Values Found")) { string Address = TDadd_search[2].Text; string ownername1 = TDadd_search[1].Text; string AddressDetails = ownername1 + "~" + Address; gc.insert_date(orderNumber, parcel_id, 1420, AddressDetails, 1, DateTime.Now); strparcel = parcel_id; Max++; } } if (TRadd_search.Count == 3) { driver.FindElement(By.XPath("//*[@id='mResultscontrol_mGrid_RealDataGrid']/tbody/tr[3]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Property Details", driver, "MO", "Jackson"); } } if (TRadd_search.Count < 27 && TRadd_search.Count > 3) { gc.CreatePdf_WOP(orderNumber, "Multi Address search result", driver, "MO", "Jackson"); HttpContext.Current.Session["MOJackson"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (TRadd_search.Count >= 27 && TRadd_search.Count > 3) { HttpContext.Current.Session["multiParcel_MOJackson_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } if (Max == 0) { HttpContext.Current.Session["Nodata_JacksonMO"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.Id("mSearchControl_mParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "parcel search", driver, "MO", "Jackson"); driver.FindElement(By.Id("mSearchControl_mSubmit")).SendKeys(Keys.Enter); Thread.Sleep(7000); gc.CreatePdf(orderNumber, parcelNumber, "parcel search Result", driver, "MO", "Jackson"); try { //No Data Found string nodata = driver.FindElement(By.Id("mSearchControl_mSearchFieldsValidator")).Text; if (nodata.Contains("does not exist")) { HttpContext.Current.Session["Nodata_JacksonMO"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } try { //No Data Found string nodata = driver.FindElement(By.Id("Table4")).Text; if (nodata.Contains("0 records returned") && nodata.Contains("No Values Found")) { HttpContext.Current.Session["Nodata_JacksonMO"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } string bulkdata = driver.FindElement(By.XPath("//*[@id='mTabGroup_Summary_mGeneralInformation_mGrid_RealDataGrid']/table/tbody")).Text; string Property_Address = "", owner_name = "", PropertyDesc = "", PropertyCategory = "", Status = "", TaxCodeArea = "", PropertyClass = "", TaxPayer = "", MortgageCompany = ""; string bulkdata1 = driver.FindElement(By.XPath("//*[@id='ParcelSitusTable']/tbody")).Text; parcelNumber = gc.Between(bulkdata1, "Parcel Number", "Property Address").Trim(); Property_Address = GlobalClass.After(bulkdata1, "Property Address").Trim(); PropertyDesc = gc.Between(bulkdata, "Property Description", "Property Category").Trim(); PropertyCategory = gc.Between(bulkdata, "Property Category", "Status").Trim().Replace(":", ""); Status = gc.Between(bulkdata, "Status", "Tax Code Area").Trim().Replace(":", ""); TaxCodeArea = GlobalClass.After(bulkdata, "Tax Code Area").Trim().Replace(":", ""); try { PropertyClass = driver.FindElement(By.XPath("//*[@id='mTabGroup_Summary_Propertycharacteristics1_mGrid_RealDataGrid']/tbody/tr/td[2]")).Text; } catch { } try { TaxPayer = driver.FindElement(By.XPath("//*[@id='RealDataGrid']/tbody/tr[2]/td[3]")).Text; owner_name = driver.FindElement(By.XPath("//*[@id='RealDataGrid']/tbody/tr[3]/td[3]")).Text; MortgageCompany = driver.FindElement(By.XPath("//*[@id='RealDataGrid']/tbody/tr[4]/td[3]")).Text; } catch { } string propertydetails = Property_Address + "~" + PropertyDesc + "~" + PropertyCategory + "~" + Status + "~" + TaxCodeArea + "~" + PropertyClass + "~" + TaxPayer + "~" + owner_name + "~" + MortgageCompany; gc.insert_date(orderNumber, parcelNumber, 1407, propertydetails, 1, DateTime.Now); // Assessment Details string taxyear = "", taxyear1 = "", valuetype = "", taxyear2 = ""; try { IWebElement Assessmentdetails = driver.FindElement(By.XPath("//*[@id='mTabGroup_Values_mValues_mGrid_RealDataGrid']/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) { if (!row.Text.Contains("Value Type")) { valuetype += TDAssessmentdetails[0].Text + "~"; } if (!row.Text.Contains("No Values Found")) { taxyear += TDAssessmentdetails[1].Text.Replace("Tax Year", "").Replace("\r\n", "") + "~"; taxyear1 += TDAssessmentdetails[2].Text.Replace("Tax Year", "").Replace("\r\n", "") + "~"; taxyear2 += TDAssessmentdetails[3].Text.Replace("Tax Year", "").Replace("\r\n", "") + "~"; } } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Tax Year~" + valuetype.Remove(valuetype.Length - 1, 1) + "' where Id = '" + 1408 + "'"); gc.insert_date(orderNumber, parcelNumber, 1408, taxyear.Remove(taxyear.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1408, taxyear1.Remove(taxyear1.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1408, taxyear2.Remove(taxyear2.Length - 1, 1), 1, DateTime.Now); } catch (Exception ex) { } // Tax Distribution Details string bulkdata2 = driver.FindElement(By.XPath("//*[@id='mTabGroup_Summary_mGeneralInformation_mGrid_RealDataGrid']/table/tbody")).Text; IList <IWebElement> TRTaxInfo1 = driver.FindElements(By.XPath("//*[@id='RealDataGrid']/tbody")); IList <IWebElement> TDTaxInfo1, ValueTaxInfo1; foreach (IWebElement row in TRTaxInfo1) { TDTaxInfo1 = row.FindElements(By.TagName("tr")); if (TRTaxInfo1.Count > 1 && TDTaxInfo1.Count != 0 && row.Text.Contains("District") && row.Text.Trim() != "") { foreach (IWebElement row2 in TDTaxInfo1) { ValueTaxInfo1 = row2.FindElements(By.TagName("td")); if (ValueTaxInfo1.Count > 1 && TDTaxInfo1.Count != 0 && !row2.Text.Contains("District") && row2.Text.Trim() != "" && ValueTaxInfo1.Count() == 2) { string taxdetails1 = ValueTaxInfo1[0].Text + "~" + ValueTaxInfo1[1].Text; gc.insert_date(orderNumber, parcelNumber, 1409, taxdetails1, 1, DateTime.Now); } } } } // Tax Payment History Details try { IWebElement Taxpay = driver.FindElement(By.XPath("//*[@id='mTabGroup_Receipts_mReceipts_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRTaxpay = Taxpay.FindElements(By.TagName("tr")); IList <IWebElement> THTaxpay = Taxpay.FindElements(By.TagName("th")); IList <IWebElement> TDTaxpay; foreach (IWebElement row in TRTaxpay) { TDTaxpay = row.FindElements(By.TagName("td")); if (TDTaxpay.Count != 0 && !row.Text.Contains("Receipt No.")) { string taxPaymentdetails = TDTaxpay[1].Text + "~" + TDTaxpay[0].Text + "~" + TDTaxpay[2].Text + "~" + TDTaxpay[3].Text + "~" + TDTaxpay[4].Text + "~" + TDTaxpay[5].Text + "~" + TaxingAuthority; gc.insert_date(orderNumber, parcelNumber, 1410, taxPaymentdetails, 1, DateTime.Now); } } } catch { } // Tax Due Details string strInterest = ""; try { IWebElement Taxdue = driver.FindElement(By.XPath("//*[@id='mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRTaxdue = Taxdue.FindElements(By.TagName("tr")); IList <IWebElement> THTaxdue = Taxdue.FindElements(By.TagName("th")); IList <IWebElement> TDTaxdue; foreach (IWebElement row in TRTaxdue) { TDTaxdue = row.FindElements(By.TagName("td")); if (TDTaxdue.Count != 0 && !row.Text.Contains("Cumulative Due")) { string taxPaymentdetails = TDTaxdue[0].Text + "~" + TDTaxdue[1].Text + "~" + TDTaxdue[2].Text + "~" + TDTaxdue[3].Text + "~" + TDTaxdue[4].Text + "~" + TDTaxdue[5].Text + "~" + TDTaxdue[6].Text; gc.insert_date(orderNumber, parcelNumber, 1419, taxPaymentdetails, 1, DateTime.Now); } if (TDTaxdue.Count != 0 && !row.Text.Contains("Cumulative Due") && TDTaxdue[4].Text != "0.00") { strInterest = "Delinquent"; } } } catch { } // Delinquent Search string asofdate = "", Good_through_date = ""; if (strInterest == "Delinquent") { try { driver.FindElement(By.LinkText("Calculate Future Payoff")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Calculate Pay off", driver, "MO", "Jackson"); } catch { } try { //Good Through Details IWebElement good_date = driver.FindElement(By.Id("mFuturePayoff_mDate")); Good_through_date = good_date.GetAttribute("value"); if (Good_through_date.Contains("Select A Date")) { Good_through_date = "-"; } else { DateTime G_Date = Convert.ToDateTime(Good_through_date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month Good_through_date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")))).ToString("MM/dd/yyyy"); } else if (G_Date > Convert.ToDateTime(dateChecking)) { // nextEndOfMonth if ((Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))) < 12)) { Good_through_date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM")) + 1), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")) + 1)).ToString("MM/dd/yyyy"); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; Good_through_date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } driver.FindElement(By.Id("mFuturePayoff_mDate")).Clear(); Thread.Sleep(1000); try { driver.FindElement(By.XPath("//*[@id='mFuturePayoff_mDate']")).SendKeys(Good_through_date); Thread.Sleep(2000); } catch { } } } catch { } try { driver.FindElement(By.Id("mFuturePayoff_mCalculate")).SendKeys(Keys.Enter); Thread.Sleep(7000); gc.CreatePdf(orderNumber, parcelNumber, "Good Through Date", driver, "MO", "Jackson"); } catch { } try { IWebElement currenttax = driver.FindElement(By.XPath("//*[@id='mFuturePayoff_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRcurrenttax = currenttax.FindElements(By.TagName("tr")); IList <IWebElement> THcurrenttax = currenttax.FindElements(By.TagName("th")); IList <IWebElement> TDcurrenttax; foreach (IWebElement row in TRcurrenttax) { TDcurrenttax = row.FindElements(By.TagName("td")); if (TDcurrenttax.Count != 0 && !row.Text.Contains("Principal")) { string taxPaymentdetails = Good_through_date + "~" + TDcurrenttax[0].Text + "~" + TDcurrenttax[1].Text + "~" + TDcurrenttax[2].Text; gc.insert_date(orderNumber, parcelNumber, 1483, taxPaymentdetails, 1, DateTime.Now); } } } catch { } try { driver.FindElement(By.LinkText("Property Summary")).SendKeys(Keys.Enter); Thread.Sleep(4000); } catch { } } try { driver.FindElement(By.LinkText("View Detailed Statement")).SendKeys(Keys.Enter); Thread.Sleep(7000); gc.CreatePdf(orderNumber, parcelNumber, "View Detailed Statement", driver, "MO", "Jackson"); } catch { } CitytaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MO", "Jackson", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MO", "Jackson"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Bell(string houseno, string sname, string stype, string unitno, string direction, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> taxinformation = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver() //driver = new PhantomJSDriver() using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://esearch.bellcad.org/"); //IJavaScriptExecutor js2 = driver as IJavaScriptExecutor; //IWebElement ParcelLinkSearch1 = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[5]")); //js2.ExecuteScript("arguments[0].click();", ParcelLinkSearch1); driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[5]")).Click(); Thread.Sleep(2000); // driver.FindElement(By.Id("propertySearchOptions_advanced")).Click(); if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + stype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "TX", "Bell"); 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_BellTX"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { //var Select1 = driver.FindElement(By.Id("propertySearchOptions_searchType")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByText("Property Address"); driver.FindElement(By.Id("StreetNumber")).SendKeys(houseno); driver.FindElement(By.Id("StreetName")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "address search", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "address search result", driver, "TX", "Bell"); } if (searchType == "parcel") { //var Select1 = driver.FindElement(By.Id("propertySearchOptions_searchType")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByText("Account Number"); driver.FindElement(By.Id("GeoId")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "TX", "Bell"); } if (searchType == "ownername") { driver.FindElement(By.Id("OwnerName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "owner search", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "owner search result", driver, "TX", "Bell"); } if (searchType == "block") { //var Select1 = driver.FindElement(By.Id("propertySearchOptions_searchType")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByText("Account Number"); driver.FindElement(By.Id("PropertyId")).SendKeys(unitno); gc.CreatePdf_WOP(orderNumber, "Account Number Search ", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Account Number Search result", driver, "TX", "Bell"); // gc.CreatePdf_WOP(orderNumber, "owner search result", driver, "TX", "Williamson"); } //Geographic ID~Type~Property Address~Owner Name //*[@id="propertySearchResults_resultsTable"]/tbody try { IWebElement INodata = driver.FindElement(By.Id("propertySearchResults_pageHeading")); if (INodata.Text.Contains("None found")) { HttpContext.Current.Session["Nodata_BellTX"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } int trCount = driver.FindElements(By.XPath("//*[@id='grid']/div[2]/table/tbody")).Count; if (trCount > 1) { int maxCheck = 0; IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody")); IList <IWebElement> TRmulti5 = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti5; foreach (IWebElement row in TRmulti5) { if (maxCheck <= 25) { TDmulti5 = row.FindElements(By.TagName("td")); if (TDmulti5.Count == 10 && TDmulti5[3].Text.Contains("Real")) { string multi1 = TDmulti5[2].Text + "~" + TDmulti5[3].Text + "~" + TDmulti5[4].Text + "~" + TDmulti5[6].Text; gc.insert_date(orderNumber, TDmulti5[1].Text, 846, multi1, 1, DateTime.Now); } maxCheck++; } } if (TRmulti5.Count > 25) { HttpContext.Current.Session["multiParcel_Bell_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Bell"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { string type = driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[6]")).Text.Replace("\r\n", " "); if (type == "Real") { //*[@id="propertySearchResults_resultsTable"]/tbody/tr[2]/td[10] driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[4]")).Click(); Thread.Sleep(2000); } else { HttpContext.Current.Session["alert_msg"] = "Yes"; driver.Quit(); return("MultiParcel"); } } //property details string PropertyID = "", GeographicID = "", Name = "", MailingAddress = "", OwnerID = "", LegalDescription = "", Neighborhood = "", Type = "", Address = "", NeighborhoodCD = "", Exemptions = "", MapID = "", YearBuilt = "", Acres = ""; string ownerdetails = ""; string asd = ""; //Property ID~Geographic ID~Name~Mailing Address~Owner ID~Mailing Address~Owner ID~Type~Legal Description~Address~Neighborhood~Neighborhood CD~Map ID~Exemptions~Year Built~Acres~Tax Authority string fulltext = driver.FindElement(By.XPath("//*[@id='detail-page']/div[3]/div[1]/div/table/tbody")).Text.Replace("\r\n", " "); PropertyID = gc.Between(fulltext, "Property ID:", "Legal Description:"); GeographicID = gc.Between(fulltext, "Geographic ID:", "Agent Code:"); gc.CreatePdf(orderNumber, GeographicID.Trim(), "property details", driver, "TX", "Bell"); LegalDescription = gc.Between(fulltext, "Legal Description:", "Geographic ID:"); Name = gc.Between(fulltext, "Name:", "Mailing Address:"); MailingAddress = gc.Between(fulltext, "Mailing Address:", "% Ownership:"); Exemptions = GlobalClass.After(fulltext, "Exemptions:"); OwnerID = gc.Between(fulltext, "Owner ID:", "Name:"); Neighborhood = gc.Between(fulltext, "Neighborhood CD:", "Owner"); Type = gc.Between(fulltext, "Type:", "Location"); Address = gc.Between(fulltext, "Address:", "Map ID:"); NeighborhoodCD = gc.Between(fulltext, "Neighborhood CD:", "Owner"); MapID = gc.Between(fulltext, "Map ID:", "Neighborhood CD:"); //*[@id="improvementBuilding"] //driver.FindElement(By.XPath("//*[@id='improvementBuilding']")).Click(); //Thread.Sleep(2000); try { YearBuilt = driver.FindElement(By.XPath("//*[@id='detail-page']/div[5]/div[2]/table[1]/tbody/tr[2]/td[5]")).Text; } catch { } //driver.FindElement(By.Id("land")).Click(); //Thread.Sleep(2000); //try //{ // Acres = driver.FindElement(By.XPath("//*[@id='landDetails']/table/tbody/tr[2]/td[4]")).Text; //} //catch { } string property_details = PropertyID + "~" + Name + "~" + MailingAddress + "~" + OwnerID + "~" + Type + "~" + LegalDescription + "~" + Address + "~" + Neighborhood + "~" + NeighborhoodCD + "~" + MapID + "~" + Exemptions + "~" + YearBuilt + "~" + "P.O.Box 390 Belton, TX 76513 Phone Number: 254 - 939 - 5841"; gc.insert_date(orderNumber, GeographicID, 841, property_details, 1, DateTime.Now); // Assessment Details Table: // Values Details Table: //Description~Sign~Value1~Value2 //driver.FindElement(By.Id("values")).Click(); //Thread.Sleep(2000); string Propertyhead = ""; string Propertyresult = ""; //*[@id="detail-page"]/div[3]/div[2]/div[1]/table/tbody IWebElement multitableElement1 = driver.FindElement(By.XPath(" //*[@id='detail-page']/div[3]/div[2]/div[1]/table/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; IList <IWebElement> multirowTH1; foreach (IWebElement row in multitableRow1) { multirowTH1 = row.FindElements(By.TagName("tH")); multirowTD1 = row.FindElements(By.TagName("td")); if (multirowTD1.Count != 0 && multirowTD1[0].Text != " ") { Propertyhead += multirowTH1[0].Text; Propertyresult += multirowTD1[0].Text; //gc.insert_date(orderNumber, PropertyID, 844, ValueDetails, 1, DateTime.Now); } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Propertyhead + "' where Id = '" + 844 + "'"); gc.insert_date(orderNumber, PropertyID, 844, Propertyresult, 1, DateTime.Now); //Taxing Jurisdiction Details Table: //Owner~% Ownership~Total Value~Entity~Description~Tax Rate~Appraised Value~Taxable Value~Estimated Tax //driver.FindElement(By.Id("taxingJurisdiction")).Click(); //Thread.Sleep(2000); //string owner = "", Ownership = "", TotalValue = ""; string ValueDetails1 = "", msg = ""; //string fulltext1 = driver.FindElement(By.XPath("//*[@id='taxingJurisdictionDetails']/table[1]/tbody")).Text.Replace("\r\n", " "); List <string> myList = new List <string>(); string Totaltax = driver.FindElement(By.XPath("//*[@id='detail-page']/div[4]/div[3]")).Text; string TotalTaxRate = gc.Between(Totaltax, "Total Tax Rate:", "Estimated Taxes With Exemptions:"); string EstimatedTaxes = gc.Between(Totaltax, "With Exemptions:", "Without Exemptions:"); string WithoutExemptions = GlobalClass.After(Totaltax, "Without Exemptions:"); string totalresult = TotalTaxRate + "~" + EstimatedTaxes + "~" + WithoutExemptions; gc.insert_date(orderNumber, PropertyID, 2080, totalresult, 1, DateTime.Now); IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='detail-page']/div[4]/div[2]/table/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; foreach (IWebElement row in multitableRow11) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count != 0) { ValueDetails1 = multirowTD11[0].Text + "~" + multirowTD11[1].Text + "~" + multirowTD11[2].Text + "~" + multirowTD11[3].Text + "~" + multirowTD11[4].Text + "~" + multirowTD11[5].Text + "~" + multirowTD11[6].Text; gc.insert_date(orderNumber, PropertyID, 843, ValueDetails1, 1, DateTime.Now); } } // Property Roll Value History: //Year~Improvements~Land Market~Ag Valuation~Appraised~HS Cap~Assessed //driver.FindElement(By.Id("rollHistory")).Click(); //Thread.Sleep(2000); IWebElement multitableElement2 = driver.FindElement(By.XPath("//*[@id='detail-page']/div[7]/div[2]/table/tbody")); IList <IWebElement> multitableRow2 = multitableElement2.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD2; foreach (IWebElement row in multitableRow2) { multirowTD2 = row.FindElements(By.TagName("td")); if (multirowTD2.Count != 0) { string rollDetails = multirowTD2[0].Text.Trim() + "~" + multirowTD2[1].Text.Trim() + "~" + multirowTD2[2].Text.Trim() + "~" + multirowTD2[3].Text.Trim() + "~" + multirowTD2[4].Text.Trim() + "~" + multirowTD2[5].Text.Trim() + "~" + multirowTD2[6].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 842, rollDetails, 1, DateTime.Now); } } //Tax Deed IWebElement DeedHistoryTable = driver.FindElement(By.XPath("//*[@id='detail-page']/div[7]/div[2]/table/tbody")); IList <IWebElement> DeedHistoryRow = DeedHistoryTable.FindElements(By.TagName("tr")); IList <IWebElement> DeedHistoryTD; foreach (IWebElement DeedHistory in DeedHistoryRow) { DeedHistoryTD = DeedHistory.FindElements(By.TagName("td")); if (DeedHistoryTD.Count != 0) { string rollDetails = DeedHistoryTD[0].Text.Trim() + "~" + DeedHistoryTD[1].Text.Trim() + "~" + DeedHistoryTD[2].Text.Trim() + "~" + DeedHistoryTD[3].Text.Trim() + "~" + DeedHistoryTD[4].Text.Trim() + "~" + DeedHistoryTD[5].Text.Trim() + "~" + DeedHistoryTD[6].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 2081, rollDetails, 1, DateTime.Now); } } //Tax Due (Payoff Calculation) Details Table: //driver.FindElement(By.Id("taxDue")).Click(); //Thread.Sleep(2000); string msgdeli = "", taxdue = ""; //int count = driver.FindElements(By.XPath("//*[@id='taxDueDetails_dataSection']/table/tbody/tr")).Count(); taxdue = driver.FindElement(By.XPath("//*[@id='taxesDue']/table/tbody")).Text; if (taxdue.Contains("Pay")) { // IWebElement dt = driver.FindElement(By.Id("taxesDueDate")); string date = DateTime.Now.ToString(); DateTime G_Date = Convert.ToDateTime(date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")))).ToString("MM/dd/yyyy"); } else if (G_Date > Convert.ToDateTime(dateChecking)) { // nextEndOfMonth if ((Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))) < 12)) { date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM")) + 1), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")) + 1)).ToString("MM/dd/yyyy"); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } Thread.Sleep(2000); // dt.Clear(); driver.FindElement(By.Id("taxesDueDate")).SendKeys(date); driver.FindElement(By.Id("taxesDueDate")).Click(); Thread.Sleep(4000); } //string goodthroughdate = driver.FindElement(By.Id("taxDueDetails_recalculateDate")).Text; //string payoff1 = goodthroughdate + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; //gc.insert_date(orderNumber, PropertyID, 845, payoff1, 1, DateTime.Now); //string yearnow = driver.FindElement(By.XPath("//*[@id='taxDueDetails_dataSection']/table/tbody/tr[2]/td[1]")).Text; ////Amount Due if Paid on~Year~Taxing Jurisdiction~Taxable Value~Base Tax~Base Taxes Paid~Base Tax Due~Discount / Penalty & Interest~Attorney Fees~Amount Due //IWebElement multitableElement5 = driver.FindElement(By.XPath("//*[@id='taxDueDetails_dataSection']/table/tbody")); //IList<IWebElement> multitableRow5 = multitableElement5.FindElements(By.TagName("tr")); //IList<IWebElement> multirowTD5; //foreach (IWebElement row in multitableRow5) //{ // multirowTD5 = row.FindElements(By.TagName("td")); // if (multirowTD5.Count != 0) // { // if (multirowTD5[0].Text == yearnow) // { // if (myList.Any(str => str.Contains(multirowTD5[1].Text))) // { // myList.RemoveAt(myList.IndexOf(multirowTD5[1].Text)); // } // } // int countlist = myList.Count(); // string payoff11 = "" + "~" + multirowTD5[0].Text.Trim() + "~" + multirowTD5[1].Text.Trim() + "~" + multirowTD5[2].Text.Trim() + "~" + multirowTD5[3].Text.Trim() + "~" + multirowTD5[4].Text.Trim() + "~" + multirowTD5[5].Text.Trim() + "~" + multirowTD5[6].Text.Trim() + "~" + multirowTD5[7].Text.Trim() + "~" + multirowTD5[8].Text.Trim(); // gc.insert_date(orderNumber, PropertyID, 845, payoff11, 1, DateTime.Now); // } //} //string entity = ""; //if (myList.Count() > 0) //{ // for (int i = 0; i < myList.Count(); i++) // { // if (i == 0) // { // entity = myList[i]; // } // else // { // entity = entity + "&" + myList[i]; // } // } // string msged = entity + "~" + "Need to call Tax Office"; // gc.insert_date(orderNumber, PropertyID, 893, msged, 1, DateTime.Now); //} //gc.CreatePdf(orderNumber, PropertyID, "property details", driver, "TX", "Bell"); // Taxing Jurisdiction IWebElement multitableElement5 = driver.FindElement(By.XPath("//*[@id='taxesDue']/table/tbody")); IList <IWebElement> multitableRow5 = multitableElement5.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD5; IList <IWebElement> multirowTH5; foreach (IWebElement row in multitableRow5) { multirowTD5 = row.FindElements(By.TagName("td")); multirowTH5 = row.FindElements(By.TagName("th")); if (multirowTD5.Count > 1 && !row.Text.Contains("Taxing Jurisdiction") && multirowTH5.Count != 1) { string Taxresult = multirowTD5[0].Text + "~" + multirowTD5[1].Text + "~" + multirowTD5[2].Text + "~" + multirowTD5[3].Text + "~" + multirowTD5[4].Text + "~" + multirowTD5[5].Text + "~" + multirowTD5[6].Text + "~" + multirowTD5[7].Text + "~" + multirowTD5[8].Text; gc.insert_date(orderNumber, PropertyID, 845, Taxresult, 1, DateTime.Now); } if (multirowTD5.Count != 0 && multirowTH5.Count == 1) { string Taxresult = multirowTD5[0].Text + "~" + multirowTH5[0].Text + "~" + multirowTD5[1].Text + "~" + multirowTD5[2].Text + "~" + multirowTD5[3].Text + "~" + multirowTD5[4].Text + "~" + multirowTD5[5].Text + "~" + multirowTD5[6].Text + "~" + multirowTD5[7].Text; gc.insert_date(orderNumber, PropertyID, 845, Taxresult, 1, DateTime.Now); } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "TX", "Bell", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); GlobalClass.titleparcel = ""; gc.mergpdf(orderNumber, "TX", "Bell"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); driver.Dispose(); throw ex; } } }
public string FTP_YavapaiAZ(string address, string parcelNumber, string ownername, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> taxinformation = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string As_of = "", Total_Due = "", MillLevy = "", Class = "", Built = ""; List <string> pdflink = new List <string>(); string Parcel_number = "", Tax_Authority = "", type = "", AddressCombain = "", Addresshrf = "", Pin = "", Multiaddressadd = "", MailingAddress = "", Constructed = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver() using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); try { if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, address, "AZ", "Yavapai"); if (HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].Equals("Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_Yavapai"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://gis.yavapai.us/v4/"); try { driver.FindElement(By.XPath("//*[@id='Disclaimer_tab']/input")).Click(); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.Id("tabCondiv_tablist_search_tab")).Click(); Thread.Sleep(2000); } catch { } if (searchType == "address") { driver.FindElement(By.Id("p_search")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "AZ", "Yavapai"); driver.FindElement(By.Id("search")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address After", driver, "AZ", "Yavapai"); try { string Nodata = driver.FindElement(By.Id("alertmsg")).Text; if (Nodata.Contains("Sorry, no records for")) { HttpContext.Current.Session["Nodata_Yavapai"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } try { int J = 0; int z = 0; IWebElement IMulti = driver.FindElement(By.XPath("//*[@id='results_Status']/table/tbody")); IList <IWebElement> IMultirow = IMulti.FindElements(By.XPath("tr")); gc.CreatePdf_WOP(orderNumber, "Multi Parcel", driver, "AZ", "Yavapai"); IList <IWebElement> IMultitd; foreach (IWebElement row in IMultirow) { IMultitd = row.FindElements(By.TagName("td")); if (IMultitd.Count != 0 && row.Text.Trim() != "") { if (J == 1) { Pin = IMultitd[0].Text; z++; } if (J == 0) { AddressCombain = IMultitd[0].Text; J++; } } if (z == 1) { gc.insert_date(orderNumber, Pin, 1863, AddressCombain, 1, DateTime.Now); J = 0; z = 0; } } if (IMultirow.Count < 26) { HttpContext.Current.Session["multiParcel_Yavapai"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (IMultirow.Count > 25) { HttpContext.Current.Session["multiParcel_Yavapai_Maximum"] = "Maximum"; driver.Quit(); return("MultiParcel"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='parcSearch_titleBarNode']/div/span[3]")).Click(); Thread.Sleep(2000); string[] arryparcel = parcelNumber.Split('-'); driver.FindElement(By.Id("par_book")).SendKeys(arryparcel[0]); driver.FindElement(By.Id("par_map")).SendKeys(arryparcel[1]); driver.FindElement(By.Id("par_par")).SendKeys(arryparcel[1]); driver.FindElement(By.Id("par_submit")).Click(); Thread.Sleep(2000); try { string Nodata = driver.FindElement(By.Id("alertmsg")).Text; if (Nodata.Contains("Sorry, no records for")) { HttpContext.Current.Session["Nodata_Yavapai"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } string parcelno = driver.FindElement(By.XPath("//*[@id='results_Status']/h3/i")).Text; Parcel_number = GlobalClass.After(parcelno, "Information for Parcel").Replace(":", ""); string owner = driver.FindElement(By.Id("owner_name")).Text; string proaddress1 = driver.FindElement(By.Id("owner_address")).Text; string proaddress2 = driver.FindElement(By.XPath("//*[@id='resOwner_pane']/table/tbody/tr[4]/td")).Text; string proaddress = proaddress1 + " " + proaddress2; string AssessorAcres = driver.FindElement(By.Id("dorAcres")).Text; string subdivision = driver.FindElement(By.Id("subdiv")).Text; string Maptype = driver.FindElement(By.Id("subdivType")).Text; string countyzoning = ""; try { countyzoning = driver.FindElement(By.Id("ctyZoneViol")).Text; } catch { } try { if (countyzoning == "") { countyzoning = driver.FindElement(By.Id("ctyZoneType")).Text; } } catch { } string sectionTownship = driver.FindElement(By.Id("str")).Text; string Homestead = driver.FindElement(By.Id("HES")).Text; string IncorporatedArea = driver.FindElement(By.Id("inc_area")).Text; string Tracts = driver.FindElement(By.Id("tract")).Text; gc.CreatePdf(orderNumber, Parcel_number, "Property Detail", driver, "AZ", "Yavapai"); driver.FindElement(By.XPath("//*[@id='resImps_titleBarNode']/div")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Constructed Pdf", driver, "AZ", "Yavapai"); try { string type1 = driver.FindElement(By.Id("imps")).Text; type = gc.Between(type1, "Type:", "Floor area:"); Constructed = GlobalClass.After(type1, "Constructed:"); } catch { } string Proresult = owner + "~" + proaddress + "~" + AssessorAcres + "~" + subdivision + "~" + Maptype + "~" + countyzoning + "~" + sectionTownship + "~" + Homestead + "~" + IncorporatedArea + "~" + Tracts + "~" + type + "~" + Constructed; gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1803, Proresult, 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='resAssess_titleBarNode']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Assessment Detail", driver, "AZ", "Yavapai"); string AssessmentHead = "", Assessmenthead1 = "", Assessmenthead2 = "", Assessmentresult = "", Assessmentresult1 = "", Assessmentresult2 = ""; IWebElement Assessmenttable = driver.FindElement(By.XPath("//*[@id='resAssess_pane']/table/tbody")); IList <IWebElement> Assessmentrow = Assessmenttable.FindElements(By.TagName("tr")); IList <IWebElement> assessmentid; foreach (IWebElement assessment in Assessmentrow) { assessmentid = assessment.FindElements(By.TagName("td")); if (assessmentid.Count != 0 && !assessment.Text.Contains("Tax Year") && assessment.Text.Trim() != "") { Assessmentresult += assessmentid[0].Text + "~"; Assessmentresult1 += assessmentid[1].Text + "~"; Assessmentresult2 += assessmentid[2].Text + "~"; // gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1804, Assessmentresult, 1, DateTime.Now); } if (assessment.Text.Contains("Tax Year")) { AssessmentHead += assessmentid[0].Text + "~"; Assessmenthead1 += assessmentid[1].Text + "~"; Assessmenthead2 += assessmentid[2].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + AssessmentHead + Assessmentresult.Remove(Assessmentresult.Length - 1) + "' where Id = '" + 1804 + "'"); // gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1804, Assessmentresult.Remove(Assessmentresult.Length-1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1804, Assessmenthead1 + Assessmentresult1.Remove(Assessmentresult1.Length - 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1804, Assessmenthead2 + Assessmentresult2.Remove(Assessmentresult2.Length - 1), 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='resTaxes_titleBarNode']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Tax Table", driver, "AZ", "Yavapai"); string TaxHead = "", Taxresult = ""; IWebElement Taxtable = driver.FindElement(By.XPath("//*[@id='taxTable']/table/tbody")); IList <IWebElement> Taxtrow = Taxtable.FindElements(By.TagName("tr")); IList <IWebElement> Taxid; foreach (IWebElement Taxweb in Taxtrow) { Taxid = Taxweb.FindElements(By.TagName("td")); if (Taxid.Count > 1 && !Taxweb.Text.Contains("Year")) { TaxHead += Taxid[0].Text + "~"; Taxresult += Taxid[1].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + TaxHead.Remove(TaxHead.Length - 1) + "' where Id = '" + 1805 + "'"); gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1805, Taxresult.Remove(Taxresult.Length - 1), 1, DateTime.Now); //try //{ // driver.FindElement(By.LinkText("Tax Authorities:")).Click(); // Thread.Sleep(2000); //} //catch { } IWebElement Iviewtax = driver.FindElement(By.Id("taxAuth")).FindElement(By.TagName("a")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", Iviewtax); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Authorit", driver, "AZ", "Yavapai"); IWebElement Authoritytable = driver.FindElement(By.XPath("//*[@id='taxAuth']/table/tbody")); IList <IWebElement> Authorityrow = Authoritytable.FindElements(By.TagName("tr")); IList <IWebElement> Authorityid; foreach (IWebElement Authority in Authorityrow) { Authorityid = Authority.FindElements(By.TagName("td")); if (Authorityid.Count > 1 && !Authority.Text.Contains("Authority")) { string Authorityresult = Authorityid[0].Text + "~" + Authorityid[1].Text; gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1806, Authorityresult, 1, DateTime.Now); } } //Tax Site driver.Navigate().GoToUrl("http://taxinquiry.yavapai.us/"); driver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/div/div[1]/form/div/div/span/span/input")).SendKeys(Parcel_number); gc.CreatePdf(orderNumber, Parcel_number, "Tax Parcel", driver, "AZ", "Yavapai"); driver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/div/div[1]/form/div/input[1]")).Click(); gc.CreatePdf(orderNumber, Parcel_number, "Tax parcel Click", driver, "AZ", "Yavapai"); IWebElement TaxInfotable = driver.FindElement(By.XPath("//*[@id='Grid']/table/tbody")); IList <IWebElement> TaxInforow = TaxInfotable.FindElements(By.TagName("tr")); IList <IWebElement> TaxInfoid; foreach (IWebElement TaxInfo in TaxInforow) { TaxInfoid = TaxInfo.FindElements(By.TagName("td")); if (TaxInfoid.Count > 1) { string Taxinforesult = TaxInfoid[1].Text + "~" + TaxInfoid[2].Text + "~" + TaxInfoid[3].Text + "~" + TaxInfoid[4].Text + "~" + TaxInfoid[5].Text + "~" + TaxInfoid[6].Text; gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1807, Taxinforesult, 1, DateTime.Now); } } IWebElement Taxyeardue = driver.FindElement(By.XPath("//*[@id='PanelBar']/li[1]/ul/li[3]")).FindElement(By.TagName("a")); string taxyearhref = Taxyeardue.GetAttribute("href"); driver.Navigate().GoToUrl(taxyearhref); for (int i = 0; i < 3; i++) { if (i == 1) { IWebElement javaclick = driver.FindElement(By.XPath("//*[@id='taxYear_listbox']/li[2]")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", javaclick); Thread.Sleep(9000); } if (i == 2) { IWebElement javaclick = driver.FindElement(By.XPath("//*[@id='taxYear_listbox']/li[3]")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", javaclick); Thread.Sleep(9000); } gc.CreatePdf(orderNumber, Parcel_number, "Taxyeardue" + i, driver, "AZ", "Yavapai"); IWebElement TaxYeartable = driver.FindElement(By.XPath("//*[@id='Grid']/table/tbody")); IList <IWebElement> TaxYearorow = TaxYeartable.FindElements(By.TagName("tr")); IList <IWebElement> TaxYearid; foreach (IWebElement TaxYearweb in TaxYearorow) { TaxYearid = TaxYearweb.FindElements(By.TagName("td")); if (TaxYearid.Count > 1) { string TaxYearresult = TaxYearid[1].Text + "~" + TaxYearid[2].Text + "~" + TaxYearid[3].Text; gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1808, TaxYearresult, 1, DateTime.Now); } } IWebElement TotalDuetable = driver.FindElement(By.XPath("//*[@id='Grid']/table/tfoot")); IList <IWebElement> TotalDuerow = TotalDuetable.FindElements(By.TagName("tr")); IList <IWebElement> TotalDueid; foreach (IWebElement TotalDue in TotalDuerow) { TotalDueid = TotalDue.FindElements(By.TagName("td")); if (TotalDueid.Count > 1) { string TaxYearresult = TotalDueid[1].Text + "~" + TotalDueid[2].Text + "~" + TotalDueid[3].Text; gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1808, TaxYearresult, 1, DateTime.Now); } } IWebElement Viwebill = driver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/form/table/tbody/tr/td[5]")).FindElement(By.TagName("a")); string Viewhref = Viwebill.GetAttribute("href"); pdflink.Add(Viewhref); //gc.downloadfile(Viewhref, orderNumber, Parcel_number, "TaxBill" + i, "AZ", "Yavapai"); } int m = 0; foreach (string pdf in pdflink) { driver.Navigate().GoToUrl(pdf); gc.CreatePdf(orderNumber, Parcel_number, "Tax Bill" + m, driver, "AZ", "Yavapai"); m++; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "AZ", "Yavapai", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //HttpContext.Current.Session["titleparcel"] = null; gc.mergpdf(orderNumber, "AZ", "Yavapai"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_FayetteKy(string streetno, string direction, string streetname, string streettype, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> multiparcel = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://qpublic9.qpublic.net/ky_fayette_search2.php"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='xr_xri']/div[1]/span[9]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { if (searchType == "titleflex") { string address = streetno + " " + direction + " " + streetname + " " + streettype + "" + unitno; gc.TitleFlexSearch(orderNumber, "", ownername, address, "KY", "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_FayetteKy"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr/td[1]/ul/li[1]/b/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[1]/td[2]/input")).SendKeys(streetno); driver.FindElement(By.XPath("//*[@id='streetName']")).SendKeys(streetname); gc.CreatePdf_WOP(orderNumber, "SearchAddressBefore", driver, "KY", "Fayette"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[6]/td[2]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "SearchAddressAfter", driver, "KY", "Fayette"); Thread.Sleep(2000); try { gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "KY", "Fayette"); Thread.Sleep(2000); string Owner = "", Address = "", MultiParcelNumber = ""; int Mcount = 0; IWebElement multy = driver.FindElement(By.XPath("/html/body/table/tbody")); IList <IWebElement> muladdress = multy.FindElements(By.TagName("tr")); IList <IWebElement> mulid; foreach (IWebElement addressrow in muladdress) { mulid = addressrow.FindElements(By.TagName("td")); if (mulid.Count != 0 && !addressrow.Text.Contains("Return to Main Search") && !addressrow.Text.Contains("Search Criteria:") && !addressrow.Text.Contains("Search produced") && !addressrow.Text.Contains("Parcel Number") && !addressrow.Text.Contains("To create") && !addressrow.Text.Contains("No warranties") && !addressrow.Text.Contains(" Return to Main Search ")) { if (Mcount <= 29) { IWebElement Iparcel = mulid[0].FindElement(By.TagName("a")); MultiParcelNumber = Iparcel.Text; Owner = mulid[1].Text; Address = mulid[2].Text; string MultyInst = Address + "~" + Owner; gc.insert_date(orderNumber, MultiParcelNumber, 690, MultyInst, 1, DateTime.Now); } Mcount++; } } if (Mcount > 29) { HttpContext.Current.Session["multiParcel_FayetteKy_Maximum"] = "Maximum"; return("Maximum"); } else { HttpContext.Current.Session["multiparcel_FayetteKy"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } gc.CreatePdf_WOP(orderNumber, "SearchAddressAfter", driver, "KY", "Fayette"); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/font")).Text; if (nodata.Contains("0 of 0 Results Returned")) { HttpContext.Current.Session["Nodata_FayetteKy"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("html/body/table[1]/tbody/tr/td[1]/ul/li[3]/b/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("html/body/form/table/tbody/tr/td/input[2]")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "KY", "Fayette"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/font")).Text; if (nodata.Contains("0 of 0 Results Returned")) { HttpContext.Current.Session["Nodata_FayetteKy"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string ParcelID = "", OwnerName = "", MailingAddress = "", Address1 = "", PropertyAddress = "", LegalDescription = "", PropertyClass = "", LandUseCode = "", MapBlock = "", Lot = "", SubDivision = "", TaxDistrict = "", TaxRate = ""; IWebElement tbmulti11 = driver.FindElement(By.XPath("/html/body/center[2]/table[2]/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("Owner Name")) { OwnerName = TDmulti11[1].Text; } if (row.Text.Contains("Parcel Number")) { ParcelID = TDmulti11[3].Text.Trim(); } if (row.Text.Contains("Mailing Address")) { MailingAddress = TDmulti11[1].Text; } if (row.Text.Contains("Tax District")) { TaxDistrict = TDmulti11[3].Text; Address1 = TDmulti11[1].Text; } if (row.Text.Contains("Location Address")) { PropertyAddress = TDmulti11[1].Text; } if (row.Text.Contains("Legal Description")) { LegalDescription = TDmulti11[1].Text; } if (row.Text.Contains("Property Class")) { PropertyClass = TDmulti11[1].Text; } if (row.Text.Contains("Land Use Code")) { LandUseCode = TDmulti11[1].Text; } if (row.Text.Contains("Map Block")) { MapBlock = TDmulti11[1].Text; } if (row.Text.Contains("Lot")) { Lot = TDmulti11[1].Text; } if (row.Text.Contains("Subdivision")) { SubDivision = TDmulti11[1].Text; } if (row.Text.Contains("Tax Rate")) { TaxRate = TDmulti11[3].Text; } } } string YearBuilt = ""; try { YearBuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[4]/tbody/tr[3]/td[5]")).Text; } catch { } string propertydetails = ParcelID + "~" + OwnerName + "~" + MailingAddress + " " + Address1 + "~" + PropertyAddress + "~" + LegalDescription + "~" + PropertyClass + "~" + LandUseCode + "~" + MapBlock + "~" + Lot + "~" + SubDivision + "~" + TaxDistrict + "~" + TaxRate + "~" + YearBuilt; gc.insert_date(orderNumber, ParcelID, 649, propertydetails, 1, DateTime.Now); //********Tax Assessment Details******* int i = 0; string assesstitle = "", assessvalue = ""; gc.CreatePdf(orderNumber, ParcelID, "Assessment Details", driver, "KY", "Fayette"); Thread.Sleep(3000); IWebElement IassessmentTable = driver.FindElement(By.XPath("/html/body/center[2]/table[3]/tbody")); IList <IWebElement> IassessmentRow = IassessmentTable.FindElements(By.TagName("tr")); IList <IWebElement> Iassessmenttd; foreach (IWebElement assess in IassessmentRow) { Iassessmenttd = assess.FindElements(By.TagName("td")); if (Iassessmenttd.Count != 0 && !assess.Text.Contains("Assessment Information")) { for (int j = 0; j < Iassessmenttd.Count; j++) { assessvalue += Iassessmenttd[j].Text + "~"; } if (i == 0) { db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assessvalue.Remove(assessvalue.Length - 1, 1) + "' where Id = '" + 655 + "'"); assessvalue = ""; } if (i == 1) { gc.insert_date(orderNumber, ParcelID, 655, assessvalue.Remove(assessvalue.Length - 1, 1), 1, DateTime.Now); } i++; } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //*******Tax information Details******* string Delinquent = ""; try { string currentyear = ""; int year = DateTime.Now.Year; int increase = 0; for (int l = 0; l < 7; l++) { if (increase < 3) { try { currentyear = Convert.ToString(year); driver.Navigate().GoToUrl("http://fayettesheriff.com/property_taxes_lookup.php"); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Year Choosed", driver, "KY", "Fayette"); IWebElement ISelect = driver.FindElement(By.XPath("/html/body/div/div/div[1]/p/select")); SelectElement sSelect = new SelectElement(ISelect); sSelect.SelectByText(currentyear); driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/blockquote/form[2]/p[1]/input")).SendKeys(ParcelID); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Input Passed", driver, "KY", "Fayette"); driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/blockquote/form[2]/p[2]/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Result" + currentyear, driver, "KY", "Fayette"); try { string taxinfotitle = "", taxinfovalue = ""; IWebElement ITaxinfoTable = driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/table/tbody/tr/td/p[1]/table/tbody")); IList <IWebElement> ItaxinfoRow = ITaxinfoTable.FindElements(By.TagName("tr")); IList <IWebElement> ItaxinfoTD; IList <IWebElement> ItaxinfoTH; foreach (IWebElement rowid in ItaxinfoRow) { ItaxinfoTH = rowid.FindElements(By.TagName("th")); ItaxinfoTD = rowid.FindElements(By.TagName("td")); if (ItaxinfoTH.Count != 0 && rowid.Text != "") { for (int m = 0; m < ItaxinfoTH.Count; m++) { if (ItaxinfoTH[m].Text != "") { taxinfotitle += ItaxinfoTH[m].Text.Replace("\r\n", " & ").Trim() + "~"; } } } if (ItaxinfoTD.Count != 0 && rowid.Text != "") { for (int n = 0; n < ItaxinfoTD.Count; n++) { if (ItaxinfoTD[n].Text != "") { taxinfovalue += ItaxinfoTD[n].Text.Replace("\r\n", " & ").Trim() + "~"; } } } } string Taxyear1 = "", Taxyear = "", TaxingAuthority = ""; string bulktext = driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/table/tbody/tr/td/span[2]")).Text; Taxyear1 = GlobalClass.Before(bulktext, "- ").Trim(); Taxyear = GlobalClass.After(Taxyear1, ",").Trim(); if (taxinfovalue.Contains("Due") && !taxinfovalue.Contains("Paid")) { Delinquent = "Yes"; } TaxingAuthority = driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[1]/font")).Text; db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + taxinfotitle + "Taxyear" + "~" + "TaxingAuthority" + "' where Id = '" + 657 + "'"); gc.insert_date(orderNumber, ParcelID, 657, taxinfovalue + Taxyear + "~" + TaxingAuthority, 1, DateTime.Now); } catch { } increase++; } catch { } } year--; } try { driver.Navigate().GoToUrl("https://www.fayettecountyclerk.com/web/landrecords/delinquenttaxes/delinquentTaxCalc.htm"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[1]/td/input")).SendKeys(ParcelID); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent details ", driver, "KY", "Fayette"); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[2]/td/input[4]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent Details InputPassedPdf", driver, "KY", "Fayette"); } catch { } //Delinquent Tax information Details if (Delinquent == "Yes") { try { driver.Navigate().GoToUrl("https://www.fayettecountyclerk.com/web/landrecords/delinquenttaxes/delinquentTaxCalc.htm"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[1]/td/input")).SendKeys(ParcelID); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent site InputPassed", driver, "KY", "Fayette"); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[2]/td/input[4]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent Details Displayed", driver, "KY", "Fayette"); string Year = "", BillNumber = "", Account = "", Paid = "", Assigned = "", Owner = ""; IWebElement tbmulti12 = driver.FindElement(By.XPath("//*[@id='subfile']/tbody")); IList <IWebElement> TRmulti12 = tbmulti12.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti12; foreach (IWebElement row in TRmulti12) { TDmulti12 = row.FindElements(By.TagName("td")); if (TDmulti12.Count != 0 && row.Text.Contains(ParcelID)) { Year = TDmulti12[1].Text; BillNumber = TDmulti12[2].Text; Account = TDmulti12[3].Text; Paid = TDmulti12[4].Text; Assigned = TDmulti12[5].Text; Owner = TDmulti12[6].Text; string DelinquentTaxinformationDetails = Year + "~" + BillNumber + "~" + Account + "~" + Paid + "~" + Assigned + "~" + Owner; gc.insert_date(orderNumber, ParcelID, 674, DelinquentTaxinformationDetails, 1, DateTime.Now); } } } catch { } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "KY", "Fayette"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "KY", "Fayette", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_LeeFL(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 = ""; List <string> strissuecertificate = new List <string>(); List <string> taxhistorylink = new List <string>(); List <string> downloadlink = new List <string>(); List <string> taxhistorylinkinst = new List <string>(); var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver(); //driver = new PhantomJSDriver(); using (driver = new PhantomJSDriver()) //ChromeDriver { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://www.leepa.org/Search/PropertySearch.aspx"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", "", Address, "FL", "Lee"); 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_LeeFL"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString().Replace("-", ""); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_AddressTextBox")).SendKeys(Address); gc.CreatePdf_WOP(orderNumber, "Address search Input ", driver, "FL", "Lee"); driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_SubmitPropertySearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address search Result ", driver, "FL", "Lee"); ////Multiparcel try { //int Count = 0; string matches = driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_SearchResultsRepeater_ctl00_infoHeaderDetail")).Text; string matches1 = gc.Between(matches, "found", "matches").Trim(); IWebElement Multiaddresstable = driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/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 (multiaddressrow.Count > 8 && Multiaddressid.Count != 0 && Multiaddressid.Count == 8 && !Multiaddress.Text.Contains("STRAP / Folio ID ")) { string Multiparcelnumber = Multiaddressid[1].Text; string OWnername = Multiaddressid[2].Text; string Address1 = Multiaddressid[3].Text; string multiaddressresult = OWnername + "~" + Address1; gc.insert_date(orderNumber, Multiparcelnumber, 1525, multiaddressresult, 1, DateTime.Now); //Count++; } } if (multiaddressrow.Count == 8) { driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table/tbody/tr[1]/th[1]/a")).Click(); Thread.Sleep(2000); } if (multiaddressrow.Count > 8 && Convert.ToInt16(matches1) <= 10) { HttpContext.Current.Session["multiparcel_LeeFL"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Convert.ToInt16(matches1) > 10) { HttpContext.Current.Session["multiParcel_LeeFL_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_ErrorLabel")).Text; if (nodata.Contains("Returned 0 records.") || nodata.Contains("No matches found")) { HttpContext.Current.Session["Nodata_LeeFL"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_STRAPTextBox")).SendKeys(parcelNumber); gc.CreatePdf_WOP(orderNumber, "Parcel search", driver, "FL", "Lee"); driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_SubmitPropertySearch")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Parcel search Result", driver, "FL", "Lee"); try { //No Data Found string nodata = driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_ErrorLabel")).Text; if (nodata.Contains("Returned 0 records.") || nodata.Contains("No matches found")) { HttpContext.Current.Session["Nodata_LeeFL"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_OwnerNameTextBox")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Ownername search Input ", driver, "FL", "Lee"); driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_SubmitPropertySearch")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Ownername search Result ", driver, "FL", "Lee"); ////Multiparcel try { //int Count = 0; string matches = driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_SearchResultsRepeater_ctl00_infoHeaderDetail")).Text; string matches1 = gc.Between(matches, "found", "matches").Trim(); IWebElement Multiaddresstable = driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/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 (multiaddressrow.Count > 8 && Multiaddressid.Count != 0 && Multiaddressid.Count == 8 && !Multiaddress.Text.Contains("STRAP / Folio ID ")) { string Multiparcelnumber = Multiaddressid[1].Text; string OWnername = Multiaddressid[2].Text; string Address1 = Multiaddressid[3].Text; string multiaddressresult = OWnername + "~" + Address1; gc.insert_date(orderNumber, Multiparcelnumber, 1525, multiaddressresult, 1, DateTime.Now); //Count++; } } if (multiaddressrow.Count == 8) { driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table/tbody/tr[1]/th[1]/a")).Click(); Thread.Sleep(2000); } if (multiaddressrow.Count > 8 && Convert.ToInt16(matches1) <= 10) { HttpContext.Current.Session["multiparcel_LeeFL"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Convert.ToInt16(matches1) > 10) { HttpContext.Current.Session["multiParcel_LeeFL_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctl00_BodyContentPlaceHolder_ErrorLabel")).Text; if (nodata.Contains("Returned 0 records.")) { HttpContext.Current.Session["Nodata_LeeFL"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string ParcelID = "", FolioNo = "", OwnerName = "", PropertyAddress = "", MailingAdd1 = "", MailingAdd2 = "", MailingAdd3 = "", MailingAdd4 = "", MailingAdd = "", Legaldes = "", Yearbuilt = "", Usecode = "", Usecodedescri = ""; //ParcelID = driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/table/tbody/tr[1]/td[2]")).Text; // FolioNo= driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/table/tbody/tr[2]/td[1]")).Text; try { driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table/tbody/tr[1]/th[1]/a")).Click(); Thread.Sleep(9000); driver.SwitchTo().Window(driver.WindowHandles.Last()); } catch { } try { IWebElement Receipttable = driver.FindElement(By.XPath("//*[@id='ctl00_BodyContentPlaceHolder_PropertySearchUpdatePanel']/div[3]/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table/tbody/tr[1]/th[1]/a")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", Receipttable); Thread.Sleep(9000); driver.SwitchTo().Window(driver.WindowHandles.Last()); } catch { } try { IWebElement Receipttable = driver.FindElement(By.LinkText("Parcel Details")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", Receipttable); Thread.Sleep(9000); driver.SwitchTo().Window(driver.WindowHandles.Last()); } catch { } Thread.Sleep(2000); //gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Input", driver, "FL", "Lee"); //driver.SwitchTo().Window(driver.WindowHandles.Last()); //Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Result", driver, "FL", "Lee"); IWebElement ParcelID1 = driver.FindElement(By.XPath("//*[@id='content']/div/div[1]/div[2]")); ParcelID = gc.Between(ParcelID1.Text, "STRAP:", "Folio ID:").Trim(); FolioNo = GlobalClass.After(ParcelID1.Text, "Folio ID:").Trim(); PropertyAddress = driver.FindElement(By.XPath("//*[@id='divDisplayParcelOwner']/div[2]/div[2]")).Text.Trim(); IWebElement OwnerName1 = driver.FindElement(By.XPath("//*[@id='divDisplayParcelOwner']/div[1]/div/div[2]/div")); //string[] OwnerName1split = OwnerName1.Text.Split('\r'); //OwnerName = OwnerName1split[0].Replace("\n", "").Trim(); //try //{ // MailingAdd1 = OwnerName1split[1].Replace("\n", "").Trim(); // MailingAdd2 = OwnerName1split[2].Replace("\n", "").Trim(); // MailingAdd3 = OwnerName1split[3].Replace("\n", "").Trim(); // MailingAdd4 = OwnerName1split[4].Replace("\n", "").Trim(); //} //catch { } //MailingAdd = MailingAdd1.Trim() + " " + MailingAdd2.Trim() + " " + MailingAdd3.Trim() + " " + MailingAdd4.Trim(); ownername = OwnerName1.Text.Replace("\r\n", " "); Legaldes = driver.FindElement(By.XPath("//*[@id='divDisplayParcelOwner']/div[3]/div[2]")).Text.Trim(); //Yearbuilt = driver.FindElement(By.XPath("//*[@id='divDisplayParcelAttributes']/div[2]/table[2]/tbody/tr[6]/td")).Text.Trim(); driver.FindElement(By.Id("AppraisalHyperLink2")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Appraisal Details", driver, "FL", "Lee"); try { Usecode = driver.FindElement(By.XPath("//*[@id='AppraisalDetails']/div[2]/table[1]/tbody/tr[3]/td[1]")).Text.Trim(); Usecodedescri = driver.FindElement(By.XPath("//*[@id='AppraisalDetails']/div[2]/table[1]/tbody/tr[3]/td[2]")).Text.Trim(); } catch { } try { Yearbuilt = driver.FindElement(By.XPath("//*[@id='divDisplayParcelAttributes']/div[2]/table[2]/tbody/tr[6]/td")).Text.Trim(); } catch { } try { Yearbuilt = driver.FindElement(By.XPath("//*[@id='AppraisalDetails']/div[3]/table[2]/tbody/tr[3]/td[11]")).Text.Trim(); } catch { } //Assessment Details string Assessedyear = "", Just = "", Assessed = "", PortabilityApp = "", Capassessed = "", Taxable = "", Capdifferen = "", Homestead = "", Additional = ""; driver.FindElement(By.Id("LastRollHyperLink2")).Click(); Thread.Sleep(2000); IWebElement Assessedyear1 = driver.FindElement(By.Id("LastRollHyperLink2")); if (Assessedyear1.Text.Contains("Tax Roll")) { Assessedyear = gc.Between(Assessedyear1.Text, "Values (", "Tax Roll)").Trim(); } if (Assessedyear1.Text.Contains("TRIM")) { Assessedyear = gc.Between(Assessedyear1.Text, "Values (", "TRIM)").Trim(); } IWebElement Bigdata3 = driver.FindElement(By.XPath("//*[@id='taxRollTable']/tbody/tr[2]/td[1]/table/tbody")); IList <IWebElement> TRBigdata3 = Bigdata3.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata3; foreach (IWebElement row3 in TRBigdata3) { TDBigdata3 = row3.FindElements(By.TagName("td")); if (TDBigdata3.Count != 0 && TDBigdata3.Count == 1 && row3.Text.Contains("Just")) { Just = TDBigdata3[0].Text; } if (TDBigdata3.Count != 0 && TDBigdata3.Count == 1 && row3.Text.Contains("Assessed") && !row3.Text.Contains("Cap")) { Assessed = TDBigdata3[0].Text; } if (TDBigdata3.Count != 0 && TDBigdata3.Count == 1 && row3.Text.Contains("Portability Applied")) { PortabilityApp = TDBigdata3[0].Text; } if (TDBigdata3.Count != 0 && TDBigdata3.Count == 1 && row3.Text.Contains("Cap") && !row3.Text.Contains("Difference")) { Capassessed = TDBigdata3[0].Text; } if (TDBigdata3.Count != 0 && TDBigdata3.Count == 1 && row3.Text.Contains("Taxable")) { Taxable = TDBigdata3[0].Text; } if (TDBigdata3.Count != 0 && TDBigdata3.Count == 1 && row3.Text.Contains("Cap Difference")) { Capdifferen = TDBigdata3[0].Text; } } string AssessmentDetails = Assessedyear.Trim() + "~" + Just.Trim() + "~" + Assessed.Trim() + "~" + PortabilityApp.Trim() + "~" + Capassessed.Trim() + "~" + Taxable.Trim() + "~" + Capdifferen.Trim(); gc.insert_date(orderNumber, ParcelID, 1516, AssessmentDetails, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Overall Extended Click Screenshots //Exemption click try { driver.FindElement(By.Id("ExemptionsHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Taxing Authorities try { driver.FindElement(By.Id("TaxAuthorityHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Sales /Transactions try { driver.FindElement(By.Id("SalesHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Building/Construction Permit Data try { driver.FindElement(By.Id("PermitHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Parcel Numbering History try { driver.FindElement(By.Id("NumberingHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Location Information try { driver.FindElement(By.Id("LocationHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Solid Waste try { driver.FindElement(By.Id("GarbageHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Flood and Storm Information try { driver.FindElement(By.Id("ElevationHyperLink2")).Click(); Thread.Sleep(2000); } catch { } //Appraisal Details (Current Working Values) try { driver.FindElement(By.Id("AppraisalHyperLinkCurrent2")).Click(); Thread.Sleep(2000); } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Extended Click", driver, "FL", "Lee"); //Tax Authority Details string TaxAuthority = "", TaxAuthority1 = "", TaxAuthority2 = "", TaxAuthority3 = "", TaxAuthority4 = ""; try { driver.Navigate().GoToUrl("https://www.leetc.com/contact-us"); TaxAuthority = driver.FindElement(By.XPath("//*[@id='form1']/div[4]/div/div/div[2]/div[1]/div[2]/p[4]")).Text; } catch { } //Property Details Insert string PropertyDetails = FolioNo.Trim() + "~" + PropertyAddress.Trim() + "~" + ownername + "~" + Legaldes.Trim() + "~" + Yearbuilt.Trim() + "~" + Usecode.Trim() + "~" + Usecodedescri.Trim() + "~" + TaxAuthority.Trim(); gc.insert_date(orderNumber, ParcelID, 1506, PropertyDetails, 1, DateTime.Now); //Tax Information Details driver.Navigate().GoToUrl("https://www.leetc.com/ncp/search_criteria.asp?searchtype=RP"); string Parcelnum = "", Propertyadd = "", Owner = "", TaxYear = "", Status = "", Totaldue1 = "", Totaldue = "", Asofgoodamt = "", Paidamt = "", Paiddate = "", Effdate = "", Certinum = "", Goodthroughdate = ""; driver.FindElement(By.Id("account_query1")).SendKeys(ParcelID.Replace(".", "").Replace("-", "").Trim()); SelectElement ss = new SelectElement(driver.FindElement(By.Id("account_queryAddl"))); ss.SelectByText("All"); driver.FindElement(By.Id("searchsubmit")).SendKeys(Keys.Enter); Thread.Sleep(9000); gc.CreatePdf(orderNumber, parcelNumber, "Tax History pdf", driver, "FL", "Lee"); //Payment History Details string SSBillType1 = "", SSStatus1 = "", SSDuedate1 = "", Owneradd = "", SSDue1 = ""; string Syear = DateTime.Now.Year.ToString(); int iyear = Int32.Parse(Syear); List <string> billinfo = new List <string>(); IWebElement Billsinfo2 = driver.FindElement(By.Id("resultstable")); IList <IWebElement> TRBillsinfo2 = Billsinfo2.FindElements(By.TagName("tr")); IList <IWebElement> Aherftax; foreach (IWebElement row in TRBillsinfo2) { Aherftax = row.FindElements(By.TagName("td")); if (Aherftax.Count != 0 && Aherftax.Count == 5 && !row.Text.Contains("Account")) { SSBillType1 = Aherftax[0].Text; SSStatus1 = Aherftax[1].Text; SSDuedate1 = Aherftax[2].Text; string[] SSDuedate1split = SSDuedate1.Split('\r'); Owneradd = SSDuedate1split[0].Trim(); SSDue1 = Aherftax[3].Text; string Paymentdetails = SSStatus1.Trim() + "~" + Owneradd.Trim() + "~" + SSDue1.Trim(); gc.insert_date(orderNumber, ParcelID, 1602, Paymentdetails, 1, DateTime.Now); } if (billinfo.Count < 3 && Aherftax.Count != 0 && Aherftax[0].Text.Trim() != "" && !row.Text.Contains("Account")) { if (iyear == Convert.ToInt32(SSStatus1)) { IWebElement value1 = Aherftax[0].FindElement(By.TagName("a")); string addview = value1.GetAttribute("href"); billinfo.Add(addview); } else if ((Convert.ToInt32(iyear) - 1) == Convert.ToInt32(SSStatus1)) { IWebElement value1 = Aherftax[0].FindElement(By.TagName("a")); string addview = value1.GetAttribute("href"); billinfo.Add(addview); } else if ((Convert.ToInt32(iyear) - 2) == Convert.ToInt32(SSStatus1)) { IWebElement value1 = Aherftax[0].FindElement(By.TagName("a")); string addview = value1.GetAttribute("href"); billinfo.Add(addview); } else if ((Convert.ToInt32(iyear) - 3) == Convert.ToInt32(SSStatus1)) { IWebElement value1 = Aherftax[0].FindElement(By.TagName("a")); string addview = value1.GetAttribute("href"); billinfo.Add(addview); } } } int i = 0; foreach (string assessmentclick in billinfo) { driver.Navigate().GoToUrl(assessmentclick); gc.CreatePdf(orderNumber, parcelNumber, "Tax Page" + i, driver, "FL", "Lee"); Parcelnum = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[3]/td[1]/span/a")).Text.Trim(); Propertyadd = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[9]/td[1]")).Text.Trim(); Owner = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[7]/td/span")).Text.Trim(); TaxYear = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[3]/td[2]")).Text.Trim(); Status = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[3]/td[3]/span/a")).Text.Trim(); try { Totaldue1 = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[12]/td[2]")).Text.Trim(); } catch { } try { if (!Totaldue1.Contains("Status")) { Totaldue = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/table/tbody/tr[12]/td[2]")).Text.Trim(); } } catch { } string Taxinformationdetails = Propertyadd.Trim() + "~" + Owner.Trim() + "~" + TaxYear.Trim() + "~" + Status.Trim() + "~" + Totaldue.Trim(); gc.insert_date(orderNumber, Parcelnum, 1519, Taxinformationdetails, 1, DateTime.Now); //Tax Distribution Details //Ad Valorem Details string Taxingauthority = "", Millrate = "", Assess = "", Exempt = "", Taxable1 = "", Amount = "", Taxtype = ""; driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/span/ul/li[2]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Ad valorem" + i, driver, "FL", "Lee"); Taxtype = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/div[2]/table[2]/tbody/tr/td/span/strong")).Text.Replace("Taxes", "").Trim(); IWebElement Bigdata1 = driver.FindElement(By.Id("advalorem")); IList <IWebElement> TRBigdata1 = Bigdata1.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata1; foreach (IWebElement row1 in TRBigdata1) { TDBigdata1 = row1.FindElements(By.TagName("td")); if (TDBigdata1.Count != 0 && TDBigdata1.Count == 6 && !row1.Text.Contains("Taxing Authority")) { Taxingauthority = TDBigdata1[0].Text; Millrate = TDBigdata1[1].Text; Assess = TDBigdata1[2].Text; Exempt = TDBigdata1[3].Text; Taxable1 = TDBigdata1[4].Text; Amount = TDBigdata1[5].Text; string Advaloremdetails = TaxYear.Trim() + "~" + Taxtype.Trim() + "~" + Taxingauthority.Trim() + "~" + Millrate.Trim() + "~" + Assess.Trim() + "~" + Exempt.Trim() + "~" + Taxable1.Trim() + "~" + Amount.Trim(); gc.insert_date(orderNumber, Parcelnum, 1521, Advaloremdetails, 1, DateTime.Now); } } //Non Ad Valorem Details string NonadTaxingauthority = "", Rate = "", Basis = "", NonadAmount = "", NonadTaxtype = ""; try { // driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/span/ul/li[2]/a")).Click(); NonadTaxtype = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/div[2]/table[5]/tbody/tr/td/span/strong")).Text.Replace("Assessments", "").Trim(); IWebElement Bigdata2 = driver.FindElement(By.Id("nonadvalorem")); IList <IWebElement> TRBigdata2 = Bigdata2.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata2; foreach (IWebElement row2 in TRBigdata2) { TDBigdata2 = row2.FindElements(By.TagName("td")); if (TDBigdata2.Count != 0 && TDBigdata2.Count == 4 && !row2.Text.Contains("Taxing Authority")) { NonadTaxingauthority = TDBigdata2[0].Text; Rate = TDBigdata2[1].Text; Basis = TDBigdata2[2].Text; NonadAmount = TDBigdata2[3].Text; string NonAdvaloremdetails = TaxYear.Trim() + "~" + NonadTaxtype.Trim() + "~" + NonadTaxingauthority.Trim() + "~" + Rate.Trim() + "~" + Basis.Trim() + "~" + NonadAmount.Trim(); gc.insert_date(orderNumber, Parcelnum, 1523, NonAdvaloremdetails, 1, DateTime.Now); } } } catch { } //Due Date Details try { IWebElement valuetableElement = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/div[2]/table[8]/tbody/tr/td/table/tbody")); IList <IWebElement> valuetableRow = valuetableElement.FindElements(By.TagName("tr")); IList <IWebElement> valuerowTD; List <string> Ifpaidby = new List <string>(); List <string> Pleasepay = new List <string>(); int s = 0; foreach (IWebElement row2 in valuetableRow) { valuerowTD = row2.FindElements(By.TagName("td")); if (valuerowTD.Count != 0 && !row2.Text.Contains("Amount Due If Paid In") && valuerowTD.Count == 5) { if (s == 0) { Ifpaidby.Add(valuerowTD[0].Text.Trim()); Ifpaidby.Add(valuerowTD[1].Text.Trim()); Ifpaidby.Add(valuerowTD[2].Text.Trim()); Ifpaidby.Add(valuerowTD[3].Text.Trim()); Ifpaidby.Add(valuerowTD[4].Text.Trim()); } else if (s == 1) { Pleasepay.Add(valuerowTD[0].Text); Pleasepay.Add(valuerowTD[1].Text); Pleasepay.Add(valuerowTD[2].Text); Pleasepay.Add(valuerowTD[3].Text); Pleasepay.Add(valuerowTD[4].Text); } s++; } } string Amountdue1 = Ifpaidby[0] + "~" + Pleasepay[0]; string Amountdue2 = Ifpaidby[1] + "~" + Pleasepay[1]; string Amountdue3 = Ifpaidby[2] + "~" + Pleasepay[2]; string Amountdue4 = Ifpaidby[3] + "~" + Pleasepay[3]; string Amountdue5 = Ifpaidby[4] + "~" + Pleasepay[4]; gc.insert_date(orderNumber, Parcelnum, 1524, TaxYear + "~" + Amountdue1, 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnum, 1524, TaxYear + "~" + Amountdue2, 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnum, 1524, TaxYear + "~" + Amountdue3, 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnum, 1524, TaxYear + "~" + Amountdue4, 1, DateTime.Now); gc.insert_date(orderNumber, Parcelnum, 1524, TaxYear + "~" + Amountdue5, 1, DateTime.Now); } catch { } //Tax History Details try { string Taxyearhis = "", Taxablevalue = "", Exemptions = "", Totaltax = ""; driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/span/ul/li[5]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcelnum, "Tax History" + i, driver, "FL", "Lee"); IWebElement Bigdata4 = driver.FindElement(By.Id("history")); IList <IWebElement> TRBigdata4 = Bigdata4.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata4; foreach (IWebElement row4 in TRBigdata4) { TDBigdata4 = row4.FindElements(By.TagName("td")); if (TDBigdata4.Count != 0 && TDBigdata4.Count == 5 && !row4.Text.Contains("Tax Year")) { Taxyearhis = TDBigdata4[0].Text; Taxablevalue = TDBigdata4[2].Text; Exemptions = TDBigdata4[3].Text; Totaltax = TDBigdata4[4].Text; string Taxhistorydetails = Taxyearhis.Trim() + "~" + Taxablevalue.Trim() + "~" + Exemptions.Trim() + "~" + Totaltax.Trim(); gc.insert_date(orderNumber, Parcelnum, 1526, Taxhistorydetails, 1, DateTime.Now); } } } catch { } //Delinquent Taxes try { driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/span/ul/li[4]/a")).Click(); string Certificate = "", year = "", Status1 = "", Balance1 = "", Balance2 = "", title = ""; gc.CreatePdf(orderNumber, Parcelnum, "View Bill Yearwise" + i, driver, "FL", "Lee"); IWebElement Bigdata5 = driver.FindElement(By.Id("stacktable")); IList <IWebElement> TRBigdata5 = Bigdata5.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata5; foreach (IWebElement row5 in TRBigdata5) { TDBigdata5 = row5.FindElements(By.TagName("td")); if (TDBigdata5.Count != 0 && TDBigdata5.Count == 6 && row5.Text.Contains("Certificate")) { title = TDBigdata5[0].Text + "~" + TDBigdata5[1].Text + "~" + TDBigdata5[3].Text + "~" + TDBigdata5[4].Text + "~" + TDBigdata5[5].Text; db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + title + "' where Id = '" + 1533 + "'"); } if (TDBigdata5.Count != 0 && TDBigdata5.Count == 6 && !row5.Text.Contains("Certificate")) { Certificate = TDBigdata5[0].Text; year = TDBigdata5[1].Text; Status1 = TDBigdata5[3].Text; Balance1 = TDBigdata5[4].Text; Balance2 = TDBigdata5[5].Text; string UTaxDetails = Certificate.Trim() + "~" + year.Trim() + "~" + Status1.Trim() + "~" + Balance1.Trim() + "~" + Balance2.Trim(); gc.insert_date(orderNumber, Parcelnum, 1533, UTaxDetails, 1, DateTime.Now); } } } catch { } //Payments Details try { driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div/span/ul/li[3]/a")).Click(); Thread.Sleep(2000); string title1 = "", Paymenttaxyear = "", PaymentAccount = "", Processed = "", AsPaid = "", AmountPaid = ""; gc.CreatePdf(orderNumber, Parcelnum, "Payment Details" + i, driver, "FL", "Lee"); IWebElement Bigdata6 = driver.FindElement(By.Id("stacktable")); IList <IWebElement> TRBigdata6 = Bigdata6.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata6; foreach (IWebElement row6 in TRBigdata6) { TDBigdata6 = row6.FindElements(By.TagName("td")); if (TDBigdata6.Count != 0 && TDBigdata6.Count == 5 && row6.Text.Contains("Tax Year")) { title1 = TDBigdata6[0].Text.Trim() + "~" + TDBigdata6[2].Text.Trim() + "~" + TDBigdata6[3].Text.Trim() + "~" + TDBigdata6[4].Text.Trim(); db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + title1 + "' where Id = '" + 1601 + "'"); } if (TDBigdata6.Count != 0 && TDBigdata6.Count == 5 && !row6.Text.Contains("Tax Year")) { Paymenttaxyear = TDBigdata6[0].Text; Processed = TDBigdata6[2].Text; AsPaid = TDBigdata6[3].Text; AmountPaid = TDBigdata6[4].Text; string UTaxDetails = Paymenttaxyear + "~" + Processed + "~" + AsPaid + "~" + AmountPaid; gc.insert_date(orderNumber, Parcelnum, 1601, UTaxDetails, 1, DateTime.Now); } } } catch { } i++; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Lee"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Lee", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_LarimerCO(string houseno, string sname, string stype, string account, string parcelNumber, string ownername, 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 straccount = "", strOwner = "", strOccuPancy = "", strAddress = "", multicount = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); //old //http://www.co.larimer.co.us/assessor/query/search.cfm driver.Navigate().GoToUrl("https://www.larimer.org/assessor/search#/property/"); if (searchType == "titleflex") { string address = houseno + " " + sname + " " + stype + " " + account; gc.TitleFlexSearch(orderNumber, "", ownername, address, "CO", "Larimer"); 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_LarimerCO"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("fromAddrNum")).SendKeys(houseno); driver.FindElement(By.Id("address")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "CO", "Larimer"); driver.FindElement(By.XPath("//*[@id='searchForm']/div/div[2]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { multicount = driver.FindElement(By.XPath("//*[@id='resultsTable']/thead/tr[1]/td/table-header-sm/div[2]/div[1]/span[1]")).Text.Trim(); if (Convert.ToInt32(multicount) > 1 && Convert.ToInt32(multicount) != 0) { if (Convert.ToInt32(multicount) > 25) { HttpContext.Current.Session["multiParcel_LarimerCO_Maximum"] = "Maximum"; driver.Quit(); } try { IWebElement IMultiChoose = driver.FindElement(By.Id("items2")); SelectElement Smultiselect = new SelectElement(IMultiChoose); Smultiselect.SelectByText("41"); } catch { } IWebElement IMultiAddress = driver.FindElement(By.XPath("//*[@id='resultsTable']/tbody")); IList <IWebElement> IMultiRow = IMultiAddress.FindElements(By.TagName("tr")); IList <IWebElement> IMultiTd; foreach (IWebElement multi in IMultiRow) { IMultiTd = multi.FindElements(By.TagName("td")); if (IMultiTd.Count != 0) { straccount = IMultiTd[0].Text; strOwner = IMultiTd[2].Text; strOccuPancy = IMultiTd[3].Text; strAddress = IMultiTd[4].Text; string multiDetails = straccount + "~" + strOwner + "~" + strOccuPancy + "~" + strAddress; gc.insert_date(orderNumber, IMultiTd[1].Text, 634, multiDetails, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multi Address Search", driver, "CO", "Larimer"); HttpContext.Current.Session["multiParcel_LarimerCO"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("parcelno")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "CO", "Larimer"); driver.FindElement(By.XPath("//*[@id='searchForm']/div/div[2]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { multicount = driver.FindElement(By.XPath("//*[@id='resultsTable']/thead/tr[1]/td/table-header-sm/div[2]/div[1]/span[1]")).Text.Trim(); if (Convert.ToInt32(multicount) > 1 && Convert.ToInt32(multicount) != 0) { driver.FindElement(By.XPath("//*[@id='resultsTable']/tbody/tr[1]/td[2]")).Click(); Thread.Sleep(2000); } } catch { } } if (searchType == "account") { if (account.Contains("R")) { account = account.Replace("R", ""); } driver.FindElement(By.Id("scheduleno")).SendKeys(account); gc.CreatePdf_WOP(orderNumber, "Account Search", driver, "CO", "Larimer"); driver.FindElement(By.XPath("//*[@id='searchForm']/div/div[2]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { multicount = driver.FindElement(By.XPath("//*[@id='resultsTable']/thead/tr[1]/td/table-header-sm/div[2]/div[1]/span[1]")).Text.Trim(); if (Convert.ToInt32(multicount) > 1 && Convert.ToInt32(multicount) != 0) { driver.FindElement(By.XPath("//*[@id='resultsTable']/tbody/tr[1]/td[2]")).Click(); Thread.Sleep(2000); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("name")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "OwnerName Search", driver, "CO", "Larimer"); driver.FindElement(By.XPath("//*[@id='searchForm']/div/div[2]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { multicount = driver.FindElement(By.XPath("//*[@id='resultsTable']/thead/tr[1]/td/table-header-sm/div[2]/div[1]/span[1]")).Text.Trim(); if (Convert.ToInt32(multicount) > 1 && Convert.ToInt32(multicount) != 0) { if (Convert.ToInt32(multicount) > 25) { HttpContext.Current.Session["multiParcel_LarimerCO_Maximum"] = "Maximum"; driver.Quit(); } try { IWebElement IMultiChoose = driver.FindElement(By.Id("items2")); SelectElement Smultiselect = new SelectElement(IMultiChoose); Smultiselect.SelectByText("41"); } catch { } IWebElement IMultiAddress = driver.FindElement(By.XPath("//*[@id='resultsTable']/tbody")); IList <IWebElement> IMultiRow = IMultiAddress.FindElements(By.TagName("tr")); IList <IWebElement> IMultiTd; foreach (IWebElement multi in IMultiRow) { IMultiTd = multi.FindElements(By.TagName("td")); if (IMultiTd.Count != 0) { straccount = IMultiTd[0].Text; strOwner = IMultiTd[2].Text; strOccuPancy = IMultiTd[3].Text; strAddress = IMultiTd[4].Text; string multiDetails = straccount + "~" + strOwner + "~" + strOccuPancy + "~" + strAddress; gc.insert_date(orderNumber, IMultiTd[1].Text, 634, multiDetails, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multi Address Search", driver, "CO", "Larimer"); HttpContext.Current.Session["multiParcel_LarimerCO"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div[2]/table-results/div[2]")); if (INodata.Text.Contains("search returned no results")) { HttpContext.Current.Session["Nodata_LarimerCO"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Switch window", driver, "CO", "Larimer"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='p-info']/div[2]/div/div[1]"))); gc.CreatePdf_WOP(orderNumber, "Switch window", driver, "CO", "Larimer"); driver.FindElement(By.XPath("//*[@id='detailModal']/div/div/div[1]/button[2]")).Click(); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); string strgeneralInfo = "", straddress = "", ScheduleNumber = "", strLegal = "", LegalDiscription = "", PropertyTaxYear = "", PropertyAddress = "", strownerName = "", MailingAddress = "", OwnerName = "", YearBuilt = "", PropertyType = "", Occupancy = ""; strgeneralInfo = driver.FindElement(By.XPath("//*[@id='p-info']/div[1]/div[1]/div[1]/div[1]")).Text; parcelNumber = gc.Between(strgeneralInfo, "Parcel Number: ", "Schedule Number:"); gc.CreatePdf(orderNumber, parcelNumber, "Property Search Result", driver, "CO", "Larimer"); ScheduleNumber = gc.Between(strgeneralInfo, "Schedule Number: ", "Tax District:"); PropertyTaxYear = gc.Between(strgeneralInfo, "Property Tax Year: ", "Current Mill Levy:"); strLegal = driver.FindElement(By.XPath("//*[@id='p-info']/div[1]/div[1]/div[2]")).Text; LegalDiscription = GlobalClass.After(strLegal, "Legal Description: "); straddress = driver.FindElement(By.XPath("//*[@id='p-info']/div[1]/div[1]/div[1]/div[2]")).Text; PropertyAddress = gc.Between(straddress, "Property Address:", "Owner Name & Address:"); strownerName = GlobalClass.After(straddress, "Owner Name & Address:"); MailingAddress = GlobalClass.After(strownerName, "\r\n\r\n"); OwnerName = GlobalClass.Before(strownerName, "\r\n\r\n"); string LActualValue = "", LAssessedValue = "", IActualValue = "", IAssessedValue = "", TActualValue = "", TAssessedValue = ""; IWebElement IAssessmentTable = driver.FindElement(By.XPath("//*[@id='p-info']/div[3]/table/tbody")); IList <IWebElement> IAssessmentRow = IAssessmentTable.FindElements(By.TagName("tr")); IList <IWebElement> IAssessmentTD; foreach (IWebElement Assessment in IAssessmentRow) { IAssessmentTD = Assessment.FindElements(By.TagName("td")); if (IAssessmentTD.Count != 0 && !Assessment.Text.Contains("Totals:") && Assessment.Text.Contains("Land")) { LActualValue = IAssessmentTD[3].Text; LAssessedValue = IAssessmentTD[4].Text; } if (IAssessmentTD.Count != 0 && !Assessment.Text.Contains("Totals:") && (Assessment.Text.Contains("Improvement") || Assessment.Text.Contains("Building"))) { IActualValue = IAssessmentTD[3].Text; IAssessedValue = IAssessmentTD[4].Text; } if (IAssessmentTD.Count != 0 && Assessment.Text.Contains("Totals:")) { TActualValue = IAssessmentTD[1].Text; TAssessedValue = IAssessmentTD[2].Text; } } string AssessmentDetails = PropertyTaxYear + "~" + LActualValue + "~" + IActualValue + "~" + TActualValue + "~" + LAssessedValue + "~" + IAssessedValue + "~" + TAssessedValue; gc.insert_date(orderNumber, parcelNumber, 640, AssessmentDetails, 1, DateTime.Now); driver.FindElement(By.LinkText("Building Info")).Click(); gc.CreatePdf(orderNumber, parcelNumber, "Year Build", driver, "CO", "Larimer"); try { IWebElement Iyear = driver.FindElement(By.XPath("//*[@id='imp']/tbody")); IList <IWebElement> IyearRow = Iyear.FindElements(By.TagName("tr")); IList <IWebElement> IyearTD; foreach (IWebElement year in IyearRow) { IyearTD = year.FindElements(By.TagName("td")); if (IyearTD.Count != 0 && year.Text.Contains("Year Built from:")) { YearBuilt = IyearTD[1].Text; } if (IyearTD.Count != 0 && year.Text.Contains("Property Type:")) { PropertyType = IyearTD[1].Text; } if (IyearTD.Count != 0 && year.Text.Contains("Occupancy:")) { Occupancy = IyearTD[1].Text; } } } catch { } ByVisibleElement(driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div[4]/div[2]/div/div[3]/div[2]/table"))); gc.CreatePdf(orderNumber, parcelNumber, "Building Info", driver, "CO", "Larimer"); string PropertyDetails = ScheduleNumber + "~" + OwnerName + "~" + PropertyAddress + "~" + MailingAddress + "~" + LegalDiscription + "~" + YearBuilt + "~" + PropertyType + "~" + Occupancy; gc.insert_date(orderNumber, parcelNumber, 639, PropertyDetails, 1, DateTime.Now); driver.SwitchTo().DefaultContent(); string TaxParcelNo = "", TaxYear = "", TaxPeriod = "", TaxDue = "", TaxAmount = "", TaxAuthority = "", TaxAuthOffice = "", TaxAuthAddress = ""; AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); try { var chromeOptions = new ChromeOptions(); var chDriver = new ChromeDriver(chromeOptions); IJavaScriptExecutor js = (IJavaScriptExecutor)chDriver; try { chDriver.Navigate().GoToUrl("https://www.larimer.org/treasurer/search"); chDriver.FindElement(By.Id("parcelno")).SendKeys(parcelNumber); chDriver.FindElement(By.XPath("//*[@id='searchForm']/div[2]/div[2]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); chDriver.FindElement(By.XPath("//*[@id='resultsTable']/tbody/tr")).Click(); Thread.Sleep(5000); try { IWebElement IPrperty = chDriver.FindElement(By.XPath("//*[@id='detailModal']/div/div/div[2]/div/div/h2")); js.ExecuteScript("arguments[0].scrollIntoView();", IPrperty); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Tax Property", chDriver, "CO", "Larimer"); IWebElement IPayment = chDriver.FindElement(By.XPath("//*[@id='detailModal']/div/div/div[2]/div/div/div[2]/div[2]")); js.ExecuteScript("arguments[0].scrollIntoView();", IPayment); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Tax Payment", chDriver, "CO", "Larimer"); IWebElement IStPayment = chDriver.FindElement(By.XPath("//*[@id='detailModal']/div/div/div[2]/div/div/div[5]/div[1]")); js.ExecuteScript("arguments[0].scrollIntoView();", IStPayment); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Tax StPayment", chDriver, "CO", "Larimer"); IWebElement ILevy = chDriver.FindElement(By.XPath("//*[@id='detailModal']/div/div/div[2]/div/div/div[5]/div[2]")); js.ExecuteScript("arguments[0].scrollIntoView();", ILevy); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Tax Levy", chDriver, "CO", "Larimer"); } catch { } chDriver.Quit(); } catch (Exception ex) { try { chDriver.Navigate().GoToUrl("https://www.larimer.org/treasurer/search"); chDriver.FindElement(By.Id("parcelno")).SendKeys(parcelNumber); int Year = DateTime.Now.Year; string currentyear = ""; for (int i = 1; i < 3; i++) { currentyear = Convert.ToString(Year - 2); } IWebElement ITaxYear = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[2]/div[2]/form/select")); SelectElement STaxYear = new SelectElement(ITaxYear); STaxYear.SelectByText(currentyear); TaxYear = STaxYear.SelectedOption.Text; Thread.Sleep(2000); } catch { } } chDriver.Quit(); } catch { } driver.Navigate().GoToUrl("https://www.larimer.org/treasurer/search"); driver.FindElement(By.Id("parcelno")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search", driver, "CO", "Larimer"); driver.FindElement(By.XPath("//*[@id='searchForm']/div[2]/div[2]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search Result", driver, "CO", "Larimer"); //*[@id="resultsTable"]/tbody/tr/td[2] //*[@id="resultsTable"]/tbody/tr try { driver.FindElement(By.XPath(" //*[@id='resultsTable']/tbody/tr/td[2]")).Click(); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.XPath("//*[@id='resultsTable']/tbody/tr")).Click(); Thread.Sleep(2000); } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Tax Result", driver, "CO", "Larimer"); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); //*[@id="detailModal"]/div/div/div[1]/button[2]/i driver.FindElement(By.XPath(" //*[@id='detailModal']/div/div/div[1]/button[2]/i")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); string parcelsearch = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[1]/div[2]/p[3]/span[2]")).Text; TaxParcelNo = GlobalClass.After(parcelsearch, "Parcel Number: "); try { int Year = DateTime.Now.Year; string currentyear = ""; for (int i = 0; i < 2; i++) { if (TaxYear == "") { try { currentyear = Convert.ToString(Year); //*[@id="main"]/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[1]/div[2]/form/select IWebElement ITaxYear = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[1]/div[2]/form/select")); SelectElement STaxYear = new SelectElement(ITaxYear); STaxYear.SelectByText(currentyear); TaxYear = STaxYear.SelectedOption.Text; Thread.Sleep(2000); } catch { } } Year--; } } catch { } //gc.CreatePdf(orderNumber, parcelNumber, "Tax Assessment Result Details", driver, "CO", "Larimer"); //Tax Authority TaxAuthOffice = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[5]/div[2]/div/div[2]/div[1]/strong")).Text; TaxAuthAddress = GlobalClass.After(driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[5]/div[2]/div/div[2]/div[2]")).Text, "Mailing address:"); TaxAuthority = TaxAuthOffice + " " + TaxAuthAddress.Replace("\r\n", " ").Trim(); string TaxAuth = TaxYear + "~" + "" + "~" + "" + "~" + "" + "~" + TaxAuthority; gc.insert_date(orderNumber, TaxParcelNo, 641, TaxAuth, 1, DateTime.Now); //Tax General Information IWebElement ITaxInfo = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[2]/div[2]/table/tbody")); IList <IWebElement> ITaxInfoRow = ITaxInfo.FindElements(By.TagName("tr")); IList <IWebElement> ITaxInfoTD; foreach (IWebElement Info in ITaxInfoRow) { ITaxInfoTD = Info.FindElements(By.TagName("td")); if (ITaxInfoTD.Count != 0 && ITaxInfoTD.Count == 3 && !Info.Text.Contains("Payment Received Date") && !Info.Text.Contains("Calculate")) { TaxPeriod = ITaxInfoTD[0].Text; TaxDue = ITaxInfoTD[1].Text; TaxAmount = ITaxInfoTD[2].Text; string TaxInformation = "~" + TaxPeriod + "~" + TaxDue + "~" + TaxAmount + "~"; gc.insert_date(orderNumber, TaxParcelNo, 641, TaxInformation, 1, DateTime.Now); } if (ITaxInfoTD.Count != 0 && ITaxInfoTD.Count == 2 && !Info.Text.Contains("Calculate") && Info.Text.Contains("Payment Received Date") && ITaxInfoTD.Count < 3 && !Info.Text.Contains("Period")) { TaxPeriod = ITaxInfoTD[0].Text; TaxDue = ITaxInfoTD[1].Text; TaxAmount = ""; string TaxInformation = "~" + TaxPeriod + "~" + TaxDue + "~" + TaxAmount + "~"; gc.insert_date(orderNumber, TaxParcelNo, 641, TaxInformation, 1, DateTime.Now); } } //Tax Jurisdictions string TaxLevy = "", TaxLevyAuthority = "", TaxLevyAmount = ""; IWebElement ITaxLevy = driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[5]/div[1]/table[2]/tbody")); IList <IWebElement> ITaxLevyRow = ITaxLevy.FindElements(By.TagName("tr")); IList <IWebElement> ITaxLevyTD; foreach (IWebElement Levy in ITaxLevyRow) { ITaxLevyTD = Levy.FindElements(By.TagName("td")); if (ITaxLevyTD.Count != 0) { TaxLevy = ITaxLevyTD[0].Text; TaxLevyAuthority = ITaxLevyTD[1].Text; TaxLevyAmount = ITaxLevyTD[2].Text; string TaxLevyJuris = TaxLevy + "~" + TaxLevyAuthority + "~" + TaxLevyAmount; gc.insert_date(orderNumber, TaxParcelNo, 642, TaxLevyJuris, 1, DateTime.Now); } } //Tax statement try { IWebElement ITaxStatement = driver.FindElement(By.LinkText("Tax Statement")); string strTaxSattement = ITaxStatement.GetAttribute("href"); gc.downloadfile(strTaxSattement, orderNumber, parcelNumber, "Tax Statement", "CO", "Larimer"); } catch { } //Tax History driver.FindElement(By.XPath("//*[@id='main']/div[3]/div/div[2]/div/div/div/div/div/div[3]/div[1]/div[2]/p[4]/a[1]")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, parcelNumber, "Tax History Details", driver, "CO", "Larimer"); //Tax Status string TaxStatusHead = "", TaxStatusAmount = ""; //*[@id="p-tax"]/div[3]/table[1]/tbody IWebElement ITaxStatus = driver.FindElement(By.XPath("//*[@id='p-tax']/div[3]/table[1]/tbody")); IList <IWebElement> ITaxStatusRow = ITaxStatus.FindElements(By.TagName("tr")); IList <IWebElement> ITaxStatusTD; foreach (IWebElement Status in ITaxStatusRow) { ITaxStatusTD = Status.FindElements(By.TagName("td")); if (ITaxStatusTD.Count != 0) { TaxStatusHead += ITaxStatusTD[0].Text.Replace("'", "").Replace("(", "").Replace(")", "") + "~"; TaxStatusAmount += ITaxStatusTD[1].Text + "~"; } } TaxStatusHead = TaxStatusHead.Remove(TaxStatusHead.Length - 1, 1); db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + TaxStatusHead + "' where Id = '" + 643 + "'"); TaxStatusAmount = TaxStatusAmount.Remove(TaxStatusAmount.Length - 1, 1); gc.insert_date(orderNumber, TaxParcelNo, 643, TaxStatusAmount, 1, DateTime.Now); //Tax History string TaxHistoryYear = "", TaxLiability = "", PropertyBalance = "", OwnerTaxLiability = "", StateTaxLiabilty = "", TotalActualValue = "", TotalAssessedValue = ""; IWebElement ITaxHistory = driver.FindElement(By.XPath("//*[@id='p-tax']/div[2]/table/tbody")); IList <IWebElement> ITaxHistoryRow = ITaxHistory.FindElements(By.TagName("tr")); IList <IWebElement> ITaxHistoryTD; foreach (IWebElement History in ITaxHistoryRow) { ITaxHistoryTD = History.FindElements(By.TagName("td")); if (ITaxHistoryTD.Count != 0) { TaxHistoryYear = ITaxHistoryTD[0].Text; TaxLiability = ITaxHistoryTD[1].Text; PropertyBalance = ITaxHistoryTD[2].Text; OwnerTaxLiability = ITaxHistoryTD[3].Text; StateTaxLiabilty = ITaxHistoryTD[4].Text; TotalActualValue = ITaxHistoryTD[5].Text; TotalAssessedValue = ITaxHistoryTD[6].Text; string TaxHistoryDetails = TaxHistoryYear + "~" + TaxLiability + "~" + PropertyBalance + "~" + OwnerTaxLiability + "~" + StateTaxLiabilty + "~" + TotalActualValue + "~" + TotalAssessedValue; gc.insert_date(orderNumber, TaxParcelNo, 644, TaxHistoryDetails, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CO", "Larimer", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CO", "Larimer"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_BoulderCO(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 = ""; string Parcel_number = "", Tax_Authority = "", As_of = "", Total_Due = "", MillLevy = "", Class = "", Built = ""; //request.UseDefaultCredentials = true; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new PhantomJSDriver() using (driver = new PhantomJSDriver()) { try { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://www.bouldercounty.org/departments/assessor/"); //driver.SwitchTo().Window(driver.WindowHandles.Last()); IWebElement Taxauthority1 = driver.FindElement(By.XPath("//*[@id='ctl00_PlaceHolderMain_ContactBottom__ControlWrapper_RichHtmlField']")); Tax_Authority = GlobalClass.After(Taxauthority1.Text, "Mailing Address"); // driver.Close(); Thread.Sleep(2000); } catch { } driver.Navigate().GoToUrl("http://maps.boco.solutions/propertysearch/"); Thread.Sleep(2000); // IWebElement switchwebsite = driver.FindElement(By.XPath("//*[@id='platsDiv']/div[4]/div[8]/iframe")); //driver.SwitchTo().Frame(switchwebsite); if (searchType == "titleflex") { string address = streetno + " " + direction + " " + streetname + " " + streettype; gc.TitleFlexSearch(orderNumber, "", ownernm, address.Trim(), "CO", "Boulder"); 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_BoulderCO"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { string address = ""; if (direction != "") { address = streetno + " " + direction + " " + streetname + " " + streettype.Trim(); } else { address = streetno + " " + streetname + " " + streettype.Trim(); } driver.FindElement(By.Id("searchField")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address Start", driver, "CO", "Boulder"); Thread.Sleep(4000); try { driver.FindElement(By.XPath("//*[@id='choices']/div/b/span")).Click(); Thread.Sleep(7000); } catch { } try { driver.FindElement(By.XPath("/html/body/div[5]/div[1]/div/a")).Click(); } catch { } try { //int StateYeardropdown = driver.FindElement(By.Id("choices")).FindElements(By.ClassName("ng-scope")).Count; IWebElement addressmulti = driver.FindElement(By.XPath("//*[@id='search-grid']/div[2]/table/tbody")); IList <IWebElement> Addressrow = addressmulti.FindElements(By.TagName("tr")); IList <IWebElement> Addressid; foreach (IWebElement Addressmultiple in Addressrow) { if (Addressrow.Count != 0) { Addressid = Addressmultiple.FindElements(By.TagName("td")); if (Addressid.Count != 0) { string Accountnumber = Addressid[2].Text; string Addressresult = Addressid[3].Text + "~" + Addressid[4].Text; gc.insert_date(orderNumber, Accountnumber, 835, Addressresult, 1, DateTime.Now); } } } if (Addressrow.Count < 26 && Addressrow.Count != 0) { HttpContext.Current.Session["multiparcel_Boulder"] = "Yes"; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "CO", "Boulder"); driver.Quit(); return("MultiParcel"); } if (Addressrow.Count > 25 && Addressrow.Count != 0) { HttpContext.Current.Session["multiParcel_Boulder_Multicount"] = "Maximum"; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "CO", "Boulder"); driver.Quit(); return("Maximum"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("searchField")).SendKeys(parcelNumber); Thread.Sleep(8000); gc.CreatePdf_WOP(orderNumber, "parcel", driver, "CO", "Boulder"); try { driver.FindElement(By.XPath("//*[@id='choices']/div/b/span")).Click(); Thread.Sleep(7000); } catch { } try { driver.FindElement(By.XPath("/html/body/div[5]/div[1]/div/a")).Click(); } catch { } try { driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/a/span")).Click(); } catch { } } if (searchType == "unitnumber") { driver.FindElement(By.Id("searchField")).SendKeys(unitnumber); Thread.Sleep(9000); gc.CreatePdf_WOP(orderNumber, "parcel", driver, "CO", "Boulder"); driver.FindElement(By.Id("searchField")).SendKeys(Keys.Space); //driver.FindElement(By.XPath("//*[@id='choices']/div/b/span")).Click(); Thread.Sleep(7000); try { driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div")).Click(); } catch { } } try { IWebElement Inodata = driver.FindElement(By.Id("autocomplete")); if (Inodata.Text.Contains("Invalid entry")) { HttpContext.Current.Session["Nodata_BoulderCO"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } driver.FindElement(By.XPath("//*[@id='propertyInfo']/span")).Click(); Thread.Sleep(7000); gc.CreatePdf_WOP(orderNumber, "Property Search", driver, "CO", "Boulder"); IWebElement propertytable = driver.FindElement(By.XPath("//*[@id='propertyInfo']/div/property/div[1]/div[3]")); string PropertyAddress = gc.Between(propertytable.Text, "Property Address:", "Location:").Trim(); string City = gc.Between(propertytable.Text, "City:", "Zip:").Trim(); string Owner = gc.Between(propertytable.Text, "Owner:", "Mailing Address:").Trim(); Parcel_number = gc.Between(propertytable.Text, "Parcel Number:", "Property Address:").Trim(); string AccountNumber = gc.Between(propertytable.Text, "Account Number:", "Owner:").Trim(); string MailingAddress = gc.Between(propertytable.Text, "Mailing Address:", "City:").Trim(); string Zip = gc.Between(propertytable.Text, "Zip:", "Sec-Town-Range:").Trim(); string SecTown_Range = gc.Between(propertytable.Text, "Sec-Town-Range:", "Subdivision:").Trim(); string Subdivision = gc.Between(propertytable.Text, "Subdivision:", "Market Area:").Trim(); string Jurisdiction = gc.Between(propertytable.Text, "Jurisdiction:", "Legal Description:").Trim(); string LegalDescription = gc.Between(propertytable.Text, "Legal Description:", "Est. Parcel Area:").Trim(); string Acres = GlobalClass.After(propertytable.Text, "Acres:").Trim(); driver.FindElement(By.XPath("//*[@id='dataDisplay']/ul/li[2]/span")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Property Search2", driver, "CO", "Boulder"); IWebElement Propertytable2 = driver.FindElement(By.Id("assessmentDiv")); string TaxArea = gc.Between(Propertytable2.Text, "Tax Area:", "No. of Improvements:"); string SiteAddress = gc.Between(Propertytable2.Text, "Site Address:", "Neighborhood:").Trim(); string Neighborhood = gc.Between(Propertytable2.Text, "Neighborhood:", "Total Account Value").Trim(); MillLevy = gc.Between(Propertytable2.Text, "MillLevy:", "See breakdown").Trim(); try { Class = gc.Between(Propertytable2.Text, "Class:", "Built:").Trim(); } catch { } try { Built = gc.Between(Propertytable2.Text, "Built:", "Design:").Trim(); } catch { } string Propertyresult = PropertyAddress + "~" + City + "~" + Owner + "~" + AccountNumber + "~" + MailingAddress + "~" + Zip + "~" + SecTown_Range + "~" + Subdivision + "~" + Jurisdiction + "~" + LegalDescription + "~" + Acres + "~" + TaxArea + "~" + SiteAddress + "~" + Neighborhood + "~" + MillLevy + "~" + Class + "~" + Built; gc.insert_date(orderNumber, Parcel_number, 775, Propertyresult, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_number, "Property Search Result", driver, "CO", "Boulder"); //assessment AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); IWebElement Assessmentable = driver.FindElement(By.XPath("//*[@id='assessmentDiv']/table[1]/tbody")); IList <IWebElement> Assessmentrow = Assessmentable.FindElements(By.TagName("tr")); IList <IWebElement> Assessmentid; foreach (IWebElement Assessment in Assessmentrow) { Assessmentid = Assessment.FindElements(By.TagName("td")); if (Assessmentid.Count != 0 && !Assessment.Text.Contains("MillLevy:")) { string Assessmentresult = Assessmentid[0].Text + "~" + Assessmentid[1].Text + "~" + Assessmentid[2].Text; gc.insert_date(orderNumber, Parcel_number, 776, Assessmentresult, 1, DateTime.Now); } } string current1 = driver.CurrentWindowHandle; driver.FindElement(By.XPath("//*[@id='dataDisplay']/div[1]/button")).Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, Parcel_number, "Property giued", driver, "CO", "Boulder"); driver.Close(); driver.SwitchTo().Window(current1); string check = "", AreaID = "", Title1 = "", ValueAmount = "", paymenttype = "", ValueTitle = "", Title2 = "", Taxes = "", TActual = "", TAssessed = ""; try { driver.FindElement(By.LinkText("Property Taxes")).Click(); Thread.Sleep(7000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, Parcel_number, "Tax Click before", driver, "CO", "Boulder"); driver.FindElement(By.XPath("//*[@id='middle_left']/form/input[1]")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Tax Click After", driver, "CO", "Boulder"); } catch { } //try //{ // driver.Navigate().GoToUrl("https://treasurer.bouldercounty.org/treasurer/treasurerweb/account.jsp?account=" + Parcel_number + ""); //} //catch { } try { IWebElement currenttaxtable = driver.FindElement(By.Id("taxAccountSummary")); IWebElement IValue = driver.FindElement(By.XPath("//*[@id='taxAccountValueSummary']/div/table/tbody")); IList <IWebElement> IValueRow = IValue.FindElements(By.TagName("tr")); IList <IWebElement> IValueTD; foreach (IWebElement value in IValueRow) { IValueTD = value.FindElements(By.TagName("td")); if (IValueTD.Count != 0 && value.Text != "") { if (IValueTD[1].Text.Trim() == "" && IValueTD[0].Text.Trim() != "" && IValueTD[2].Text.Trim() != "" && !IValueTD[0].Text.Contains("Area Id")) { if (check != "" && check == "Area ID") { check = ""; ValueAmount += IValueTD[0].Text + "~" + IValueTD[2].Text + "~"; } else { ValueTitle += IValueTD[0].Text + "~"; ValueAmount += IValueTD[2].Text + "~"; } } if (IValueTD[1].Text.Trim() == "" && IValueTD[0].Text.Trim() != "" && IValueTD[2].Text.Trim() != "" && IValueTD[0].Text.Contains("Area Id")) { ValueTitle += IValueTD[0].Text + "~" + IValueTD[2].Text + "~"; check = "Area ID"; } if (IValueTD[0].Text.Trim() == "" && IValueTD[1].Text.Trim() != "" && IValueTD[2].Text.Trim() != "") { Title1 = IValueTD[1].Text; Title2 = IValueTD[2].Text; } if (IValueTD[0].Text.Trim() != "" && IValueTD[1].Text.Trim() != "" && IValueTD[2].Text.Trim() != "") { ValueTitle += IValueTD[0].Text + "(" + Title1 + ")" + "~" + IValueTD[0].Text + "(" + Title2 + ")" + "~"; ValueAmount += IValueTD[1].Text + "~" + IValueTD[2].Text + "~"; } } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + ValueTitle.Remove(ValueTitle.Length - 1, 1) + "' where Id = '" + 778 + "'"); gc.insert_date(orderNumber, Parcel_number, 778, ValueAmount.Remove(ValueAmount.Length - 1, 1), 1, DateTime.Now); } catch { } try { for (int i = 1; i < 3; i++) { IWebElement Inquirytable = driver.FindElement(By.Id("totals")); IWebElement As_off = driver.FindElement(By.Id("paymentDate")); As_of = As_off.GetAttribute("value"); if (i == 1) { paymenttype = driver.FindElement(By.XPath("//*[@id='inquiryForm']/table/tbody/tr[2]/td[2]/label[1]")).Text; driver.FindElement(By.Id("paymentTypeFirst")).Click(); } else { paymenttype = driver.FindElement(By.XPath("//*[@id='inquiryForm']/table/tbody/tr[2]/td[2]/label[2]")).Text; if (paymenttype == "Full") { driver.FindElement(By.Id("paymentTypeFull")).Click(); } if (paymenttype == "Second") { driver.FindElement(By.Id("paymentTypeSecond")).Click(); } } Total_Due = GlobalClass.After(Inquirytable.Text, "Total Due").Trim(); string cuttenttaxresult1 = As_of + "~" + paymenttype + "~" + Total_Due + "~" + Tax_Authority; gc.insert_date(orderNumber, Parcel_number, 782, cuttenttaxresult1, 1, DateTime.Now); } } catch { } try { driver.FindElement(By.LinkText("Mill Levy Breakdown")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_number, "Tax Billed", driver, "CO", "Boulder"); string TaxBillingrate = driver.FindElement(By.XPath("//*[@id='middle']/h2")).Text; TaxTime = DateTime.Now.ToString("HH:mm:ss"); IWebElement Taxaccounttable = driver.FindElement(By.XPath("//*[@id='middle']/table[3]/tbody")); IList <IWebElement> Taxaccountrow = Taxaccounttable.FindElements(By.TagName("tr")); IList <IWebElement> Taxaccountid; foreach (IWebElement Taxaccount in Taxaccountrow) { Taxaccountid = Taxaccount.FindElements(By.TagName("td")); if (Taxaccountid.Count != 0 && !Taxaccount.Text.Contains("* Credit Levy")) { string Taxaccountresult = Taxaccountid[0].Text + "~" + Taxaccountid[1].Text + "~" + Taxaccountid[2].Text + "~" + Taxaccountid[3].Text + "~" + TaxBillingrate; gc.insert_date(orderNumber, Parcel_number, 783, Taxaccountresult, 1, DateTime.Now); } } IWebElement propertycodetable = driver.FindElement(By.XPath("//*[@id='middle']/table[4]/tbody")); IList <IWebElement> propertycoderow = propertycodetable.FindElements(By.TagName("tr")); IList <IWebElement> propertycodeid; foreach (IWebElement propertycode in propertycoderow) { propertycodeid = propertycode.FindElements(By.TagName("td")); if (propertycodeid.Count != 0 && !propertycode.Text.Contains("Property Code")) { string propertycoderesult = propertycodeid[0].Text + "~" + propertycodeid[1].Text + "~" + propertycodeid[2].Text + "~" + propertycodeid[3].Text; gc.insert_date(orderNumber, Parcel_number, 857, propertycoderesult, 1, DateTime.Now); } } } catch { } driver.FindElement(By.LinkText("Transaction Detail")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Tax Account Summary", driver, "CO", "Boulder"); IWebElement TaxSummaryTable = driver.FindElement(By.XPath("//*[@id='middle']/table[1]/tbody")); IList <IWebElement> Taxsummaryrow = TaxSummaryTable.FindElements(By.TagName("tr")); IList <IWebElement> TaxSummaryid; foreach (IWebElement Taxsummary in Taxsummaryrow) { TaxSummaryid = Taxsummary.FindElements(By.TagName("td")); if (TaxSummaryid.Count != 0) { string TaxSummarydetail = TaxSummaryid[0].Text + "~" + TaxSummaryid[1].Text + "~" + TaxSummaryid[2].Text + "~" + TaxSummaryid[3].Text + "~" + TaxSummaryid[4].Text + "~" + TaxSummaryid[5].Text + "~" + TaxSummaryid[6].Text + "~" + TaxSummaryid[7].Text; gc.insert_date(orderNumber, Parcel_number, 786, TaxSummarydetail, 1, DateTime.Now); } } IWebElement TransactionDetailstable = driver.FindElement(By.XPath("//*[@id='middle']/table[2]/tbody")); IList <IWebElement> Transactiondetailrow = TransactionDetailstable.FindElements(By.TagName("tr")); IList <IWebElement> Transactiondetailid; foreach (IWebElement Transaction in Transactiondetailrow) { Transactiondetailid = Transaction.FindElements(By.TagName("td")); if (Transactiondetailid.Count != 1) { string Transactionresult = Transactiondetailid[0].Text + "~" + Transactiondetailid[1].Text + "~" + Transactiondetailid[2].Text + "~" + Transactiondetailid[3].Text + "~" + Transactiondetailid[4].Text; gc.insert_date(orderNumber, Parcel_number, 787, Transactionresult, 1, DateTime.Now); } } try { //Account Balance pdf string geturl = driver.Url; try { var chromeOptions = new ChromeOptions(); var chDriver = new ChromeDriver(chromeOptions); IJavaScriptExecutor js = (IJavaScriptExecutor)chDriver; chDriver.Navigate().GoToUrl(geturl); chDriver.FindElement(By.XPath("//*[@id='middle_left']/form/input[1]")).Click(); chDriver.FindElement(By.LinkText("Account Balance")).Click(); Thread.Sleep(2000); chDriver.FindElement(By.LinkText("Account Balance")).Click(); Thread.Sleep(8000); gc.CreatePdf(orderNumber, Parcel_number, "Account Balance", chDriver, "CO", "Boulder"); //Statement Of Taxes Due chDriver.Navigate().GoToUrl(geturl); Thread.Sleep(2000); chDriver.FindElement(By.LinkText("Statement Of Taxes Due")).Click(); Thread.Sleep(2000); chDriver.FindElement(By.LinkText("Statement of Taxes Due")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Statement of Taxes Due", chDriver, "CO", "Boulder"); //Summary of Taxes Due chDriver.Navigate().GoToUrl(geturl); Thread.Sleep(2000); chDriver.FindElement(By.LinkText("Summary of Taxes Due")).Click(); Thread.Sleep(2000); chDriver.FindElement(By.LinkText("Summary of Taxes Due")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Summary of Taxes Due", chDriver, "CO", "Boulder"); chDriver.Quit(); } catch { } } catch { } string tableassess = ""; 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); string fileName = ""; driver1.FindElement(By.XPath("//*[@id='middle_left']/form/input[1]")).Click(); for (int j = 1; j < 4; j++) { IWebElement Receipttable = driver1.FindElement(By.XPath("//*[@id='receiptHistory']/a[" + j + "]")); string BillTax2 = Receipttable.GetAttribute("href"); fileName = gc.Between(BillTax2, "taxreceipt/", "?id=").Replace("-", "_"); Receipttable.Click(); Thread.Sleep(3000); gc.AutoDownloadFile(orderNumber, parcelNumber, "Boulder", "CO", fileName); string FilePath = gc.filePath(orderNumber, parcelNumber) + fileName; PdfReader reader; string pdfData; reader = new PdfReader(FilePath); String textFromPage = PdfTextExtractor.GetTextFromPage(reader, 1); System.Diagnostics.Debug.WriteLine("" + textFromPage); string pdftext = textFromPage; try { tableassess = gc.Between(pdftext, "Receipt Number", "Situs Address").Trim(); string[] tableArray = tableassess.Split('\n'); for (int i = 0; i < 1; i++) { int count1 = tableArray.Length; string a1 = tableArray[i].Replace(" ", "~"); string[] rowarray = a1.Split('~'); int tdcount = rowarray.Length; if (tdcount < 7) { string datepdf = rowarray[0] + "~" + rowarray[2] + "" + rowarray[3] + " " + rowarray[4] + "~" + " " + "~" + rowarray[5]; gc.insert_date(orderNumber, Parcel_number, 889, datepdf, 1, DateTime.Now); } if (tdcount > 6) { string datepdf = rowarray[0] + "~" + rowarray[2] + "" + rowarray[3] + " " + rowarray[4] + "~" + rowarray[5] + " " + rowarray[6] + " " + rowarray[7] + "~" + rowarray[8]; gc.insert_date(orderNumber, Parcel_number, 889, datepdf, 1, DateTime.Now); } } } catch { } try { tableassess = gc.Between(pdftext, "Account:", "TransNo:").Trim(); string[] tableArray = tableassess.Split('\n'); for (int i = 0; i < 2; i++) { int count1 = tableArray.Length; string a1 = tableArray[i].Replace(" ", "~"); string[] rowarray = a1.Split('~'); int tdcount = rowarray.Length; if (tdcount < 7) { string datepdf = rowarray[0] + "~" + rowarray[2] + "" + rowarray[3] + " " + rowarray[4] + "~" + " " + "~" + rowarray[5]; gc.insert_date(orderNumber, Parcel_number, 889, datepdf, 1, DateTime.Now); } if (tdcount > 6) { string datepdf = rowarray[0] + "~" + rowarray[2] + "" + rowarray[3] + " " + rowarray[4] + "~" + rowarray[5] + " " + rowarray[6] + " " + rowarray[7] + "~" + rowarray[8]; gc.insert_date(orderNumber, Parcel_number, 889, datepdf, 1, DateTime.Now); } } } catch { } } driver1.Quit(); } catch (Exception ex) { driver.Quit(); } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CO", "Boulder", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CO", "Boulder"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_MSDesoto(string streetNo, string direction, string streetName, string streetType, string unitNumber, string parcelNumber, string ownerName, string searchType, string orderNumber) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; 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"); driver.Navigate().GoToUrl("http://cs.datasysmgt.com/tax?state=MS&county=17"); Thread.Sleep(2000); if (searchType == "titleflex") { string Address = ""; if (direction != "") { Address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + unitNumber; } else { Address = streetNo + " " + streetName + " " + streetType + " " + unitNumber; } gc.TitleFlexSearch(orderNumber, "", "", Address.Trim(), "MS", "DeSoto"); 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["DesotoMS_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("taxweb_grid-search-field-street-number-field")).SendKeys(streetNo); string Add1 = streetName + " " + streetType; driver.FindElement(By.Id("taxweb_grid-search-field-street-name-field")).SendKeys(Add1.Trim()); //gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MS", "DeSoto"); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MS", "DeSoto"); driver.FindElement(By.Id("ext-gen9")).SendKeys(Keys.Enter); Thread.Sleep(9000); gc.CreatePdf_WOP(orderNumber, "Address search1", driver, "MS", "DeSoto"); //gc.CreatePdf_WOP(orderNumber, "Address search1", driver, "MS", "DeSoto"); try { IWebElement INorecord = driver.FindElement(By.Id("ext-gen18")); if (INorecord.Text.Contains("no records")) { HttpContext.Current.Session["DesotoMS_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } // gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "MS", "DeSoto"); try { string multi = GlobalClass.After(driver.FindElement(By.Id("ext-comp-1008")).Text, "of").Trim(); string strAddress = "", strparcel = "", strOwner = ""; if (Convert.ToInt32(multi) <= 25) { IWebElement tbmulti = driver.FindElement(By.Id("ext-gen16")); IList <IWebElement> TBmulti = tbmulti.FindElements(By.TagName("table")); IList <IWebElement> TRmulti; IList <IWebElement> TDmulti; foreach (IWebElement row in TBmulti) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0 && TDmulti[0].Text.Trim() != "") { strAddress = TDmulti[3].Text; strparcel = TDmulti[1].Text; strOwner = TDmulti[0].Text; string multiDetails = strAddress + "~" + strOwner; gc.insert_date(orderNumber, strparcel, 1351, multiDetails, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multi Address search Result", driver, "MS", "DeSoto"); HttpContext.Current.Session["multiparcel_DesotoMS"] = "Yes"; driver.Quit(); gc.mergpdf(orderNumber, "MS", "DeSoto"); return("MultiParcel"); } if (Convert.ToInt32(multi) > 25) { HttpContext.Current.Session["multiparcel_DesotoMS_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } if (searchType == "parcel") { parcelNumber = parcelNumber.Replace(" ", "").Trim(); string Town = parcelNumber.Substring(0, 1); string Rin = parcelNumber.Substring(1, 2); string Area = parcelNumber.Substring(3, 1); string Sct = parcelNumber.Substring(4, 2); string Sub = parcelNumber.Substring(6, 2); string Qtr = parcelNumber.Substring(8, 1); string Lot = parcelNumber.Substring(9, 5); string Split = parcelNumber.Substring(14, 2); //gc.CreatePdf_WOP(orderNumber, "Parcel Before search Result1", driver, "MS", "DeSoto"); IWebElement element1 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field1")); element1.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field1")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field1")).SendKeys(Town); IWebElement element2 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field2")); element2.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field2")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field2")).SendKeys(Rin); IWebElement element3 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field3")); element3.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field3")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field3")).SendKeys(Area); IWebElement element4 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field4")); element4.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field4")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field4")).SendKeys(Sct); IWebElement element5 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field5")); element5.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field5")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field5")).SendKeys(Sub); IWebElement element6 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field6")); element6.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field6")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field6")).SendKeys(Qtr); IWebElement element7 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field7")); element7.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field7")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field7")).SendKeys(Lot); IWebElement element8 = driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field8")); element8.Clear(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field8")).Click(); driver.FindElement(By.Id("taxweb_grid-search-field-parcel-field8")).SendKeys(Split); gc.CreatePdf_WOP(orderNumber, "Parcel search After Result1", driver, "MS", "DeSoto"); //driver.FindElement(By.XPath("//*[@id='ext-gen9']")).SendKeys(Keys.Enter); // Thread.Sleep(9000); try { IWebElement IAddressSearch1 = driver.FindElement(By.XPath("//*[@id='ext-gen9']")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", IAddressSearch1); Thread.Sleep(9000); } catch { } try { IWebElement INorecord = driver.FindElement(By.Id("ext-gen18")); if (INorecord.Text.Contains("no records")) { HttpContext.Current.Session["DesotoMS_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("taxweb_grid-search-field-last-name-field")).SendKeys(ownerName); gc.CreatePdf_WOP(orderNumber, "Owner search1", driver, "MS", "DeSoto"); driver.FindElement(By.Id("ext-gen9")).SendKeys(Keys.Enter); Thread.Sleep(9000); gc.CreatePdf_WOP(orderNumber, "Owner search Result1", driver, "MS", "DeSoto"); try { IWebElement INorecord = driver.FindElement(By.Id("ext-gen18")); if (INorecord.Text.Contains("no records")) { HttpContext.Current.Session["DesotoMS_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } try { string multi = GlobalClass.After(driver.FindElement(By.Id("ext-comp-1008")).Text, "of").Trim(); string strAddress = "", strparcel = "", strOwner = ""; if (Convert.ToInt32(multi) <= 25) { IWebElement tbmulti = driver.FindElement(By.Id("ext-gen16")); IList <IWebElement> TBmulti = tbmulti.FindElements(By.TagName("table")); IList <IWebElement> TRmulti; IList <IWebElement> TDmulti; foreach (IWebElement row in TBmulti) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0 && TDmulti[0].Text.Trim() != "") { strAddress = TDmulti[3].Text; strparcel = TDmulti[1].Text; strOwner = TDmulti[0].Text; string multiDetails = strAddress + "~" + strOwner; gc.insert_date(orderNumber, strparcel, 1351, multiDetails, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multi Owner search Result", driver, "MS", "DeSoto"); HttpContext.Current.Session["multiparcel_DesotoMS"] = "Yes"; driver.Quit(); gc.mergpdf(orderNumber, "MS", "DeSoto"); return("MultiParcel"); } if (Convert.ToInt32(multi) > 25) { HttpContext.Current.Session["multiparcel_DesotoMS_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } try { driver.FindElement(By.XPath("//*[@id='ext-gen18']/div/table/tbody/tr/td[1]/div/a")).Click(); Thread.Sleep(2000); } catch { } string strownerName = "", strPropertyAddress = "", County = "", TaxYear = "", Receipt = "", LegalDescription = "", YearBuilt = ""; IWebElement IProperty = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[1]/tbody")); TaxYear = gc.Between(IProperty.Text, "Tax Year:", "County Name:").Trim(); County = gc.Between(IProperty.Text, "County Name:", "\r\nName:").Trim(); strPropertyAddress = gc.Between(IProperty.Text, "Address:", "City:").Trim(); IWebElement IParcel = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[2]")); parcelNumber = gc.Between(IParcel.Text, "Twn", "Receipt #:").Replace("Rng", "").Replace("Area", "").Replace("Sct", "").Replace("Sub", "").Replace("Qtr", "").Replace("Lot#", "").Replace("Split", "").Trim(); Receipt = gc.Between(IParcel.Text, "Receipt #:", "Land Owner Name:").Trim(); strownerName = GlobalClass.After(IParcel.Text, "Land Owner Name:\r\n").Trim(); LegalDescription = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[3]/tbody/tr/td/p[1]")).Text; try { YearBuilt = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[11]/tbody/tr[2]/td[4]")).Text; } catch { } try { YearBuilt = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[13]/tbody/tr[2]/td[4]")).Text; } catch { } string PropertyDetails = strPropertyAddress + "~" + strownerName + "~" + County + "~" + TaxYear + "~" + Receipt + "~" + LegalDescription + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 1355, PropertyDetails, 1, DateTime.Now); string TaxDistrict = "", Assessment = "", Millage = "", GrossTax = "", HomeStead = ""; IWebElement IAssessment = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[4]/tbody/tr/td/table")); IList <IWebElement> IAssessmentRow = IAssessment.FindElements(By.TagName("tr")); IList <IWebElement> IAssessmentTD; foreach (IWebElement Assess in IAssessmentRow) { IAssessmentTD = Assess.FindElements(By.TagName("td")); if (IAssessmentTD.Count != 0 && !Assess.Text.Contains("District:") && (Assess.Text.Contains("True:") || Assess.Text.Contains("Assessed:"))) { TaxDistrict += IAssessmentTD[0].Text + " "; Assessment += IAssessmentTD[2].Text + "~" + IAssessmentTD[3].Text + "~" + IAssessmentTD[4].Text + "~"; if (Assess.Text.Contains("Assessed:")) { Millage = IAssessmentTD[5].Text; GrossTax = IAssessmentTD[6].Text; } } if (IAssessmentTD.Count != 0 && !Assess.Text.Contains("District:") && Assess.Text.Contains("Homestead Credit Amount:")) { HomeStead = IAssessmentTD[5].Text; } } string AssessmentDetails = TaxDistrict.Trim() + "~" + Assessment.Trim() + Millage.Trim() + "~" + GrossTax.Trim() + "~" + HomeStead.Trim(); gc.insert_date(orderNumber, parcelNumber, 1356, AssessmentDetails, 1, DateTime.Now); //Tax Information Details string Entity = "", Mills = "", TaxAmount = ""; IWebElement ITaxEntity = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[5]/tbody/tr[1]/td[1]/table")); IList <IWebElement> ITaxEntityRow = ITaxEntity.FindElements(By.TagName("tr")); IList <IWebElement> ITaxEntityTD; foreach (IWebElement TaxEntity in ITaxEntityRow) { ITaxEntityTD = TaxEntity.FindElements(By.TagName("td")); if (ITaxEntityTD.Count != 0 && !TaxEntity.Text.Contains("Tax Entities:") && TaxEntity.Text.Trim() != "") { Entity = ITaxEntityTD[0].Text.Replace(":", ""); Mills = ITaxEntityTD[1].Text; TaxAmount = ITaxEntityTD[3].Text; string entityDetails = Entity + "~" + Mills + "~" + TaxAmount; gc.insert_date(orderNumber, parcelNumber, 1357, entityDetails, 1, DateTime.Now); } } string SpecialTaxes = "", SpecialAmount = ""; IWebElement ISpecialAssessment = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[5]/tbody/tr[1]/td[2]/table")); IList <IWebElement> ISpecialAssessmentRow = ISpecialAssessment.FindElements(By.TagName("tr")); IList <IWebElement> ISpecialAssessmentTD; foreach (IWebElement SpecialAssessment in ISpecialAssessmentRow) { ISpecialAssessmentTD = SpecialAssessment.FindElements(By.TagName("td")); if (ISpecialAssessmentTD.Count != 0 && SpecialAssessment.Text.Trim() != "" && !SpecialAssessment.Text.Contains("Tax Amount")) { SpecialTaxes = ISpecialAssessmentTD[0].Text.Replace(":", ""); SpecialAmount = ISpecialAssessmentTD[1].Text; string specialDetails = SpecialTaxes + "~" + SpecialAmount; gc.insert_date(orderNumber, parcelNumber, 1358, specialDetails, 1, DateTime.Now); } } string TaxInterestHead = "", TaxInterestValue = ""; IWebElement ITaxInterest = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[5]/tbody/tr[2]/td/table")); IList <IWebElement> ITaxInterestRow = ITaxInterest.FindElements(By.TagName("tr")); IList <IWebElement> ITaxInterestTD; foreach (IWebElement Interest in ITaxInterestRow) { ITaxInterestTD = Interest.FindElements(By.TagName("td")); if (ITaxInterestTD.Count != 0) { TaxInterestHead += ITaxInterestTD[0].Text.Replace(":", "") + "~"; TaxInterestValue += ITaxInterestTD[1].Text + "~"; } } IWebElement ITaxDue = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[5]/tbody/tr[3]/td/table")); IList <IWebElement> ITaxDueRow = ITaxDue.FindElements(By.TagName("tr")); IList <IWebElement> ITaxDueTD; foreach (IWebElement due in ITaxDueRow) { ITaxDueTD = due.FindElements(By.TagName("td")); if (ITaxDueTD.Count != 0 && !due.Text.Contains("------------") && due.Text != "") { TaxInterestHead += ITaxDueTD[1].Text.Replace(":", "") + "~"; TaxInterestValue += ITaxDueTD[2].Text + "~"; } } IWebElement ITotalAmount = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[6]")); string TotalAmount = GlobalClass.After(ITotalAmount.Text, "Total Amount:").Replace("CITY TAXES INCLUDED", "").Trim(); string delinquentdate = ""; try { IWebElement Idelinquentdate = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[9]/tbody/tr/td[1]")); delinquentdate = GlobalClass.After(Idelinquentdate.Text, "delinquent on").Trim(); } catch { } try { IWebElement Idelinquentdate = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[11]/tbody/tr/td[1]/p")); delinquentdate = GlobalClass.After(Idelinquentdate.Text, "delinquent on").Trim(); } catch { } string taxesdue = ""; try { IWebElement taxddue = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[8]/tbody/tr/td[1]")); if (taxddue.Text.Contains("TAXES DUE:")) { taxesdue = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[8]/tbody/tr/td[2]")).Text; } } catch { } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + TaxInterestHead + "Total Amount~Delinquent Date~Taxes Due" + "' where Id = '" + 1359 + "'"); gc.insert_date(orderNumber, parcelNumber, 1359, TaxInterestValue + TotalAmount + "~" + delinquentdate + "~" + taxesdue, 1, DateTime.Now); //Tax Payments Details try { string Paymentdate = "", Taxes = "", Special = "", Interestpay = "", Fees = "", Total = "", Paidby = ""; IWebElement ITotalDue = driver.FindElement(By.XPath("//*[@id='ext-gen58']/table[8]")); string TotalDue = ITotalDue.Text.Replace("TAXES DUE:", "").Trim(); string[] totalduesplit = TotalDue.Split('\r'); Paymentdate = totalduesplit[0]; Taxes = totalduesplit[1]; Special = totalduesplit[2]; Interestpay = totalduesplit[3]; Fees = totalduesplit[4]; Total = totalduesplit[5]; Paidby = totalduesplit[6]; string TaxpaymentDetails = Paymentdate + "~" + Taxes + "~" + Special + "~" + Interestpay + "~" + Fees + "~" + Total + "~" + Paidby; gc.insert_date(orderNumber, parcelNumber, 1587, TaxpaymentDetails, 1, DateTime.Now); } catch { } try { var chDriver = new ChromeDriver(); chDriver.Navigate().GoToUrl(driver.Url); Thread.Sleep(4000); //gc.CreatePdf(orderNumber, parcelNumber, "Half pdf1", chDriver, "MS", "DeSoto"); //Parcel id work parcelNumber = parcelNumber.Replace(" ", "").Trim(); string Town = parcelNumber.Substring(0, 1); string Rin = parcelNumber.Substring(1, 2); string Area = parcelNumber.Substring(3, 1); string Sct = parcelNumber.Substring(4, 2); string Sub = parcelNumber.Substring(6, 2); string Qtr = parcelNumber.Substring(8, 1); string Lot = parcelNumber.Substring(9, 5); string Split = parcelNumber.Substring(14, 2); IWebElement element1 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field1")); element1.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field1")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field1")).SendKeys(Town); IWebElement element2 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field2")); element2.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field2")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field2")).SendKeys(Rin); IWebElement element3 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field3")); element3.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field3")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field3")).SendKeys(Area); IWebElement element4 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field4")); element4.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field4")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field4")).SendKeys(Sct); IWebElement element5 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field5")); element5.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field5")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field5")).SendKeys(Sub); IWebElement element6 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field6")); element6.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field6")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field6")).SendKeys(Qtr); IWebElement element7 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field7")); element7.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field7")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field7")).SendKeys(Lot); IWebElement element8 = chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field8")); element8.Clear(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field8")).Click(); chDriver.FindElement(By.Id("taxweb_grid-search-field-parcel-field8")).SendKeys(Split); gc.CreatePdf(orderNumber, parcelNumber, "Half data view pdf1", chDriver, "MS", "DeSoto"); chDriver.FindElement(By.XPath("//*[@id='ext-gen9']")).SendKeys(Keys.Enter); Thread.Sleep(9000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Details Half data view pdf1", chDriver, "MS", "DeSoto"); ByVisibleElement(chDriver.FindElement(By.XPath("//*[@id='ext-gen58']/table[5]/tbody/tr[1]/td[2]/table/tbody/tr[1]/td[2]/p/u/b")), chDriver); gc.CreatePdf(orderNumber, parcelNumber, "Tax Details search Result1", chDriver, "MS", "DeSoto"); try { ByVisibleElement(chDriver.FindElement(By.XPath("//*[@id='ext-gen58']/table[13]/tbody/tr[1]/td[4]/b")), chDriver); gc.CreatePdf(orderNumber, parcelNumber, "Tax Details search Result2", chDriver, "MS", "DeSoto"); } catch { } chDriver.Quit(); } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MS", "DeSoto", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MS", "DeSoto"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_WaltonGA(string address, string parcelNumber, string searchType, string ownername, 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()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=WaltonCountyGA&Layer=Parcels&PageType=Search"); Thread.Sleep(4000); try { driver.FindElement(By.LinkText("Agree")).Click(); Thread.Sleep(1000); } catch { } if (searchType == "titleflex") { string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "GA", "Walton"); 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_WaltonGA"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "GA", "Walton"); driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "GA", "Walton"); try { int Max = 0; string strowner = "", strAddress = "", strCity = ""; IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count < 3) { IWebElement IsearchClick = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")); IsearchClick.Click(); Thread.Sleep(2000); Max++; break; } if (multiTD.Count != 0 && multiRow.Count > 25) { HttpContext.Current.Session["multiparcel_WaltonGA_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } if (multiTD.Count != 0 && multiRow.Count > 2 && multiRow.Count <= 25) { strowner = multiTD[1].Text; strAddress = multiTD[2].Text; string multidetails = strowner + "~" + strAddress; gc.insert_date(orderNumber, multiTD[0].Text, 1431, multidetails, 1, DateTime.Now); Max++; } } if (Max > 1 && Max < 26) { HttpContext.Current.Session["multiparcel_WaltonGA"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 0) { HttpContext.Current.Session["Nodata_WaltonGA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //else if (searchType == "ownername") //{ // try // { // driver.FindElement(By.Id("ContentPlaceHolder1_btnDisclaimerAccept")).Click(); // Thread.Sleep(1000); // } // catch { } // try // { // driver.FindElement(By.LinkText("Owner")).Click(); // Thread.Sleep(1000); // } // catch { } // string Lastname = "", Firstname = ""; // try // { // var ownersplit = ownername.Trim().Split(' '); // Lastname = ownersplit[0]; // Firstname = ownersplit[1]; // driver.FindElement(By.Id("ContentPlaceHolder1_Owner_tbOwnerLastName")).SendKeys(Lastname); // driver.FindElement(By.Id("ContentPlaceHolder1_Owner_tbOwnerFirstName")).SendKeys(Firstname); // ownername = Lastname + " " + Firstname; // } // catch { } // gc.CreatePdf_WOP(orderNumber, "OwnerName Search", driver, "GA", "Walton"); // driver.FindElement(By.Id("ContentPlaceHolder1_Owner_btnSearchOwner")).SendKeys(Keys.Enter); // Thread.Sleep(3000); // gc.CreatePdf_WOP(orderNumber, "OwnerName Search Results", driver, "GA", "Walton"); // try // { // int Max = 0; // string strowner = "", strAddress = "", strCity = ""; // IWebElement multiaddress = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); // IList<IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); // IList<IWebElement> multiTD; // foreach (IWebElement multi in multiRow) // { // multiTD = multi.FindElements(By.TagName("td")); // if (multiTD.Count != 0 && multiRow.Count < 2) // { // IWebElement IsearchClick = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")); // IsearchClick.Click(); // Thread.Sleep(2000); // break; // } // if (multiTD.Count != 0 && multiRow.Count > 25) // { // HttpContext.Current.Session["multiparcel_WayneOH_Maximum"] = "Maximum"; // driver.Quit(); // return "Maximum"; // } // if (multiTD.Count != 0 && multiRow.Count > 2 && multiRow.Count <= 25) // { // strowner = multiTD[1].Text; // strAddress = multiTD[2].Text; // string multidetails = strowner + "~" + strAddress; // gc.insert_date(orderNumber, multiTD[0].Text, 1431, multidetails, 1, DateTime.Now); // Max++; // } // } // if (Max > 1 && Max < 26) // { // HttpContext.Current.Session["multiparcel_WayneOH"] = "Yes"; // driver.Quit(); // return "MultiParcel"; // } // if (Max == 0) // { // HttpContext.Current.Session["Zero_Wayne"] = "Zero"; // driver.Quit(); // return "Zero"; // } // } // catch { } //} else if (searchType == "parcel") { driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "parcel search", driver, "GA", "Walton"); driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); // gc.CreatePdf(orderNumber, parcelNumber, "parcel search Result", driver, "GA", "Walton"); // driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); // Thread.Sleep(3000); } try { IWebElement Inodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")); if (Inodata.Text.Contains("No results match")) { HttpContext.Current.Session["Nodata_WaltonGA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "GA", "Walton"); int i = 0, j = 0; string Loc_Addrs = "", Leg_Desp = "", Class = "", Tax_Dist = "", Milagerate = "", Acres = "", Neighberwood = ""; string Homstd_Exmp = "", Zoning = "", Owner1 = "", Owner2 = "", Mailing_Address = "", Overall_OwnMailAdd = ""; string Mailing_Address1 = "", Mailing_Address2 = "", yblt = "", Year_Built = "", Year1 = "", Year2 = ""; IWebElement tbmulti11 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_dvNonPrebillMH']/table/tbody")); IList <IWebElement> TRmulti11 = tbmulti11.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti11; foreach (IWebElement row in TRmulti11) { TDmulti11 = row.FindElements(By.TagName("td")); if (TDmulti11.Count != 0) { if (i == 0) { parcelNumber = TDmulti11[1].Text; } if (i == 1) { Loc_Addrs = TDmulti11[1].Text; } if (i == 3) { Leg_Desp = TDmulti11[1].Text; } if (i == 5) { Class = TDmulti11[1].Text; } if (i == 8) { Tax_Dist = TDmulti11[1].Text; } if (i == 9) { Milagerate = TDmulti11[1].Text; } if (i == 10) { Acres = TDmulti11[1].Text; } if (i == 11) { Neighberwood = TDmulti11[1].Text; } if (i == 12) { Homstd_Exmp = TDmulti11[1].Text; } i++; } } try { Zoning = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblZoning")).Text; Owner1 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lnkOwnerName_lblSearch")).Text; Owner2 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress")).Text; Mailing_Address = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lblCityStateZip']")).Text; Overall_OwnMailAdd = Owner1 + " " + Owner2 + " " + Mailing_Address; } catch { } try { Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName_lblSearch']")).Text; Mailing_Address1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lblAddress']")).Text; Mailing_Address2 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lblCityStateZip']")).Text; Overall_OwnMailAdd = Owner1 + " " + Mailing_Address1 + " " + Mailing_Address2; } catch { } try { IWebElement Yeartb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl04_mSection']/div/table/tbody")); IList <IWebElement> YearTR = Yeartb.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Tax4 in YearTR) { YearTD = Tax4.FindElements(By.TagName("td")); if (YearTD.Count != 0) { yblt = YearTD[0].Text; if (yblt.Contains("Year Built")) { Year_Built = YearTD[1].Text; } } } } catch { } string property = Loc_Addrs + "~" + Leg_Desp + "~" + Class + "~" + Zoning + "~" + Tax_Dist + "~" + Milagerate + "~" + Acres + "~" + Neighberwood + "~" + Homstd_Exmp + "~" + Overall_OwnMailAdd + "~" + Year_Built; gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "GA", "Walton"); gc.insert_date(orderNumber, parcelNumber, 1452, property, 1, DateTime.Now); //Assessment Details IWebElement AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl12_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[2].Text; Year2 = AssmTh[3].Text; } } IWebElement AssmTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl12_ctl01_grdValuation']/tbody")); IList <IWebElement> AssmTr = AssmTb.FindElements(By.TagName("tr")); IList <IWebElement> AssmTd; List <string> Previous_Value = new List <string>(); List <string> Land_Value = new List <string>(); List <string> Improvement_Value = new List <string>(); List <string> Accessory_Value = new List <string>(); List <string> Current_Value = new List <string>(); foreach (IWebElement Assmrow in AssmTr) { AssmTd = Assmrow.FindElements(By.TagName("td")); if (AssmTd.Count != 0) { if (j == 0) { Previous_Value.Add(AssmTd[2].Text); Previous_Value.Add(AssmTd[3].Text); } else if (j == 1) { Land_Value.Add(AssmTd[2].Text); Land_Value.Add(AssmTd[3].Text); } else if (j == 2) { Improvement_Value.Add(AssmTd[2].Text); Improvement_Value.Add(AssmTd[3].Text); } else if (j == 3) { Accessory_Value.Add(AssmTd[2].Text); Accessory_Value.Add(AssmTd[3].Text); } else if (j == 4) { Current_Value.Add(AssmTd[2].Text); Current_Value.Add(AssmTd[3].Text); } j++; } } string Assemnt_Details1 = Year1 + "~" + Previous_Value[0] + "~" + Land_Value[0] + "~" + Improvement_Value[0] + "~" + Accessory_Value[0] + "~" + Current_Value[0]; string Assemnt_Details2 = Year2 + "~" + Previous_Value[1] + "~" + Land_Value[1] + "~" + Improvement_Value[1] + "~" + Accessory_Value[1] + "~" + Current_Value[1]; gc.insert_date(orderNumber, parcelNumber, 1453, Assemnt_Details1, 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 1453, Assemnt_Details2, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); // Tax Information driver.Navigate().GoToUrl("https://waltoncountyga.governmentwindow.com/tax.html"); Thread.Sleep(4000); string parcel1 = "", parcel2 = ""; parcel1 = parcelNumber.Substring(0, 5); parcel2 = parcelNumber.Substring(5, 3); parcelNumber = parcel1 + "-00000-" + parcel2 + "-000"; driver.FindElement(By.XPath("//*[@id='taxesSearchForm']/div[2]/div[2]/div/div/input[1]")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search", driver, "GA", "Walton"); driver.FindElement(By.XPath("//*[@id='taxesSearchForm']/div[2]/div[2]/div/div/input[2]")).Click(); Thread.Sleep(1000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search Result", driver, "GA", "Walton"); IWebElement taxinfo = driver.FindElement(By.XPath("//*[@id='tbl_tax_results']")); IList <IWebElement> TRtaxinfo = taxinfo.FindElements(By.TagName("tr")); IList <IWebElement> THtaxinfo = taxinfo.FindElements(By.TagName("th")); IList <IWebElement> TDtaxinfo; foreach (IWebElement row in TRtaxinfo) { TDtaxinfo = row.FindElements(By.TagName("td")); if (TDtaxinfo.Count != 0 && !row.Text.Contains("Property Address")) { string Taxhistorydetails = TDtaxinfo[0].Text + "~" + TDtaxinfo[1].Text + "~" + TDtaxinfo[2].Text + "~" + TDtaxinfo[3].Text + "~" + TDtaxinfo[4].Text + "~" + TDtaxinfo[5].Text + "~" + TDtaxinfo[6].Text + "~" + TDtaxinfo[7].Text + "~" + TDtaxinfo[8].Text; gc.insert_date(orderNumber, parcelNumber, 1463, Taxhistorydetails, 1, DateTime.Now); } } int Tax_Year = DateTime.Now.Year; List <string> bililist = new List <string>(); int I = 0; IWebElement taxhistory = driver.FindElement(By.XPath("//*[@id='tbl_tax_results']")); IList <IWebElement> TRtaxhistory = taxhistory.FindElements(By.TagName("tr")); IList <IWebElement> THtaxhistory = taxhistory.FindElements(By.TagName("th")); IList <IWebElement> TDtaxhistory; foreach (IWebElement row in TRtaxhistory) { TDtaxhistory = row.FindElements(By.TagName("td")); if (TDtaxhistory.Count != 0 && !row.Text.Contains("Property Address") && bililist.Count < 4) { IWebElement Billlink = TDtaxhistory[1].FindElement(By.TagName("a")); string Billhref = Billlink.GetAttribute("href"); bililist.Add(Billhref); Thread.Sleep(1000); I++; } if (bililist.Count == 3) { break; } } foreach (string Link in bililist) { // tax Bill Details string taxyear = ""; driver.Navigate().GoToUrl(Link); try { taxyear = driver.FindElement(By.XPath("//*[@id='tax_pay_bill']/div/div[2]/div[1]/div/h3/u")).Text; taxyear = taxyear.Replace("Property Tax Statement", "").Trim(); } catch { } IWebElement taxbill = driver.FindElement(By.Id("tbl_tax_bill_total")); IList <IWebElement> TRtaxbill = taxbill.FindElements(By.TagName("tr")); IList <IWebElement> THtaxbill = taxbill.FindElements(By.TagName("th")); IList <IWebElement> TDtaxbill; foreach (IWebElement row in TRtaxbill) { TDtaxbill = row.FindElements(By.TagName("td")); if (TDtaxbill.Count != 0 && !row.Text.Contains("Prior Payment")) { string TaxBilldetails = taxyear + "~" + TDtaxbill[0].Text + "~" + TDtaxbill[1].Text + "~" + TDtaxbill[2].Text + "~" + TDtaxbill[3].Text + "~" + TDtaxbill[4].Text + "~" + TDtaxbill[5].Text.Replace("Pay", "").Trim(); gc.insert_date(orderNumber, parcelNumber, 1461, TaxBilldetails, 1, DateTime.Now); } } // Tax Breakdown Details Table: IWebElement taxbreakdown = driver.FindElement(By.XPath("//*[@id='tbl_tax_positions']")); IList <IWebElement> TRtaxbreakdown = taxbreakdown.FindElements(By.TagName("tr")); IList <IWebElement> THtaxbreakdown = taxbreakdown.FindElements(By.TagName("th")); IList <IWebElement> TDtaxbreakdown; foreach (IWebElement row in TRtaxbreakdown) { TDtaxbreakdown = row.FindElements(By.TagName("td")); if (TDtaxbreakdown.Count != 0 && !row.Text.Contains("Adjusted FMV") && !row.Text.Contains("TOTALS")) { string TaxBreakDowndetails = taxyear + "~" + TDtaxbreakdown[0].Text + "~" + TDtaxbreakdown[1].Text + "~" + TDtaxbreakdown[2].Text + "~" + TDtaxbreakdown[3].Text + "~" + TDtaxbreakdown[4].Text + "~" + TDtaxbreakdown[5].Text + "~" + TDtaxbreakdown[6].Text + "~" + TDtaxbreakdown[7].Text + "~" + TDtaxbreakdown[8].Text; gc.insert_date(orderNumber, parcelNumber, 1462, TaxBreakDowndetails, 1, DateTime.Now); } if (TDtaxbreakdown.Count != 0 && !row.Text.Contains("Adjusted FMV") && row.Text.Contains("TOTALS")) { string TaxBreakDowndetails = taxyear + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TDtaxbreakdown[0].Text + "~" + TDtaxbreakdown[1].Text + "~" + TDtaxbreakdown[2].Text + "~" + TDtaxbreakdown[3].Text + "~" + TDtaxbreakdown[4].Text; gc.insert_date(orderNumber, parcelNumber, 1462, TaxBreakDowndetails, 1, DateTime.Now); } } // Tax Information Details string Taxstatus = driver.FindElement(By.XPath("//*[@id='tax_pay_bill']/div/div[3]/div[3]/table/tbody")).Text; string Taxpayer = "", Mapcode = "", Description = "", Location = "", Billno = "", TaxAuth = ""; Taxpayer = gc.Between(Taxstatus, "Tax Payer:", "Map Code:"); Mapcode = gc.Between(Taxstatus, "Map Code:", "Description:").Trim(); Description = gc.Between(Taxstatus, "Description:", "Location:").Trim(); Location = gc.Between(Taxstatus, "Location:", "Bill No:").Trim(); Billno = GlobalClass.After(Taxstatus, "Bill No:").Replace("\r\n", "").Trim(); TaxAuth = driver.FindElement(By.XPath("//*[@id='tax_pay_bill']/div/div[3]/div[1]/div")).Text.Replace("Tax Commissioner", "").Replace("\r\n", " ").Trim(); IWebElement taxstatus = driver.FindElement(By.Id("tbl_tax_bill_item")); IList <IWebElement> TRtaxstatus = taxstatus.FindElements(By.TagName("tr")); IList <IWebElement> THtaxstatus = taxstatus.FindElements(By.TagName("th")); IList <IWebElement> TDtaxstatus; foreach (IWebElement row in TRtaxstatus) { TDtaxstatus = row.FindElements(By.TagName("td")); if (TDtaxstatus.Count != 0 && !row.Text.Contains("Fair Market Value") && !row.Text.Contains("Billing Date")) { string Taxstatusdetails = taxyear + "~" + Taxpayer + "~" + Mapcode + "~" + Description + "~" + Location + "~" + Billno + "~" + TDtaxstatus[0].Text + "~" + TDtaxstatus[1].Text + "~" + TDtaxstatus[2].Text + "~" + TDtaxstatus[3].Text + "~" + TDtaxstatus[4].Text + "~" + TDtaxstatus[5].Text + "~" + TaxAuth; gc.insert_date(orderNumber, parcelNumber, 1466, Taxstatusdetails, 1, DateTime.Now); } } // Tax payment status Details string valuetype = "", Amount = ""; valuetype += "Tax Year" + "~"; Amount += Tax_Year + "~"; IWebElement Assessmentdetails = driver.FindElement(By.XPath("//*[@id='tax_pay_bill']/div/div[5]/div[2]/table/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 (row.Text.Trim() != "" && TDAssessmentdetails.Count == 2) { valuetype += TDAssessmentdetails[0].Text + "~"; Amount += TDAssessmentdetails[1].Text + "~"; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + valuetype.Remove(valuetype.Length - 1, 1) + "' where Id = '" + 1467 + "'"); gc.insert_date(orderNumber, parcelNumber, 1467, Amount.Remove(Amount.Length - 1, 1), 1, DateTime.Now); //Tax_Year--; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "GA", "Walton", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "GA", "Walton"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_AZPima(string streetNo, string direction, string streetName, string streetType, string unitNumber, string parcelNumber, string ownerName, string searchType, string orderNumber) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); using (driver = new ChromeDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://www.asr.pima.gov/Home/ParcelSearch"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", "", streetNo + " " + streetName, "AZ", "Pima"); 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["AZPima_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (direction != "") { if (direction.ToUpper() == "S") { direction = "3"; } if (direction.ToUpper() == "N") { direction = "1"; } if (direction.ToUpper() == "W") { direction = "4"; } if (direction.ToUpper() == "E") { direction = "2"; } } if (searchType == "address") { // try { driver.FindElement(By.XPath("/html/body/div[2]/div[3]/form/div[1]/div[4]/a")).Click(); Thread.Sleep(2000); } catch { } try { //driver.FindElement(By.XPath("//*[@id='searchPills']/ul/li[3]/a")).Click(); //Thread.Sleep(2000); } catch { } driver.FindElement(By.LinkText("Address")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("address1")).SendKeys(streetNo); driver.FindElement(By.Id("address2")).SendKeys(streetNo); if (direction != "") { IWebElement PropertyInformation = driver.FindElement(By.Id("selectedDirection")); SelectElement PropertyInformationSelect = new SelectElement(PropertyInformation); PropertyInformationSelect.SelectByIndex(Convert.ToInt16(direction.Trim())); } if (streetType.ToUpper() == "AVE") { streetType = "AV"; } if (streetType.ToUpper() == "TRL") { streetType = "TR"; } if (streetType.ToUpper() == "TER") { streetType = "TE"; } if (streetType.ToUpper() == "WAY") { streetType = "WY"; } driver.FindElement(By.Id("strName")).SendKeys(streetName.Trim() + " " + streetType.Trim()); IWebElement addressliclick = driver.FindElement(By.XPath("//*[@id='searchPills']/div/div[3]/form/div/div/div[3]")); IList <IWebElement> addressclickli = addressliclick.FindElements(By.TagName("li")); IList <IWebElement> addressclicktd; foreach (IWebElement addressclick in addressclickli) { addressclicktd = addressclick.FindElements(By.TagName("a")); if (addressclicktd.Count != 0) { addressclicktd[0].Click(); Thread.Sleep(2000); } } //driver.FindElement(By.Id("strName")).Click(); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "AZ", "Pima"); Thread.Sleep(8000); try { IWebElement clickfirst = driver.FindElement(By.XPath("//*[@id='searchPills']/div/div[3]/form/div/div/div[3]/button")); IJavaScriptExecutor js12 = driver as IJavaScriptExecutor; js12.ExecuteScript("arguments[0].click();", clickfirst); //Thread.Sleep(9000); Thread.Sleep(3000); } catch { } try { driver.FindElement(By.XPath("//*[@id='searchPills']/div/div[3]/form/div/div/div[3]/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } //IWebElement INorecord = driver.FindElement(By.Id("ext-gen9")); //if (INorecord.Text.Contains("no records")) //{ // HttpContext.Current.Session["multiparcel_DesotoMS_NoRecord"] = "Yes"; //} //gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "AZ", "Pima"); //try //{ // string multi = GlobalClass.After(driver.FindElement(By.Id("ext-comp-1008")).Text, "of").Trim(); // string strAddress = "", strparcel = "", strOwner = ""; // if (Convert.ToInt32(multi) <= 25) // { // IWebElement tbmulti = driver.FindElement(By.Id("ext-gen16")); // IList<IWebElement> TBmulti = tbmulti.FindElements(By.TagName("table")); // IList<IWebElement> TRmulti; // IList<IWebElement> TDmulti; // foreach (IWebElement row in TBmulti) // { // TDmulti = row.FindElements(By.TagName("td")); // if (TDmulti.Count != 0 && TDmulti[0].Text.Trim() != "") // { // strAddress = TDmulti[3].Text; // strparcel = TDmulti[1].Text; // strOwner = TDmulti[0].Text; // string multiDetails = strAddress + "~" + strOwner; // gc.insert_date(orderNumber, strparcel, 1351, multiDetails, 1, DateTime.Now); // } // } // gc.CreatePdf_WOP(orderNumber, "Multi Address search Result", driver, "AZ", "Pima"); // HttpContext.Current.Session["multiparcel_DesotoMS"] = "Yes"; // driver.Quit(); // gc.mergpdf(orderNumber, "AZ", "Pima"); // return "MultiParcel"; // } // if (Convert.ToInt32(multi) > 25) // { // HttpContext.Current.Session["multiparcel_DesotoMS_Multicount"] = "Maximum"; // driver.Quit(); // return "Maximum"; // } //} //catch { } try { IWebElement INorecord = driver.FindElement(By.XPath("//*[@id='searchPills']/div/div[3]/form/div/div/div[3]/label[2]")); if (INorecord.Text.Contains("No information found")) { HttpContext.Current.Session["AZPima_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { parcelNumber = parcelNumber.Replace("-", "").Trim(); string parcel1 = parcelNumber.Substring(0, 3); string parcel2 = parcelNumber.Substring(3, 2); string parcel3 = parcelNumber.Substring(5, 4); parcelNumber = parcel1 + "-" + parcel2 + "-" + parcel3; driver.FindElement(By.Id("parcelInput")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "AZ", "Pima"); // /html/body/div[2]/div[1]/div[1]/div/div[1]/div/div[1]/button driver.FindElement(By.XPath("/html/body/div[2]/div[3]/form/div[1]/div[1]/div/button")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Result", driver, "AZ", "Pima"); } if (searchType == "ownername") { driver.FindElement(By.LinkText("Quick")).SendKeys(Keys.Enter); IWebElement IOwner = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div")); IList <IWebElement> IOwnerRow = IOwner.FindElements(By.TagName("label")); foreach (IWebElement owner in IOwnerRow) { if (owner.Text == "Property Owner") { owner.Click(); Thread.Sleep(3000); break; } } driver.FindElement(By.Id("taxPayerInput")).SendKeys(ownerName); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "AZ", "Pima"); driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div/div[1]/div/div[2]/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner search Result", driver, "AZ", "Pima"); try { IWebElement MultiCount = driver.FindElement(By.XPath("//*[@id='searchResultsModal']/div/div/div[1]")); string strCount = gc.Between(MultiCount.Text, "(", ")").Trim(); if (Convert.ToInt32(strCount) <= 25) { IWebElement IMultiOwner = driver.FindElement(By.XPath("//*[@id='searchResultsModal']/div/div/div[2]/div[2]/table/tbody")); IList <IWebElement> IMultiOwnerRow = IMultiOwner.FindElements(By.TagName("tr")); IList <IWebElement> IMultiOwnerTD; foreach (IWebElement multi in IMultiOwnerRow) { IMultiOwnerTD = multi.FindElements(By.TagName("td")); if (IMultiOwnerTD.Count != 0) { string strParcel = IMultiOwnerTD[0].Text; string strOwner = IMultiOwnerTD[1].Text; string strAddress = IMultiOwnerTD[2].Text; string multiDetails = strAddress + "~" + strOwner; gc.insert_date(orderNumber, strParcel, 1366, multiDetails, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multi Address search Result", driver, "AZ", "Pima"); HttpContext.Current.Session["multiparcel_PimaAZ"] = "Yes"; driver.Quit(); gc.mergpdf(orderNumber, "AZ", "Pima"); return("MultiParcel"); } if (Convert.ToInt32(strCount) > 25) { HttpContext.Current.Session["multiparcel_PimaAZ_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } try { IWebElement INorecord = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div/div[1]/div/div[1]/label[2]")); if (INorecord.Text.Contains("No records found") || INorecord.Text.Contains("No information found")) { HttpContext.Current.Session["AZPima_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } try { IWebElement INoinform = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div/div[1]/div/div[2]/label[2]")); if (INoinform.Text.Contains("No records found") || INoinform.Text.Contains("No information found")) { HttpContext.Current.Session["AZPima_NoRecord"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } string TaxYear = "", TaxArea = "", PropertyAddress = "", strOwnerName = "", ProDescription = "", YearBuilt = ""; //Property Details Thread.Sleep(5000); IWebElement IParcelNo = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/p")); parcelNumber = gc.Between(IParcelNo.Text, "Parcel Number:", "Expand All +").Trim(); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Result", driver, "AZ", "Pima"); if (IParcelNo.Text.Contains("Expand All")) { // /html/body/div[2]/div[1]/p/span[1] driver.FindElement(By.XPath("/html/body/div[2]/div[1]/p/span[1]")).Click(); Thread.Sleep(3000); } try { gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "AZ", "Pima"); } catch { } TaxYear = DateTime.Now.Year.ToString(); var year = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div/div[1]/div[1]/div[1]/table/tbody/tr[2]/td[2]/div/select")); var selectElement1 = new SelectElement(year); selectElement1.SelectByText(TaxYear); //IWebElement Iyear = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div/div[1]/div[1]/div[1]/table/tbody/tr[2]/td[2]/div/select")); //SelectElement SYear = new SelectElement(Iyear); //TaxYear = SYear.SelectedOption.Text; TaxArea = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div[1]/div/div[1]/div[1]/div[2]/table/tbody/tr[2]/td[2]/button")).Text; PropertyAddress = GlobalClass.After(driver.FindElement(By.Id("PrclAddr")).Text, "Location").Replace("\r\n", "").Trim(); string City = ""; IWebElement IFullAddress = driver.FindElement(By.XPath("//*[@id='PrclAddr']/table/tbody")); IList <IWebElement> IFullRow = IFullAddress.FindElements(By.TagName("tr")); IList <IWebElement> IFullTD; foreach (IWebElement full in IFullRow) { IFullTD = full.FindElements(By.TagName("td")); if (IFullTD.Count != 0 && full.Text.Trim() != "" && IFullTD.Count == 4) { City = IFullTD[3].Text.Trim(); } } IWebElement IOwnerName = driver.FindElement(By.XPath("//*[@id='TaxpyrLegal']/table/tbody")); IList <IWebElement> IOwnerNameRow = IOwnerName.FindElements(By.TagName("tr")); IList <IWebElement> IOwnerNameTD; foreach (IWebElement name in IOwnerNameRow) { IOwnerNameTD = name.FindElements(By.TagName("td")); if (IOwnerNameTD.Count != 0) { strOwnerName = IOwnerNameTD[0].Text.Replace("\r\n", " "); ProDescription = IOwnerNameTD[1].Text.Replace("\r\n", " "); } } //Valuation Details IWebElement IValuation = driver.FindElement(By.XPath("//*[@id='ValuData']/table/tbody")); IList <IWebElement> IValuationRow = IValuation.FindElements(By.TagName("tr")); IList <IWebElement> IValuationTD; foreach (IWebElement valuation in IValuationRow) { IValuationTD = valuation.FindElements(By.TagName("td")); if (IValuationTD.Count != 0) { string ValYear = IValuationTD[0].Text; string ValPropertyClass = IValuationTD[1].Text; string ValAssessRatio = IValuationTD[2].Text; string ValTotalFCV = IValuationTD[5].Text; string ValLimitedValue = IValuationTD[6].Text; string ValLimitedAssess = IValuationTD[7].Text; string valuationDetails = ValYear + "~" + ValPropertyClass + "~" + ValAssessRatio + "~" + ValTotalFCV + "~" + ValLimitedValue + "~" + ValLimitedAssess; gc.insert_date(orderNumber, parcelNumber, 1368, valuationDetails, 1, DateTime.Now); } } //Year Built IWebElement IYearBuilt = driver.FindElement(By.XPath("//*[@id='ResdChr']/table[1]/tbody")); IList <IWebElement> IYearBuiltRow = IYearBuilt.FindElements(By.TagName("tr")); IList <IWebElement> IYearBuiltTD; foreach (IWebElement yearBuilt in IYearBuiltRow) { IYearBuiltTD = yearBuilt.FindElements(By.TagName("td")); if (yearBuilt.Text.Contains("Effective Construction Year:")) { YearBuilt = IYearBuiltTD[1].Text; break; } } string propertyDetails = PropertyAddress + "~" + strOwnerName + "~" + ProDescription + "~" + TaxYear + "~" + TaxArea + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 1367, propertyDetails, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Authority //driver.Navigate().GoToUrl("http://www.to.pima.gov/about/contactus"); //IWebElement ITaxAuthor = driver.FindElement(By.XPath("//*[@id='rt-mainbody']/div/div/div/table[1]")); string strTaxAuthor = ""; //gc.CreatePdf(orderNumber, parcelNumber, "Tax Authority Details", driver, "AZ", "Pima"); //Tax Details int Month = DateTime.Now.Month; int yearcount = DateTime.Now.Year; if (Month < 9) { yearcount--; } for (int i = 0; i <= 2; i++) { try { driver.Navigate().GoToUrl("http://www.to.pima.gov/property-information/property-inquiry"); IWebElement ITaxframe = driver.FindElement(By.Id("blockrandom")); driver.SwitchTo().Frame(ITaxframe); driver.FindElement(By.XPath("//*[@id='content']/center/form/table[1]/tbody/tr[1]/td/input")).SendKeys(parcelNumber.Replace("-", "").Trim()); IWebElement IYearselect = driver.FindElement(By.XPath("//*[@id='content']/center/form/table[1]/tbody/tr[2]/td/select")); SelectElement selectYear = new SelectElement(IYearselect); selectYear.SelectByText(yearcount.ToString()); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search Details" + i, driver, "AZ", "Pima"); driver.FindElement(By.XPath("//*[@id='content']/center/form/table[1]/tbody/tr[4]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search Result Details" + i, driver, "AZ", "Pima"); IWebElement ITaxAssess = driver.FindElement(By.XPath("//*[@id='content']/center[1]/table/tbody/tr[1]/td/table")); string StateCode = gc.Between(ITaxAssess.Text, "STATE CODE:", "TAX YEAR:"); amck.TaxId = StateCode; string StrTaxYear = gc.Between(ITaxAssess.Text, "TAX YEAR:", "TOTAL TAX:"); amck.TaxYear = StrTaxYear; string StrTotalTax = "", basetax = ""; StrTotalTax = gc.Between(ITaxAssess.Text, "TOTAL TAX:", "AS OF DATE:"); string StrAsOfDate = gc.Between(ITaxAssess.Text, "AS OF DATE:", "TRC NO:"); IWebElement ITaxOwner = driver.FindElement(By.XPath("//*[@id='content']/center[1]/table/tbody/tr[2]/td[3]/table")); string StrTaxOwner = gc.Between(ITaxOwner.Text.Replace("\r\n", " "), "TAXPAYER NAME/ADDRESS", "PROPERTY ADDRESS"); string StrTaxAddress = gc.Between(ITaxOwner.Text, "PROPERTY ADDRESS", "LEGAL DESCRIPTION"); string StrTaxOwnerName = StrTaxOwner; string StrTaxLegal = gc.Between(ITaxOwner.Text, "LEGAL DESCRIPTION", "PAID BY"); string StrTaxPaid = gc.Between(ITaxOwner.Text, "PAID BY", "ON BEHALF OF"); string StrTaxBehalf = GlobalClass.After(ITaxOwner.Text, "ON BEHALF OF").Replace("\r\n", ""); string installTitle = "", firstInstalldel = "", secondInstalldel = "", firstInstallRem = "", secondInstallRem = "", firstInstall = "", secondInstall = "", totalInstall = "", firstInstalltaxpaid = "", secondInstalltaxpaid = ""; int installcount = 0; IWebElement ITaxInstall = driver.FindElement(By.XPath("//*[@id='content']/center[1]/table/tbody/tr[2]/td[1]/table[1]")); IList <IWebElement> ITaxInstallRow = ITaxInstall.FindElements(By.TagName("tr")); IList <IWebElement> ITaxInstallTD; IList <IWebElement> ITaxInstallTH; foreach (IWebElement install in ITaxInstallRow) { ITaxInstallTD = install.FindElements(By.TagName("td")); ITaxInstallTH = install.FindElements(By.TagName("th")); if (ITaxInstallTD.Count != 0 && ITaxInstallTH.Count != 0 && !install.Text.Contains("INSTALLMENT") && !install.Text.Contains("CURRENT STATUS AND SUMMARY") && install.Text.Trim() != "") { if (ITaxInstallTH.Count == 1 && !install.Text.Contains("TOTAL DUE:")) { string Currentstatus = yearcount + "~" + ITaxInstallTH[0].Text + "~" + ITaxInstallTD[0].Text + "~" + ITaxInstallTD[1].Text + "~" + ITaxInstallTD[2].Text; if (ITaxInstallTH[0].Text == "TAX DUE:") { firstInstall = ITaxInstallTD[0].Text; secondInstall = ITaxInstallTD[1].Text; totalInstall = ITaxInstallTD[2].Text; if (firstInstall != "") { amck.Instamount1 = firstInstall; } if (secondInstall != "") { amck.Instamount2 = secondInstall; } } if (ITaxInstallTH[0].Text == "TAX PAID:") { firstInstalltaxpaid = ITaxInstallTD[0].Text; secondInstalltaxpaid = ITaxInstallTD[1].Text; if (firstInstalltaxpaid != "") { amck.Instamountpaid1 = firstInstalltaxpaid.Replace("(", "").Replace(")", "");; } if (secondInstalltaxpaid != "") { amck.Instamountpaid2 = secondInstalltaxpaid.Replace("(", "").Replace(")", "");; } } if (ITaxInstallTH[0].Text == "REMAINING AMOUNT:") { firstInstallRem = ITaxInstallTD[0].Text; secondInstallRem = ITaxInstallTD[1].Text; if (firstInstallRem == "$0.00") { amck.InstPaidDue1 = "Paid"; } else { amck.InstPaidDue1 = "Due"; } if (secondInstallRem == "$0.00") { amck.InstPaidDue2 = "Paid"; } else { amck.InstPaidDue2 = "Due"; } } if (ITaxInstallTH[0].Text == "INTEREST DUE:") { firstInstalldel = ITaxInstallTD[0].Text; secondInstalldel = ITaxInstallTD[1].Text; if (firstInstalldel != "") { amck.IsDelinquent = "Yes"; } else { amck.IsDelinquent = "No"; } if (secondInstalldel != "") { amck.IsDelinquent = "Yes"; } else { amck.IsDelinquent = "No"; } } gc.insert_date(orderNumber, parcelNumber, 1370, Currentstatus, 1, DateTime.Now); } if (install.Text.Contains("TOTAL DUE:")) { string Currentstatus = yearcount + "~" + ITaxInstallTH[0].Text + "~" + " " + "~" + " " + "~" + ITaxInstallTD[0].Text; gc.insert_date(orderNumber, parcelNumber, 1370, Currentstatus, 1, DateTime.Now); } } } if (i == 0) { if (amck.IsDelinquent != "Yes") { gc.InsertAmrockTax(orderNumber, amck.TaxId, amck.Instamount1, amck.Instamount2, amck.Instamount3, amck.Instamount4, amck.Instamountpaid1, amck.Instamountpaid2, amck.Instamountpaid3, amck.Instamountpaid4, amck.InstPaidDue1, amck.InstPaidDue2, amck.instPaidDue3, amck.instPaidDue4, amck.IsDelinquent); } else { gc.InsertAmrockTax(orderNumber, amck.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amck.IsDelinquent); } } string HistoryYear = "", HistoryAmount = ""; IWebElement ITaxHistory = driver.FindElement(By.XPath("//*[@id='content']/center[1]/table/tbody/tr[2]/td[1]/table[2]/tbody")); IList <IWebElement> ITaxHistoryRow = ITaxHistory.FindElements(By.TagName("tr")); IList <IWebElement> ITaxHistoryTD; IList <IWebElement> ITaxHistoryTH; foreach (IWebElement history in ITaxHistoryRow) { ITaxHistoryTD = history.FindElements(By.TagName("td")); ITaxHistoryTH = history.FindElements(By.TagName("th")); if (ITaxHistoryTD.Count != 0 && ITaxHistoryTH.Count != 0) { HistoryYear = ITaxHistoryTH[0].Text.Replace(":", ""); HistoryAmount = ITaxHistoryTD[0].Text; string historyDetails = HistoryYear + "~" + HistoryAmount; gc.insert_date(orderNumber, parcelNumber, 1371, historyDetails, 1, DateTime.Now); } } driver.Navigate().GoToUrl("http://www.to.pima.gov/tax-information/tax-statement"); IWebElement ITaxStateframe = driver.FindElement(By.Id("blockrandom")); driver.SwitchTo().Frame(ITaxStateframe); driver.FindElement(By.XPath("//*[@id='content']/center/form/table/tbody/tr[1]/td/input")).SendKeys(parcelNumber.Replace("-", "").Trim()); IWebElement IstateYear = driver.FindElement(By.XPath("//*[@id='content']/center/form/table/tbody/tr[2]/td/select")); SelectElement stateYear = new SelectElement(IstateYear); stateYear.SelectByText(yearcount.ToString()); gc.CreatePdf(orderNumber, parcelNumber, "Tax Statement Search Details" + i, driver, "AZ", "Pima"); driver.FindElement(By.XPath("//*[@id='content']/center/form/table/tbody/tr[3]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Statement Result Details" + i, driver, "AZ", "Pima"); strTaxAuthor = driver.FindElement(By.XPath("//*[@id='statement']/center[1]/table[5]/tbody/tr/td[3]/table/tbody/tr[2]/td[1]")).Text; string TaxDetails = StateCode + "~" + StrTaxYear + "~" + StrTotalTax + "~" + StrAsOfDate + "~" + StrTaxAddress + "~" + StrTaxOwnerName + "~" + StrTaxLegal + "~" + StrTaxPaid + "~" + StrTaxBehalf + "~" + strTaxAuthor; gc.insert_date(orderNumber, parcelNumber, 1369, TaxDetails, 1, DateTime.Now); string TaxSumAmount = "", strTaxAuthority = "", TaxSumTitle = ""; IWebElement ITaxAuthority = driver.FindElement(By.XPath("//*[@id='statement']/center[1]/table[5]/tbody/tr/td[3]/table")); strTaxAuthority = gc.Between(ITaxAuthority.Text.Replace("\r\n", " "), "mail to:", "PLEASE INCLUDE").Trim(); IWebElement ITaxesYear = driver.FindElement(By.XPath("//*[@id='statement']/table[3]/tbody/tr/td[2]/table[1]")); string[] TaxesYear = gc.Between(ITaxesYear.Text, "JURISDICTION", "DIFFERENCE").Trim().Split(' '); string firstYear = "", secondYear = ""; try { firstYear = TaxesYear[0]; secondYear = TaxesYear[1]; } catch { } IWebElement ITaxSummary = driver.FindElement(By.XPath("//*[@id='statement']/table[3]/tbody/tr/td[1]/table[4]")); IList <IWebElement> ITaxSummaryRow = ITaxSummary.FindElements(By.TagName("table")); IList <IWebElement> ITaxSummaryTD; IList <IWebElement> ITaxSummaryTTD; IList <IWebElement> ITaxSummaryTTH; foreach (IWebElement summary in ITaxSummaryRow) { ITaxSummaryTD = summary.FindElements(By.TagName("tr")); if (ITaxSummaryTD.Count != 0) { foreach (IWebElement Taxsummary in ITaxSummaryTD) { ITaxSummaryTTD = Taxsummary.FindElements(By.TagName("td")); ITaxSummaryTTH = Taxsummary.FindElements(By.TagName("th")); if (ITaxSummaryTD.Count != 0 && ITaxSummaryTTH.Count != 0 && !Taxsummary.Text.Contains("TOTAL TAX DUE FOR")) { TaxSumAmount += ITaxSummaryTTD[0].Text + "~"; TaxSumTitle += ITaxSummaryTTH[1].Text + "~"; } if (ITaxSummaryTD.Count != 0 && ITaxSummaryTTH.Count != 0 && Taxsummary.Text.Contains("TOTAL TAX DUE FOR")) { TaxSumAmount += ITaxSummaryTTD[0].Text + "~"; TaxSumTitle += GlobalClass.Before(ITaxSummaryTTH[0].Text, "FOR") + "~"; } } } } IWebElement IState = driver.FindElement(By.XPath("//*[@id='statement']/table[2]/tbody/tr/td[1]/table/tbody/tr/td/table")); string strState = GlobalClass.After(IState.Text, "PARCEL").Replace("\r\n", "").Trim(); IWebElement ITaxSummry = driver.FindElement(By.XPath("//*[@id='statement']/table[3]/tbody/tr/td[1]/table[3]/tbody/tr/th/table")); string strTaxSummry = GlobalClass.Before(ITaxSummry.Text, " TAX SUMMARY"); if (i == 0) { db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "State Code" + "~" + "Tax Year" + "~" + TaxSumTitle.Remove(TaxSumTitle.Length - 1, 1) + "' where Id = '" + 1373 + "'"); } gc.insert_date(orderNumber, parcelNumber, 1373, strState + "~" + strTaxSummry + "~" + TaxSumAmount.Remove(TaxSumAmount.Length - 1, 1), 1, DateTime.Now); IWebElement IJuri = driver.FindElement(By.XPath("//*[@id='statement']/table[3]/tbody/tr/td[2]/table[2]")); IList <IWebElement> IJuriRow = IJuri.FindElements(By.TagName("tr")); IList <IWebElement> IJuriTd; IList <IWebElement> IJuriTH; foreach (IWebElement juri in IJuriRow) { IJuriTd = juri.FindElements(By.TagName("td")); IJuriTH = juri.FindElements(By.TagName("th")); if (IJuriTd.Count != 0 && juri.Text.Trim() != "" && !juri.Text.Trim().Contains("TOTALS")) { string juriTitle = IJuriTd[0].Text; string juriFirst = IJuriTd[1].Text; string juriSecond = IJuriTd[2].Text; string summaryDetails = juriTitle + "~" + firstYear.Replace("TAXES", "").Trim() + "~" + juriFirst + "~" + secondYear.Replace("TAXES", "").Trim() + "~" + juriSecond; gc.insert_date(orderNumber, parcelNumber, 1374, summaryDetails, 1, DateTime.Now); } if (IJuriTd.Count != 0 && IJuriTH.Count != 0 && juri.Text.Trim() != "" && juri.Text.Trim().Contains("TOTALS")) { string juriTitle = IJuriTH[0].Text; string juriFirst = IJuriTd[0].Text; string juriSecond = IJuriTd[1].Text; string summaryDetails = juriTitle + "~" + firstYear.Replace("TAXES", "").Trim() + "~" + juriFirst + "~" + secondYear.Replace("TAXES", "").Trim() + "~" + juriSecond; gc.insert_date(orderNumber, parcelNumber, 1374, summaryDetails, 1, DateTime.Now); } } } catch { } yearcount--; } if (City.Contains("Tucson")) { try { //City of Tucson driver.Navigate().GoToUrl("https://www.tucsonaz.gov/dfastwebpublic/default.aspx"); Thread.Sleep(2000); IWebElement Iselectparcel = driver.FindElement(By.Id("ctl00_MainContent_propertySearchDropDownList")); SelectElement selectParcel = new SelectElement(Iselectparcel); selectParcel.SelectByText("Property ID"); driver.FindElement(By.Id("ctl00_MainContent_propertySearchPhraseTextBox")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "City Tax Search Details", driver, "AZ", "Pima"); driver.FindElement(By.Id("ctl00_MainContent_searchButton")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "City Tax Search Result Details", driver, "AZ", "Pima"); driver.FindElement(By.Id("ctl00_MainContent_propertySearchGridView_ctl02_HyperLink1")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "City Tax Details", driver, "AZ", "Pima"); string AccountID = driver.FindElement(By.Id("ctl00_MainContent_accountIdValueLabel")).Text; string PropertyID = driver.FindElement(By.Id("ctl00_MainContent_propertyIdValueLabel")).Text; string AssessmentID = driver.FindElement(By.Id("ctl00_MainContent_assessmentIdValueLabel")).Text; string OwnerID = driver.FindElement(By.Id("ctl00_MainContent_Repeater1_ctl01_ownerValueLabel")).Text; string AddressID = driver.FindElement(By.Id("ctl00_MainContent_Repeater1_ctl01_ownerAddress1ValueLabel")).Text; string cityDetails = AccountID + "~" + AssessmentID + "~" + OwnerID + "~" + AddressID; gc.insert_date(orderNumber, PropertyID, 1375, cityDetails, 1, DateTime.Now); IWebElement ITransactionClick = driver.FindElement(By.Id("menu-bar")); IList <IWebElement> ITransactionClickRow = ITransactionClick.FindElements(By.TagName("li")); IList <IWebElement> ITransactionClickTD; foreach (IWebElement transClick in ITransactionClickRow) { ITransactionClickTD = transClick.FindElements(By.TagName("a")); if (transClick.Text.Contains("Transactions")) { ITransactionClickTD[0].Click(); break; } } //Transactions Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Transaction Details", driver, "AZ", "Pima"); IWebElement ITransaction = driver.FindElement(By.Id("ctl00_MainContent_GridView1")); IList <IWebElement> ITransactionRow = ITransaction.FindElements(By.TagName("tr")); IList <IWebElement> ITransactionTD; foreach (IWebElement trans in ITransactionRow) { ITransactionTD = trans.FindElements(By.TagName("td")); if (ITransactionTD.Count != 0 && !trans.Text.Contains("Effective Date")) { string EffectiveDate = ITransactionTD[0].Text; string PostDate = ITransactionTD[1].Text; string InstallDate = ITransactionTD[2].Text; string Description = ITransactionTD[3].Text; string Charges = ITransactionTD[4].Text; string Credits = ITransactionTD[5].Text; string Balance = ITransactionTD[6].Text; string DB = ITransactionTD[7].Text; string DM = ITransactionTD[8].Text; string summaryDetails = EffectiveDate + "~" + PostDate + "~" + InstallDate + "~" + Description + "~" + Charges + "~" + Credits + "~" + Balance + "~" + DB + "~" + DM; gc.insert_date(orderNumber, PropertyID, 1376, summaryDetails, 1, DateTime.Now); } } //Repayment Details IJavaScriptExecutor js = (IJavaScriptExecutor)driver; IWebElement payment = driver.FindElement(By.LinkText("Repayment Schedule")); Actions action = new Actions(driver); action.MoveToElement(payment).Build().Perform(); payment.Click(); IWebElement ICurrent = driver.FindElement(By.LinkText("Current")); ICurrent.Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Repayment Schedule Details", driver, "AZ", "Pima"); IWebElement IRepaymentCurrent = driver.FindElement(By.Id("ctl00_MainContent_GridView1")); IList <IWebElement> IRepaymentCurrentRow = IRepaymentCurrent.FindElements(By.TagName("tr")); IList <IWebElement> IRepaymentCurrentTD; foreach (IWebElement current in IRepaymentCurrentRow) { IRepaymentCurrentTD = current.FindElements(By.TagName("td")); if (IRepaymentCurrentTD.Count != 0) { string BillingDate = IRepaymentCurrentTD[0].Text; string Rate = IRepaymentCurrentTD[1].Text; string Balance = IRepaymentCurrentTD[2].Text; string Principal = IRepaymentCurrentTD[3].Text; string Interest = IRepaymentCurrentTD[4].Text; string Total = IRepaymentCurrentTD[5].Text; string Status = IRepaymentCurrentTD[6].Text; string repaymentDetails = BillingDate + "~" + Rate + "~" + Balance + "~" + Principal + "~" + Interest + "~" + Total + "~" + Status; gc.insert_date(orderNumber, PropertyID, 1377, repaymentDetails, 1, DateTime.Now); } } } catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "AZ", "Pima", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "AZ", "Pima"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_LakeIL(string houseno, string Direction, string sname, string stype, string unitNumber, string zipcode, string parcelNumber, string ownername, 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 address = "", lastName = "", firstName = "", Pinnumber = "", PropertyAdd = "", Strownername = "", Pin = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) // using (driver = new ChromeDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { if (Direction != "") { address = houseno + " " + Direction + " " + sname + " " + stype + " " + unitNumber; address = address.Trim(); } if (Direction == "") { address = houseno + " " + sname + " " + stype + " " + unitNumber; address = address.Trim(); } string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "IL", "Lake"); 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["Zero_LakeIL"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("https://apps03.lakecountyil.gov/comparables/PTAIAddress.aspx"); Thread.Sleep(4000); driver.FindElement(By.XPath("//*[@id='tbStreetNum']")).SendKeys(houseno); driver.FindElement(By.Id("tbStreetName")).SendKeys(sname); try { IWebElement streettype = driver.FindElement(By.Id("ddlStreetType")); SelectElement sttype = new SelectElement(streettype); sttype.SelectByValue(stype); } catch { } driver.FindElement(By.Id("tbZip")).SendKeys(zipcode); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "IL", "Lake"); driver.FindElement(By.Id("cmdSubmit")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "IL", "Lake"); try { int Max = 0; string strowner = "", strAddress = "", strCity = ""; string Record = ""; IWebElement multiaddress; multiaddress = driver.FindElement(By.Id("Table2")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count >= 1 && multiRow.Count <= 25 && multi.Text.Trim() != "") { strAddress = multiTD[0].Text.Trim(); parcelNumber = GlobalClass.After(strAddress, "=").Trim(); PropertyAdd = GlobalClass.Before(strAddress, "=").Trim(); string multidetails = PropertyAdd; gc.insert_date(orderNumber, parcelNumber, 1861, multidetails, 1, DateTime.Now); Max++; } if (multiTD.Count != 0 && multiRow.Count > 25) { HttpContext.Current.Session["multiparcel_LakeIL_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (Max > 1 && Max < 26) { HttpContext.Current.Session["multiparcel_LakeIL"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 0) { HttpContext.Current.Session["Zero_LakeIL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("https://apps03.lakecountyil.gov/comparables/PTAIPIN.aspx"); Thread.Sleep(4000); driver.FindElement(By.Id("txtPIN")).SendKeys(parcelNumber); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "IL", "Lake"); try { driver.FindElement(By.XPath("//*[@id='Button2']")).SendKeys(Keys.Enter); Thread.Sleep(3000); } catch { } try { int Max = 0; string strowner = "", strAddress = "", strCity = ""; string Record = ""; IWebElement multiaddress; gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Result", driver, "IL", "Lake"); multiaddress = driver.FindElement(By.Id("Table2")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count >= 1 && multiRow.Count <= 25 && multi.Text.Trim() != "") { strAddress = multiTD[0].Text.Trim(); parcelNumber = GlobalClass.After(strAddress, "=").Trim(); PropertyAdd = GlobalClass.Before(strAddress, "=").Trim(); string multidetails = PropertyAdd; gc.insert_date(orderNumber, parcelNumber, 1861, multidetails, 1, DateTime.Now); Max++; } if (multiTD.Count != 0 && multiRow.Count > 25) { HttpContext.Current.Session["multiparcel_LakeIL_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (Max > 1 && Max < 26) { HttpContext.Current.Session["multiparcel_LakeIL"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 0) { HttpContext.Current.Session["Zero_LakeIL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } //property details string streetAddress = "", City = "", Zipcode = "", LandAmount = ""; string BuildingAmount = "", TotalAmount = "", Township = "", AssessDate = "", ClassDesc = "", YearBuilt = ""; string bulkdata = driver.FindElement(By.XPath("//*[@id='PropertyCharacteristics1_tblPropertyAddress']/tbody")).Text; parcelNumber = gc.Between(bulkdata, "Pin", "Street Address").Replace(":", "").Replace("-", "").Trim(); streetAddress = gc.Between(bulkdata, "Street Address", "City").Replace(":", "").Trim(); City = gc.Between(bulkdata, "City", "Zip Code").Replace(":", "").Trim(); Zipcode = gc.Between(bulkdata, "Zip Code", "Land Amount").Replace(":", "").Trim(); LandAmount = gc.Between(bulkdata, "Land Amount", "Building Amount").Replace(":", "").Trim(); BuildingAmount = gc.Between(bulkdata, "Building Amount", "Total Amount").Replace(":", "").Trim(); TotalAmount = gc.Between(bulkdata, "Total Amount", "Township").Replace(":", "").Trim(); Township = gc.Between(bulkdata, "Township", "Assessment Date").Replace(":", "").Trim(); AssessDate = GlobalClass.After(bulkdata, "Assessment Date").Replace(":", "").Trim(); ClassDesc = driver.FindElement(By.XPath("//*[@id='PropertyCharacteristics1_lblClassDescription']")).Text; try { YearBuilt = driver.FindElement(By.Id("PropertyCharacteristics1_lblEffectiveAge")).Text; } catch { } string propertydetails = streetAddress + "~" + City + "~" + Zipcode + "~" + LandAmount + "~" + BuildingAmount + "~" + TotalAmount + "~" + Township + "~" + AssessDate + "~" + ClassDesc + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 1793, propertydetails, 1, DateTime.Now); gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "IL", "Lake"); // Tax Information Details string taxAuth = "", taxauth1 = "", taxauth2 = ""; try { driver.Navigate().GoToUrl("http://www.lakecountyil.gov/508/Current-Payment-Status"); taxAuth = driver.FindElement(By.XPath("//*[@id='divInfoAdvae35de24-85e5-460b-b9ce-18eda922e6cb']/div[1]/div/div/ol/li/span")).Text.Replace("Contact Us", "").Replace("Lake County, IL", "").Replace("Parking and Directions", "").Trim(); gc.CreatePdf(orderNumber, parcelNumber, "Tax Authority", driver, "IL", "Lake"); } catch { } driver.Navigate().GoToUrl("https://apps03.lakecountyil.gov/treasurer/collbook/collbook2.asp"); Thread.Sleep(5000); driver.FindElement(By.XPath("//*[@id='table53']/tbody/tr[3]/td/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Tax Search", driver, "IL", "Lake"); driver.FindElement(By.XPath("//*[@id='table53']/tbody/tr[5]/td/input")).Click(); Thread.Sleep(4000); try { driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Tax Search Result", driver, "IL", "Lake"); int taxyear = 0; string tax_year = "", tax_year1 = ""; tax_year = driver.FindElement(By.Id("DTLNavigator_ddTaxYear")).Text; tax_year1 = GlobalClass.Before(tax_year, "\r\n").Trim(); int Taxmonth = DateTime.Now.Month; if (Taxmonth >= 9) { taxyear = Convert.ToInt32(tax_year1); } else { taxyear = Convert.ToInt32(tax_year1) - 1; } string PropertyLocation = "", PropertyLocation2 = "", TaxYear = "", TaxCode = "", Acres = "", LegalDesc1 = "", LegalDesc2 = "", LegalDesc3 = "", LegalDesc = ""; PropertyLocation = driver.FindElement(By.XPath("//*[@id='datalet_header_row']/td/table/tbody/tr[4]/td[2]")).Text; TaxYear = driver.FindElement(By.XPath("//*[@id='datalet_header_row']/td/table/tbody/tr[5]/td[1]")).Text; TaxYear = gc.Between(TaxYear, "Tax Year", "Taxes").Replace(":", "").Replace("(", "").Trim(); try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[1]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Acre - Info", driver, "IL", "Lake"); Acres = driver.FindElement(By.XPath("//*[@id='Parcel']/tbody/tr[15]/td[2]")).Text; } catch { } try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[2]/a/span")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Legal Information", driver, "IL", "Lake"); TaxCode = driver.FindElement(By.XPath("//*[@id='Legal Description']/tbody/tr[9]/td[2]")).Text; LegalDesc1 = driver.FindElement(By.XPath("//*[@id='Legal Description']/tbody/tr[4]/td[2]")).Text.Trim(); LegalDesc2 = driver.FindElement(By.XPath("//*[@id='Legal Description']/tbody/tr[5]/td[2]")).Text.Trim(); LegalDesc3 = driver.FindElement(By.XPath("//*[@id='Legal Description']/tbody/tr[6]/td[2]")).Text.Trim(); LegalDesc = LegalDesc1 + " " + LegalDesc2 + " " + LegalDesc3; LegalDesc = LegalDesc.Trim(); } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Tax Bill" + TaxYear, driver, "IL", "Lake"); try { string TaxInfodetails = PropertyLocation + "~" + TaxYear + "~" + TaxCode + "~" + Acres + "~" + LegalDesc + "~" + taxAuth; gc.insert_date(orderNumber, parcelNumber, 1800, TaxInfodetails, 1, DateTime.Now); } catch { } try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[5]/a/span")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Summary" + TaxYear, driver, "IL", "Lake"); } catch { } // Taxing Body Details try { IWebElement TaxBody = driver.FindElement(By.XPath("//*[@id='Property Tax by Entity']/tbody")); IList <IWebElement> TRTaxBody = TaxBody.FindElements(By.TagName("tr")); IList <IWebElement> THTaxBody = TaxBody.FindElements(By.TagName("th")); IList <IWebElement> TDTaxBody; foreach (IWebElement row in TRTaxBody) { TDTaxBody = row.FindElements(By.TagName("td")); if (TDTaxBody.Count != 0 && !row.Text.Contains("Entities") && row.Text.Trim() != "") { string TaxBodydetails = TDTaxBody[0].Text + "~" + TDTaxBody[1].Text + "~" + TDTaxBody[2].Text; gc.insert_date(orderNumber, parcelNumber, 1801, TaxBodydetails, 1, DateTime.Now); } } } catch { } // Tax Status try { string value = "", taxyear1 = "", valuetype = ""; IWebElement Assessmentdetails = driver.FindElement(By.XPath("//*[@id='Tax Status']/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 (THAssessmentdetails.Count != 0 && row.Text.Contains("Value Type")) { valuetype += THAssessmentdetails[0].Text + "~"; value += THAssessmentdetails[1].Text.Replace("Tax Year", "").Replace("\r\n", "") + "~"; } if (TDAssessmentdetails.Count != 0 && !row.Text.Contains("Value Type") && row.Text.Trim() != "") { valuetype += TDAssessmentdetails[0].Text.Replace(":", "") + "~"; value += TDAssessmentdetails[1].Text + "~"; } } DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + valuetype.Remove(valuetype.Length - 1, 1) + "' where Id = '" + 1802 + "'"); gc.insert_date(orderNumber, parcelNumber, 1802, value.Remove(value.Length - 1, 1), 1, DateTime.Now); } catch (Exception ex) { } try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[7]/a/span")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Payment History", driver, "IL", "Lake"); } catch { } // Tax Payment Details try { IWebElement Taxpayment = driver.FindElement(By.XPath("//*[@id='Payments']/tbody")); IList <IWebElement> TRTaxpayment = Taxpayment.FindElements(By.TagName("tr")); IList <IWebElement> THTaxpayment = Taxpayment.FindElements(By.TagName("th")); IList <IWebElement> TDTaxpayment; foreach (IWebElement row in TRTaxpayment) { TDTaxpayment = row.FindElements(By.TagName("td")); if (TDTaxpayment.Count != 0 && !row.Text.Contains("Recept") && row.Text.Trim() != "") { string TaxpaymentHistory = TDTaxpayment[0].Text + "~" + TDTaxpayment[1].Text + "~" + TDTaxpayment[2].Text + "~" + TDTaxpayment[3].Text + "~" + TDTaxpayment[4].Text + "~" + TDTaxpayment[5].Text + "~" + TDTaxpayment[6].Text + "~" + TDTaxpayment[7].Text + "~" + TDTaxpayment[8].Text + "~" + TDTaxpayment[9].Text; gc.insert_date(orderNumber, parcelNumber, 1814, TaxpaymentHistory, 1, DateTime.Now); } } } catch { } // Tax Redemption try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[8]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Tax sale or Redemption", driver, "IL", "Lake"); } catch { } // Tax Sale/Redemption Receipts try { IWebElement Taxsale = driver.FindElement(By.XPath("//*[@id='frmMain']/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody")); IList <IWebElement> TRTaxsale = Taxsale.FindElements(By.TagName("tr")); IList <IWebElement> THTaxsale = Taxsale.FindElements(By.TagName("th")); IList <IWebElement> TDTaxsale; foreach (IWebElement row in TRTaxsale) { TDTaxsale = row.FindElements(By.TagName("td")); if (TDTaxsale.Count != 0 && !row.Text.Contains("Sale or Redemption") && !row.Text.Contains("No Data") && row.Text.Trim() != "") { string TaxSaledetails = TDTaxsale[0].Text + "~" + TDTaxsale[1].Text + "~" + TDTaxsale[2].Text + "~" + TDTaxsale[3].Text + "~" + TDTaxsale[4].Text + "~" + TDTaxsale[5].Text; gc.insert_date(orderNumber, parcelNumber, 1848, TaxSaledetails, 1, DateTime.Now); } if (TDTaxsale.Count != 0 && !row.Text.Contains("Sale or Redemption") && row.Text.Contains("No Data") && row.Text.Trim() != "") { string TaxSaledetails = TDTaxsale[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcelNumber, 1848, TaxSaledetails, 1, DateTime.Now); } } } catch { } // Tax Adjustment try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[9]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Adjustment", driver, "IL", "Lake"); } catch { } // Tax Adjustment try { IWebElement TaxAdjust = driver.FindElement(By.XPath("//*[@id='frmMain']/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody")); IList <IWebElement> TRTaxAdjust = TaxAdjust.FindElements(By.TagName("tr")); IList <IWebElement> THTaxAdjust = TaxAdjust.FindElements(By.TagName("th")); IList <IWebElement> TDTaxAdjust; foreach (IWebElement row in TRTaxAdjust) { TDTaxAdjust = row.FindElements(By.TagName("td")); if (TDTaxAdjust.Count != 0 && !row.Text.Contains("Sale or Redemption") && row.Text.Trim() != "" && !row.Text.Contains("No Data")) { string TaxAdjustmentdetails = TDTaxAdjust[0].Text + "~" + TDTaxAdjust[1].Text + "~" + TDTaxAdjust[2].Text + "~" + TDTaxAdjust[3].Text + "~" + TDTaxAdjust[4].Text + "~" + TDTaxAdjust[5].Text; gc.insert_date(orderNumber, parcelNumber, 1865, TaxAdjustmentdetails, 1, DateTime.Now); } if (TDTaxAdjust.Count != 0 && !row.Text.Contains("Sale or Redemption") && row.Text.Trim() != "" && row.Text.Contains("No Data")) { string TaxAdjustmentdetails = TDTaxAdjust[0].Text; gc.insert_date(orderNumber, parcelNumber, 1865, TaxAdjustmentdetails, 1, DateTime.Now); } } } catch { } // Tax Value History try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[13]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Value History", driver, "IL", "Lake"); } catch { } try { IWebElement valuehistory = driver.FindElement(By.XPath("//*[@id='Values History']/tbody")); IList <IWebElement> TRvaluehistory = valuehistory.FindElements(By.TagName("tr")); IList <IWebElement> THvaluehistory = valuehistory.FindElements(By.TagName("th")); IList <IWebElement> TDvaluehistory; foreach (IWebElement row in TRvaluehistory) { TDvaluehistory = row.FindElements(By.TagName("td")); if (TDvaluehistory.Count != 0 && !row.Text.Contains("Land MV") && row.Text.Trim() != "") { string ValueHistorydetails = TDvaluehistory[0].Text + "~" + TDvaluehistory[1].Text + "~" + TDvaluehistory[2].Text + "~" + TDvaluehistory[3].Text + "~" + TDvaluehistory[4].Text + "~" + TDvaluehistory[5].Text + "~" + TDvaluehistory[6].Text + "~" + TDvaluehistory[7].Text + "~" + TDvaluehistory[8].Text + "~" + TDvaluehistory[9].Text; gc.insert_date(orderNumber, parcelNumber, 1866, ValueHistorydetails, 1, DateTime.Now); } } } catch { } // Tax Excemptions Current try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[19]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Excemptions Current", driver, "IL", "Lake"); } catch { } string Excemptioncurrent = "", Asmtyear = "", Payyear = "", Excemptiontype = "", status = "", Receiptdate = ""; try { Excemptioncurrent = driver.FindElement(By.XPath("//*[@id='Exemptions']/tbody")).Text; Asmtyear = gc.Between(Excemptioncurrent, "Asmt Year", "Pay Year").Replace(":", "").Trim(); Payyear = gc.Between(Excemptioncurrent, "Pay Year", "Exemption Type").Replace(":", "").Trim(); Excemptiontype = gc.Between(Excemptioncurrent, "Exemption Type", "Status").Replace(":", "").Trim(); status = gc.Between(Excemptioncurrent, "Status", "Application/Renewal Receipt Date").Replace(":", "").Trim(); Receiptdate = gc.Between(Excemptioncurrent, "Application/Renewal Receipt Date", "SmartFile Filing ID").Replace(":", "").Trim(); string TaxExcemptionCurrent = Asmtyear + "~" + Payyear + "~" + Excemptiontype + "~" + status + "~" + Receiptdate; gc.insert_date(orderNumber, parcelNumber, 1867, TaxExcemptionCurrent, 1, DateTime.Now); } catch { } // Tax Excemptions History try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[20]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Excemptions History", driver, "IL", "Lake"); } catch { } try { IWebElement Excemptionhistory = driver.FindElement(By.XPath("//*[@id='Exemption History']/tbody")); IList <IWebElement> TRExcemptionhistory = Excemptionhistory.FindElements(By.TagName("tr")); IList <IWebElement> THExcemptionhistory = Excemptionhistory.FindElements(By.TagName("th")); IList <IWebElement> TDExcemptionhistory; foreach (IWebElement row in TRExcemptionhistory) { TDExcemptionhistory = row.FindElements(By.TagName("td")); if (TDExcemptionhistory.Count != 0 && !row.Text.Contains("Tax Year") && row.Text.Trim() != "") { string ValueHistorydetails = TDExcemptionhistory[0].Text + "~" + TDExcemptionhistory[1].Text + "~" + TDExcemptionhistory[2].Text + "~" + TDExcemptionhistory[3].Text + "~" + TDExcemptionhistory[4].Text + "~" + TDExcemptionhistory[5].Text + "~" + TDExcemptionhistory[6].Text + "~" + TDExcemptionhistory[7].Text + "~" + TDExcemptionhistory[8].Text + "~" + TDExcemptionhistory[9].Text; gc.insert_date(orderNumber, parcelNumber, 1868, ValueHistorydetails, 1, DateTime.Now); } } } catch { } // Land Information try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[22]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Land Information", driver, "IL", "Lake"); } catch { } try { IWebElement landsummary = driver.FindElement(By.XPath("//*[@id='Land Summary']/tbody")); IList <IWebElement> TRlandsummary = landsummary.FindElements(By.TagName("tr")); IList <IWebElement> THlandsummary = landsummary.FindElements(By.TagName("th")); IList <IWebElement> TDlandsummary; foreach (IWebElement row in TRlandsummary) { TDlandsummary = row.FindElements(By.TagName("td")); if (TDlandsummary.Count != 0 && !row.Text.Contains("Land Description") && row.Text.Trim() != "") { string LandInfodetails = TDlandsummary[0].Text + "~" + TDlandsummary[1].Text + "~" + TDlandsummary[2].Text + "~" + TDlandsummary[3].Text + "~" + TDlandsummary[4].Text + "~" + TDlandsummary[5].Text + "~" + TDlandsummary[6].Text + "~" + TDlandsummary[7].Text + "~" + TDlandsummary[8].Text + "~" + TDlandsummary[9].Text; gc.insert_date(orderNumber, parcelNumber, 1869, LandInfodetails, 1, DateTime.Now); } } } catch { } // Permits string permittitle = "", permitvalue = ""; try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[24]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Permits", driver, "IL", "Lake"); } catch { } try { IWebElement Permitsdetails = driver.FindElement(By.XPath("//*[@id='Permit Details']/tbody")); IList <IWebElement> TRPermitsdetails = Permitsdetails.FindElements(By.TagName("tr")); IList <IWebElement> THPermitsdetails = Permitsdetails.FindElements(By.TagName("th")); IList <IWebElement> TDPermitsdetails; foreach (IWebElement row in TRPermitsdetails) { TDPermitsdetails = row.FindElements(By.TagName("td")); if (THPermitsdetails.Count != 0 && row.Text.Trim() != "") { permittitle += THPermitsdetails[0].Text + "~"; permitvalue += THPermitsdetails[1].Text.Replace("Tax Year", "").Replace("\r\n", "") + "~"; } if (TDPermitsdetails.Count != 0 && row.Text.Trim() != "") { permittitle += TDPermitsdetails[0].Text.Replace(":", "") + "~"; permitvalue += TDPermitsdetails[1].Text + "~"; } } DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + permittitle.Remove(permittitle.Length - 1, 1) + "' where Id = '" + 1870 + "'"); gc.insert_date(orderNumber, parcelNumber, 1870, permitvalue.Remove(permitvalue.Length - 1, 1), 1, DateTime.Now); } catch { } try { IWebElement Permits = driver.FindElement(By.XPath("//*[@id='frmMain']/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody")); IList <IWebElement> TRPermits = Permits.FindElements(By.TagName("tr")); IList <IWebElement> THPermits = Permits.FindElements(By.TagName("th")); IList <IWebElement> TDPermits; foreach (IWebElement row in TRPermits) { TDPermits = row.FindElements(By.TagName("td")); if (TDPermits.Count != 0 && !row.Text.Contains("Land Description") && row.Text.Contains("No Data") && row.Text.Trim() != "") { string LandInfodetails = TDPermits[0].Text; gc.insert_date(orderNumber, parcelNumber, 1870, LandInfodetails, 1, DateTime.Now); } } } catch { } // Property Transfer History try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[27]/a/span")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Property Transfer History", driver, "IL", "Lake"); } catch { } try { IWebElement ProHistory = driver.FindElement(By.XPath("//*[@id='Sales']/tbody")); IList <IWebElement> TRProHistory = ProHistory.FindElements(By.TagName("tr")); IList <IWebElement> THProHistory = ProHistory.FindElements(By.TagName("th")); IList <IWebElement> TDProHistory; foreach (IWebElement row in TRProHistory) { TDProHistory = row.FindElements(By.TagName("td")); if (TDProHistory.Count != 0 && !row.Text.Contains("Sale Date") && row.Text.Trim() != "") { string LandInfodetails = TDProHistory[0].Text + "~" + TDProHistory[1].Text + "~" + TDProHistory[2].Text + "~" + TDProHistory[3].Text + "~" + TDProHistory[4].Text + "~" + TDProHistory[5].Text; gc.insert_date(orderNumber, parcelNumber, 1871, LandInfodetails, 1, DateTime.Now); } } } catch { } for (int i = 0; i < 3; i++) { try { string Tyear = driver.FindElement(By.XPath("//*[@id='DTLNavigator_ddTaxYear']")).Text; IWebElement Iyear = driver.FindElement(By.Id("DTLNavigator_ddTaxYear")); SelectElement Iyer = new SelectElement(Iyear); Iyer.SelectByValue(taxyear.ToString()); Thread.Sleep(4000); } catch { } // Taxes Due Details try { driver.FindElement(By.XPath("//*[@id='sidemenu']/li[6]/a/span")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax Due" + taxyear, driver, "IL", "Lake"); } catch { } try { IWebElement TaxBill = driver.FindElement(By.XPath("//*[@id='Taxes Due Treasurer']/tbody")); IList <IWebElement> TRTaxBill = TaxBill.FindElements(By.TagName("tr")); IList <IWebElement> THTaxBill = TaxBill.FindElements(By.TagName("th")); IList <IWebElement> TDTaxBill; foreach (IWebElement row in TRTaxBill) { TDTaxBill = row.FindElements(By.TagName("td")); if (TDTaxBill.Count != 0 && !row.Text.Contains("Tax Year") && row.Text.Trim() != "") { string TaxDueDetails = TDTaxBill[0].Text + "~" + TDTaxBill[1].Text + "~" + TDTaxBill[2].Text + "~" + TDTaxBill[3].Text + "~" + TDTaxBill[4].Text + "~" + TDTaxBill[5].Text + "~" + TDTaxBill[6].Text + "~" + TDTaxBill[7].Text + "~" + TDTaxBill[8].Text; gc.insert_date(orderNumber, parcelNumber, 1873, TaxDueDetails, 1, DateTime.Now); } } } catch { } taxyear--; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "IL", "Lake", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "IL", "Lake"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Eldarado(string Address, string account, string parcelNumber, string ownername, string searchType, string orderno, string directParcel) { GlobalClass.global_orderNo = orderno; HttpContext.Current.Session["orderNo"] = orderno; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { int multicount = 0; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string multiparcel = "", MapTaxLot = "", SitusAddress = "", LegalDescription = ""; IWebElement PropertyValidation; string[] stringSeparators1 = new string[] { "\r\n" }; List <string> listurl = new List <string>(); List <string> Columnurl = new List <string>(); string Date = ""; Date = DateTime.Now.ToString("M/d/yyyy"); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); //if (searchType == "titleflex") //{ // gc.TitleFlexSearch(orderno, parcelNumber, ownername, Address, "CA", "El Dorado"); // parcelNumber = GlobalClass.global_parcelNo; // if (GlobalClass.TitleFlex_Search == "Yes") // { // driver.Quit(); // return "MultiParcel"; // } // searchType = "parcel"; //} if (searchType == "address") { driver.Navigate().GoToUrl("https://common3.mptsweb.com/MBC/eldorado/tax/search"); IWebElement PropertyInformation = driver.FindElement(By.Id("SearchVal")); SelectElement PropertyInformationSelect = new SelectElement(PropertyInformation); PropertyInformationSelect.SelectByValue("situs"); driver.FindElement(By.Id("SearchValue")).SendKeys(Address); driver.FindElement(By.Id("SearchSubmit")).Click(); Thread.Sleep(2000); IWebElement Addresstax = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div")); string Firststep = ""; int Max = 0; try { IWebElement PropertyIteamTable = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div/div")); IList <IWebElement> PropertyIeamRow = PropertyIteamTable.FindElements(By.TagName("p")); foreach (IWebElement Property in PropertyIeamRow) { if (PropertyIeamRow.Count != 0 & !Property.Text.Contains("View Details")) { string Parcelnumber = GlobalClass.After(Property.Text, "Fee Parcel :").Trim(); string[] splitparcel = Parcelnumber.Split('-'); string split3 = splitparcel[2].Substring(1, 2); parcelNumber = splitparcel[0] + splitparcel[1] + split3; string Addressta = gc.Between(Property.Text, "Address :", "Year :"); string Yearpar = gc.Between(Property.Text, "Year :", "TRA :"); string roallcast = gc.Between(Property.Text, "Roll Cat. :", "Fee Parcel :"); string Multiresult = "~" + Addressta + "~" + Yearpar + "~" + roallcast; gc.insert_date(orderno, Parcelnumber, 360, Multiresult, 1, DateTime.Now); Max++; } } if (Max == 1) { searchType = "parcel"; } if (Max > 1 & Max < 26) { HttpContext.Current.Session["multiParcel_CAEldorado"] = "Yes"; gc.CreatePdf_WOP(orderno, "MultyAddressSearch", driver, "CA", "El Dorado"); driver.Quit(); return("MultiParcel"); } if (Max > 25) { HttpContext.Current.Session["multiParcel_CAEldorado_Count"] = "Maximum"; gc.CreatePdf_WOP(orderno, "MultyAddressSearch", driver, "CA", "El Dorado"); driver.Quit(); return("Maximum"); } } catch { } try { IWebElement INodata = driver.FindElement(By.Id("ResultDiv")); if (INodata.Text.Contains("no matching records were found")) { HttpContext.Current.Session["Nodata_CAEldorado"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://main.edcgov.us/CGI/WWB012/WWM400/A"); Thread.Sleep(3000); var SerachCategory = driver.FindElement(By.XPath("//*[@id='T']")); var selectElement1 = new SelectElement(SerachCategory); selectElement1.SelectByText("Secured Parcel Number (999-999-99)"); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='K']")).SendKeys(parcelNumber.Trim()); gc.CreatePdf(orderno, parcelNumber, "Account Number Search", driver, "CA", "El Dorado"); Thread.Sleep(1000); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/span/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderno, parcelNumber, "Parcel Search", driver, "CA", "El Dorado"); } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://main.edcgov.us/CGI/WWB012/WWM400/A"); Thread.Sleep(3000); var SerachCategory = driver.FindElement(By.XPath("//*[@id='T']")); var selectElement1 = new SelectElement(SerachCategory); selectElement1.SelectByText("Owner's Name (Last First) or (Company)"); Thread.Sleep(3000); gc.CreatePdf_WOP(orderno, "ownerNameSearch", driver, "CA", "El Dorado"); driver.FindElement(By.XPath("//*[@id='K']")).SendKeys(ownername.Trim()); Thread.Sleep(1000); try { IWebElement ImultiCount = driver.FindElement(By.XPath("//*[@id='Q']")); SelectElement selectCount = new SelectElement(ImultiCount); selectCount.SelectByText("50"); } catch { } driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/span/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { string strmultiCount = driver.FindElement(By.XPath("/html/body/p[2]")).Text; string strMcount = gc.Between(strmultiCount, "Record Count = ", " of"); if (Convert.ToInt32(strMcount) > 25) { HttpContext.Current.Session["multiParcel_CAEldorado_Count"] = "Maximum"; return("Maximum"); } } catch { } gc.CreatePdf_WOP(orderno, "ownerNameSearchResult", driver, "CA", "El Dorado"); IWebElement MuliparcTB = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody")); IList <IWebElement> MuliparcTR = MuliparcTB.FindElements(By.TagName("tr")); if (MuliparcTR.Count() > 2) { IList <IWebElement> MuliparcTD; foreach (IWebElement row1 in MuliparcTR) { MuliparcTD = row1.FindElements(By.TagName("td")); if (MuliparcTD.Count != 0 && multicount < 25) { parcelNumber = MuliparcTD[1].Text; ownername = MuliparcTD[2].Text; string Multipar = ownername + "~" + "~" + "~"; gc.insert_date(orderno, parcelNumber, 360, Multipar, 1, DateTime.Now); HttpContext.Current.Session["multiParcel_CAEldorado"] = "Yes"; multicount++; } } driver.Quit(); return("MultiParcel"); } //gc.CreatePdf(orderno, parcelNumber, "Account Number Search Result", driver, "OR", "Marion"); } else if (searchType == "block") { driver.Navigate().GoToUrl("http://main.edcgov.us/CGI/WWB012/WWM400/A"); Thread.Sleep(3000); var SerachCategory = driver.FindElement(By.XPath("//*[@id='T']")); var selectElement1 = new SelectElement(SerachCategory); selectElement1.SelectByText("Owner's Name (Last First) or (Company)"); Thread.Sleep(3000); gc.CreatePdf_WOP(orderno, "Account Number Search", driver, "CA", "El Dorado"); driver.FindElement(By.XPath("//*[@id='K']")).SendKeys(ownername.Trim()); Thread.Sleep(1000); try { IWebElement ImultiCount = driver.FindElement(By.XPath("//*[@id='Q']")); SelectElement selectCount = new SelectElement(ImultiCount); selectCount.SelectByText("50"); } catch { } driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/span/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { string strmultiCount = driver.FindElement(By.XPath("/html/body/p[2]")).Text; string strMcount = gc.Between(strmultiCount, "Record Count = ", " of"); if (Convert.ToInt32(strMcount) > 25) { HttpContext.Current.Session["multiParcel_CAEldorado_Count"] = "Maximum"; return("Maximum"); } } catch { } gc.CreatePdf_WOP(orderno, "Account Number Search Result", driver, "CA", "El Dorado"); IWebElement MuliparcTB = driver.FindElement(By.XPath("/[@id='idWWM983']/tbody")); IList <IWebElement> MuliparcTR = MuliparcTB.FindElements(By.TagName("tr")); if (MuliparcTR.Count() > 2) { IList <IWebElement> MuliparcTD; foreach (IWebElement row1 in MuliparcTR) { MuliparcTD = row1.FindElements(By.TagName("td")); if (MuliparcTD.Count != 0 && multicount < 25) { parcelNumber = MuliparcTD[1].Text; ownername = MuliparcTD[2].Text; string Multipar = ownername; gc.insert_date(orderno, parcelNumber, 360, Multipar, 1, DateTime.Now); HttpContext.Current.Session["multiParcel_CAEldorado"] = "Yes"; multicount++; } } driver.Quit(); return("MultiParcel"); } } try { IWebElement INodata = driver.FindElement(By.XPath("/html/body/p[2]")); if (INodata.Text.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_CAEldorado"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } // assessment details string YearBuilt = "", Abstractcode = "", Reference = "", SubdivisionTractNumber = "", SubdivisionTractName = "", TaxRateArea = "", City = "", BulData = ""; Reference = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[2]/td[3]/span")).Text.Trim(); string chkpa1 = ""; string chkpa = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[2]/td[2]/a")).Text; try { chkpa1 = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[3]/td[2]/a")).Text; } catch { } driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[2]/td[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(1000); gc.CreatePdf(orderno, parcelNumber, "Assessment Details", driver, "CA", "El Dorado"); parcelNumber = driver.FindElement(By.XPath("//*[@id='Top']")).Text.Replace("Parcel Number ", "").Trim(); IWebElement YearB = driver.FindElement(By.XPath("/html/body/table[8]/tbody")); IList <IWebElement> YearTR = YearB.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement row1 in YearTR) { YearTD = row1.FindElements(By.TagName("td")); if (row1.Text.Contains("Year Built")) { if (YearTD.Count != 0) { YearBuilt = YearTD[1].Text; } } } try { YearB = driver.FindElement(By.XPath("/html/body/table[9]/tbody")); YearTR = YearB.FindElements(By.TagName("tr")); foreach (IWebElement row1 in YearTR) { YearTD = row1.FindElements(By.TagName("td")); if (row1.Text.Contains("Year Built")) { if (YearTD.Count != 0) { YearBuilt = YearTD[1].Text; } } } } catch { } string OW1 = "", Ow2 = "", Ow3 = ""; OW1 = driver.FindElement(By.XPath("/html/body")).Text; ownername = gc.Between(OW1, "Current Property Owners\r\n", "\r\nProperty Description Values Event List Characteristics Background Top of Page").Trim(); ownername = ownername.Replace("\r\n", ""); BulData = driver.FindElement(By.XPath("//*[@id='PROPDESC']")).Text; Reference = gc.Between(BulData, "Reference:", "For Zoning,").Trim(); try { Abstractcode = gc.Between(BulData, "Abstract code:", "Reference:").Trim(); } catch { } if (Abstractcode.Contains("G.I.S. Map")) { Abstractcode = ""; } //Reference = WebDriverTest.After(BulData, "Reference:").Trim(); //var FRefSplit = Reference.Split('('); //Reference = FRefSplit[0]; try { SubdivisionTractNumber = gc.Between(BulData, "Subdivision Tract Number:", "Subdivision Tract Name:").Trim(); SubdivisionTractName = gc.Between(BulData, "Subdivision Tract Name: ", "Subdivision map").Trim(); } catch { } if (SubdivisionTractName == "") { try { SubdivisionTractName = gc.Between(BulData, "Subdivision Tract Name: ", "Timeshare Interval Id:").Trim(); } catch { } } TaxRateArea = WebDriverTest.After(BulData, "Tax Rate Area:").Trim(); var Citysplit = TaxRateArea.Split(' '); TaxRateArea = Citysplit[0]; City = WebDriverTest.After(BulData, Citysplit[0]).Trim(); string ProperTyDetail = ownername + "~" + Abstractcode + "~" + Reference + "~" + SubdivisionTractNumber + "~" + SubdivisionTractName + "~" + TaxRateArea + "~" + City + "~" + YearBuilt; gc.insert_date(orderno, parcelNumber, 260, ProperTyDetail, 1, DateTime.Now); string Column = ""; string TaxablePropertyValues20172018 = "", Land = "", LandTotal = "", ImprovementStructures = "", ImprovementTotal = "", TotalRoll = "", NetRoll = ""; string LandProp8 = "", ImporevePro8 = "", Exemption = ""; TaxablePropertyValues20172018 = driver.FindElement(By.XPath("/html/body/table[4]/caption")).Text.Trim().Replace("\r\n", " "); IWebElement MultiAssessTB = driver.FindElement(By.XPath("/html/body/table[4]/tbody")); IList <IWebElement> MultiAssessTR = MultiAssessTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAssessTD; foreach (IWebElement row1 in MultiAssessTR) { MultiAssessTD = row1.FindElements(By.TagName("td")); if (MultiAssessTD.Count != 0) { Column = MultiAssessTD[0].Text + "~" + Column; Land = MultiAssessTD[1].Text + "~" + Land; } } Column = Column + "dsds"; Land = Land + "dsds"; Column = Column.Replace("~dsds", ""); Land = Land.Replace("~dsds", ""); //if (listurl.Count == 4) //{ // Land = listurl[0]; // LandTotal = listurl[1]; // // ImprovementStructures = listurl[2]; // // ImprovementTotal = listurl[3]; // TotalRoll = listurl[2]; // NetRoll = listurl[3]; //} //else //{ // Land = listurl[0]; // LandTotal = listurl[1]; // ImprovementStructures = listurl[2]; // ImprovementTotal = listurl[3]; // TotalRoll = listurl[4]; // NetRoll = listurl[5]; //} DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Column + "' where Id = '" + 261 + "'"); string Assessment = Land; gc.insert_date(orderno, parcelNumber, 261, Assessment, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://taxcollector.edcgov.us/GetAPN.aspx"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='btnawoc']")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[2]/td[1]/a/img")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='txtAPN']")).SendKeys(parcelNumber); gc.CreatePdf(orderno, parcelNumber, "Input Passed Tax Search", driver, "CA", "El Dorado"); Thread.Sleep(1000); //Tax bill download.... IWebElement SelectOption = driver.FindElement(By.Id("ddList")); IList <IWebElement> Select = SelectOption.FindElements(By.TagName("option")); List <string> option = new List <string>(); int Check = 0; foreach (IWebElement Op in Select) { if (Check <= 2) { option.Add(Op.Text); } Check++; } //load chrome driver... //IWebDriver chDriver = new ChromeDriver(); 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"); var chDriver = new ChromeDriver(chromeOptions); try { chDriver.Navigate().GoToUrl("https://taxcollector.edcgov.us/GetAPN.aspx"); chDriver.FindElement(By.XPath("//*[@id='btnawoc']")).Click(); chDriver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[2]/td[1]/a/img")).Click(); chDriver.FindElement(By.XPath("//*[@id='txtAPN']")).SendKeys(parcelNumber); foreach (string item in option) { var SelectAddress = chDriver.FindElement(By.Id("ddList")); var SelectAddressTax = new SelectElement(SelectAddress); SelectAddressTax.SelectByText(item); chDriver.FindElement(By.XPath("//*[@id='btnView']")).Click(); Thread.Sleep(9000); string yr = GlobalClass.Before(item, "-"); string fileName = "EDC_TaxBill_Copy_for_Secured_APN_" + parcelNumber + "_Year_" + yr + ".pdf"; gc.AutoDownloadFile(orderno, parcelNumber, "El Dorado", "CA", fileName); } chDriver.Quit(); } catch (Exception ex) { chDriver.Quit(); GlobalClass.LogError(ex, orderno); } driver.FindElement(By.XPath("//*[@id='btnSecSum']")).SendKeys(Keys.Enter); Thread.Sleep(1000); gc.CreatePdf(orderno, parcelNumber, "Tax History Detail", driver, "CA", "El Dorado"); string Description = "", TaxAuthority = "360 Fair Lane, Placerville, CA 95667 (530) 621-5800,Fax: (530) 642-8870", Grand_Total_Secured_Taxes_Due = "", Fisrt_Instalment = "", Due = "", Default_Due = "", Year = "", Second_Instalment = "", Default_Bill = "", Total = "", Total_Default_Due = ""; //*[@id="main"]/table[1]/tbody/tr[1]/td/table[4]/tbody string taxsum = ""; try { IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='main']/table[1]/tbody/tr[1]/td/table[4]/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Description")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count == 8) { taxsum = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text + "~" + TDmulti[5].Text + "~" + TDmulti[6].Text; gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); } if (TDmulti.Count == 4) { taxsum = "Totals" + "~" + "" + "~" + "" + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + "" + "~" + ""; gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); } if (TDmulti.Count == 3) { taxsum = "Grand Total Secured Taxes Due" + "~" + "" + "~" + "" + "~" + TDmulti[1].Text + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); } } } } catch { } //IWebElement CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='main']/table[1]/tbody/tr[1]/td/table[4]/tbody")); //IList<IWebElement> CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); //IList<IWebElement> CurrentTaxHistoryTD1; //int rowcount = CurrentTaxHistoryTR1.Count; //int count = 0; //foreach (IWebElement row1 in CurrentTaxHistoryTR1) //{ // CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td")); // if (CurrentTaxHistoryTD1.Count != 0 && row1.Text != "" && !row1.Text.Contains("Current Owner") && !row1.Text.Contains("Description")) // { // if (count < rowcount - 2) // { // //Description~Fisrt_Instalment~Second_Instalment~Due~Default_Due~Year~Default_Bill~Total~Total_Default_Due~Grand_Total_Secured_Taxes_Due // taxsum = CurrentTaxHistoryTD1[0].Text + "~" + CurrentTaxHistoryTD1[1].Text + "~" + CurrentTaxHistoryTD1[2].Text + "~" + CurrentTaxHistoryTD1[3].Text + "~" + CurrentTaxHistoryTD1[4].Text + "~" + CurrentTaxHistoryTD1[5].Text + "~" + CurrentTaxHistoryTD1[6].Text; // gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); // } // if (count == rowcount - 2) // { // taxsum = "Totals" + "~" + "" + "~" + "" + "~" + CurrentTaxHistoryTD1[1].Text + "~" + CurrentTaxHistoryTD1[2].Text + "~" + "" + "~" + ""; // gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); // } // if (count == rowcount - 1) // { // taxsum = "Grand Total Secured Taxes Due" + "~" + "" + "~" + "" + "~" + CurrentTaxHistoryTD1[1].Text + "~" + "" + "~" + "" + "~" + ""; // gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); // } // } // count++; //} try { IWebElement CurrentTaxHistoryTB = driver.FindElement(By.XPath("//*[@id='main']/table[1]/tbody/tr[1]/td/table[4]/tbody")); IList <IWebElement> CurrentTaxHistoryTR = CurrentTaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTaxHistoryTD; IList <IWebElement> CurrentTaxHistoryTA; listurl.Clear(); foreach (IWebElement row1 in CurrentTaxHistoryTR) { CurrentTaxHistoryTD = row1.FindElements(By.TagName("td")); if (CurrentTaxHistoryTD.Count != 0 && CurrentTaxHistoryTD.Count != 2 && CurrentTaxHistoryTD.Count != 1 && CurrentTaxHistoryTD[0].Text.Trim() != "Description") { foreach (IWebElement row in CurrentTaxHistoryTD) { CurrentTaxHistoryTA = row.FindElements(By.TagName("a")); if (CurrentTaxHistoryTA.Count != 0) { listurl.Add(CurrentTaxHistoryTA[0].GetAttribute("href")); } } foreach (string URL in listurl) { gc.downloadfile(URL, orderno, parcelNumber, "Tax_Bill" + Description, "CA", "El Dorado"); } } } } catch { } try { driver.FindElement(By.XPath("//*[@id='MainContent_menus']/table/tbody/tr[2]/td[2]/a/img")).Click(); Thread.Sleep(2000); } catch { } try { gc.CreatePdf(orderno, parcelNumber, "Payment History Detail", driver, "CA", "El Dorado"); string PaymentHistoryforAPN = "", DatePaid = "", Installment = "", Amount = ""; PaymentHistoryforAPN = driver.FindElement(By.XPath("//*[@id='menus']/table/tbody/tr[2]/td[2]/h2[1]")).Text; var Paysplit = PaymentHistoryforAPN.Split(':'); PaymentHistoryforAPN = Paysplit[1]; IWebElement CurrentPayHistoryTB = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> CurrentPayHistoryTR = CurrentPayHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentPayHistoryTD; foreach (IWebElement row1 in CurrentPayHistoryTR) { CurrentPayHistoryTD = row1.FindElements(By.TagName("td")); if (CurrentPayHistoryTD.Count != 0 && CurrentPayHistoryTD.Count != 1 && CurrentPayHistoryTD[0].Text.Trim() != "Date Paid") { DatePaid = CurrentPayHistoryTD[0].Text; Description = CurrentPayHistoryTD[1].Text; Default_Bill = CurrentPayHistoryTD[2].Text; Installment = CurrentPayHistoryTD[3].Text; Year = CurrentPayHistoryTD[4].Text; Amount = CurrentPayHistoryTD[5].Text; string CurrenttaxHistory = PaymentHistoryforAPN + "~" + DatePaid + "~" + Description + "~" + Default_Bill + "~" + Installment + "~" + Year + "~" + Amount; gc.insert_date(orderno, parcelNumber, 264, CurrenttaxHistory, 1, DateTime.Now); } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderno, "CA", "El Dorado", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderno, "CA", "El Dorado"); //gc.MMREM_Template(orderno,parcelNumber,"",driver,"CA", "El Dorado","95",""); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderno); throw ex; } } }
public string FTP_AndersonSC(string streetno, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string Parcel_number = "", Tax_Authority = "", As_of = "", Total_Due = "", addresshref = ""; //request.UseDefaultCredentials = true; //var driverService = PhantomJSDriverService.CreateDefaultService(); //driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver(); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) { //driver = new PhantomJSDriver(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://www.andersoncountysc.org/elected-officials/auditor/"); //tax Authority Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='fl-accordion-5b294647a77d6-tab-0']/i")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "tax Authority", driver, "SC", "Anderson"); IWebElement tax_authoritytable = driver.FindElement(By.XPath("//*[@id='fl-accordion-5b294647a77d6-panel-0']/p[1]")); string Tax_Authority1 = GlobalClass.Before(tax_authoritytable.Text, "Email").Trim(); IWebElement taxautho = driver.FindElement(By.XPath("//*[@id='fl-accordion-5b294647a77d6-panel-0']/p[2]")); string Tax_Authority2 = GlobalClass.After(taxautho.Text, "p.m.").Trim(); Tax_Authority = Tax_Authority2 + Tax_Authority1; } catch { } try { driver.Navigate().GoToUrl("https://acpass.andersoncountysc.org/real_prop_search.htm"); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "agree", driver, "SC", "Anderson"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[2]/table/tbody/tr[8]/td/div/a/img")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "agree1", driver, "SC", "Anderson"); driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr[3]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "agree2", driver, "SC", "Anderson"); IWebElement agreeclick1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[3]/map/area[1]")); string agreeaclick1 = agreeclick1.GetAttribute("href"); agreeclick1.SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "agree3", driver, "SC", "Anderson"); if (searchType == "titleflex") { //string address = houseno + " " + direction + " " + streetname + " " + streettype; gc.TitleFlexSearch(orderNumber, "", "", streetno.Trim(), "SC", "Anderson"); 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_AndersonSC"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString().Replace("-", ""); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath(" //*[@id='Search']/table/tbody/tr[5]/td[2]/div/font/font/input")).SendKeys(streetno); driver.FindElement(By.Id("Sumbit")).Click(); Thread.Sleep(2000); int a = 0; gc.CreatePdf_WOP(orderNumber, "Address After click", driver, "SC", "Anderson"); IWebElement Addressmultitable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[1]/td/form/table/tbody")); IList <IWebElement> AddressmutiRow = Addressmultitable.FindElements(By.TagName("tr")); IList <IWebElement> Addressmutiid; foreach (IWebElement addressmulti in AddressmutiRow) { Addressmutiid = addressmulti.FindElements(By.TagName("td")); if (Addressmutiid.Count != 0 && !addressmulti.Text.Contains("NAME") && addressmulti.Text.Trim() != "") { if (Addressmutiid[4].Text.Contains(streetno.ToUpper())) { IWebElement onerowaddress = Addressmutiid[1].FindElement(By.TagName("a")); addresshref = onerowaddress.GetAttribute("href"); string Taxmnpnumber = Addressmutiid[2].Text; string Multiaddress = Addressmutiid[1].Text + "~" + Addressmutiid[4].Text; gc.insert_date(orderNumber, Taxmnpnumber, 909, Multiaddress, 1, DateTime.Now); a++; } } } if (a == 1) { driver.Navigate().GoToUrl(addresshref); Thread.Sleep(2000); } if (a > 1 && a < 26) { HttpContext.Current.Session["multiparcel_Anderson"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (a > 25) { HttpContext.Current.Session["multiParcel_Anderson_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='Search']/table/tbody/tr[3]/td[2]/div/font/font/input")).SendKeys(parcelNumber.Replace("-", "").Substring(0, 10)); gc.CreatePdf_WOP(orderNumber, "Address After clickP", driver, "SC", "Anderson"); driver.FindElement(By.Id("Sumbit")).Click(); Thread.Sleep(2000); } if (searchType == "ownername") { int Own = 0; driver.FindElement(By.XPath("//*[@id='Search']/table/tbody/tr[1]/td[2]/div/font/font/input")).SendKeys(ownername); driver.FindElement(By.Id("Sumbit")).Click(); Thread.Sleep(4000); try { gc.CreatePdf_WOP(orderNumber, "Address After clickOWN", driver, "SC", "Anderson"); IWebElement Addressmultitable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[1]/td/form/table/tbody")); IList <IWebElement> AddressmutiRow = Addressmultitable.FindElements(By.TagName("tr")); IList <IWebElement> Addressmutiid; foreach (IWebElement addressmulti in AddressmutiRow) { Addressmutiid = addressmulti.FindElements(By.TagName("td")); if (Addressmutiid.Count != 0 && !addressmulti.Text.Contains("NAME") && addressmulti.Text.Trim() != "") { if (Addressmutiid[1].Text.Contains(ownername)) { clickcheckbox = Addressmutiid[0]; string Taxmnpnumber = Addressmutiid[2].Text; string Multiaddress = Addressmutiid[1].Text + "~" + Addressmutiid[3].Text; gc.insert_date(orderNumber, Taxmnpnumber, 909, Multiaddress, 1, DateTime.Now); Own++; } } } if (Own == 1) { clickcheckbox.Click(); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[1]/td/form/table/tbody/tr[27]/td/div/input[4]")).Click(); Thread.Sleep(2000); } if (Own > 1 && Own < 26) { HttpContext.Current.Session["multiparcel_Anderson"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Own > 25 && AddressmutiRow.Count > 25) { HttpContext.Current.Session["multiParcel_Anderson_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[2]/table")); if (INodata.Text.Contains("Provided was not found")) { HttpContext.Current.Session["Nodata_AndersonSC"] = "Zero"; driver.Quit(); return("No Data Found"); } IWebElement INodata1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]")); IList <IWebElement> INodataRow = INodata1.FindElements(By.TagName("tr")); if (INodataRow.Count <= 1) { HttpContext.Current.Session["Nodata_AndersonSC"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } string Parcel_number1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr/td/table[1]/tbody/tr[5]/td[1]")).Text; Parcel_number = Parcel_number1.Replace("-", ""); IWebElement propertdetailtable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr/td/table[2]/tbody")); string owner_name = gc.Between(propertdetailtable.Text, "Owner\r\nName", " Name "); string cur_address = gc.Between(propertdetailtable.Text, "Address", " Address "); string city_State = gc.Between(propertdetailtable.Text, "State", " City,"); string Zip = gc.Between(propertdetailtable.Text, "Zip", " Zip "); IWebElement propertydetail1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr/td/table[4]/tbody")); string Subdivision = gc.Between(propertydetail1.Text, "Subdivision", "Tax District"); string PhysicalAddress = gc.Between(propertydetail1.Text, "Physical Address", "Market Value"); string TaxDistrict = gc.Between(propertydetail1.Text, "Tax District", "Physical Address"); string MarketValue = gc.Between(propertydetail1.Text, "Market Value", "M/H"); string PriorValue = gc.Between(propertydetail1.Text, "Prior Value", "Tax Value"); string TaxValue = gc.Between(propertydetail1.Text, "Tax Value", "Exempt"); string Exempt = GlobalClass.After(propertydetail1.Text, "Exempt"); IWebElement legaltable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr/td/table[5]/tbody")); string legal1 = gc.Between(legaltable.Text, "Legal Desc 1", "Legal Desc 2"); string legal2 = gc.Between(legaltable.Text, "Legal Desc 2", "Legal Desc 3"); string legal3 = GlobalClass.After(legaltable.Text, "Legal Desc 3"); string Legaldescription = legal1 + legal2 + legal3; gc.CreatePdf(orderNumber, Parcel_number, "Property Search Result", driver, "SC", "Anderson"); string Propertyresult = owner_name + "~" + cur_address + "~" + city_State + "~" + Zip + "~" + Subdivision + "~" + PhysicalAddress + "~" + TaxDistrict + "~" + MarketValue + "~" + PriorValue + "~" + TaxValue + "~" + Exempt + "~" + Legaldescription; gc.insert_date(orderNumber, Parcel_number, 902, Propertyresult, 1, DateTime.Now); //Assessment AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); IWebElement Assessmenttable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr/td/table[6]/tbody")); IList <IWebElement> assessmentrow = Assessmenttable.FindElements(By.TagName("tr")); IList <IWebElement> assessmentid; foreach (IWebElement assessment in assessmentrow) { assessmentid = assessment.FindElements(By.TagName("td")); if (assessmentid.Count != 0 && !assessment.Text.Contains("YEAR") && !assessment.Text.Contains("Assessment Totals")) { string assessmentresult = assessmentid[0].Text + "~" + assessmentid[1].Text + "~" + assessmentid[2].Text + "~" + assessmentid[3].Text + "~" + assessmentid[4].Text + "~" + assessmentid[5].Text + "~" + assessmentid[6].Text + "~" + assessmentid[7].Text + "~" + assessmentid[8].Text; gc.insert_date(orderNumber, Parcel_number, 903, assessmentresult, 1, DateTime.Now); } } //Tax Information driver.Navigate().GoToUrl("http://acpass.andersoncountysc.org/p_tax_search.htm"); Thread.Sleep(3000); driver.FindElement(By.Id("QryMapno")).SendKeys(Parcel_number.Substring(0, 10)); gc.CreatePdf(orderNumber, Parcel_number, "Tax site", driver, "SC", "Anderson"); driver.FindElement(By.Id("Sumbit")).Click(); Thread.Sleep(2000); List <string> ParcelSearch = new List <string>(); try { gc.CreatePdf(orderNumber, Parcel_number, "Tax Information click", driver, "SC", "Anderson"); IWebElement ParcelTB = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[1]/td/form/table/tbody")); IList <IWebElement> ParcelTR = ParcelTB.FindElements(By.TagName("tr")); ParcelTR.Reverse(); int rows_count = ParcelTR.Count - 1; 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 { } foreach (string taxlink in ParcelSearch) { driver.Navigate().GoToUrl(taxlink); IWebElement accountnumbertable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[3]/td/table[1]/tbody/tr[1]/td/table/tbody")); string accountnumber = gc.Between(accountnumbertable.Text, "Account Number:", "TMS#:").Trim(); string accountyear = GlobalClass.Before(accountnumber, " "); IWebElement taxdetailtabletable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[3]/td/table[1]/tbody")); string citylevel = gc.Between(taxdetailtabletable.Text, "City:", "County:"); string countylevel = gc.Between(taxdetailtabletable.Text, "County:", "State"); string assessmenttax = GlobalClass.After(taxdetailtabletable.Text, "Assessment:"); string taxdetailresult = accountnumber + "~" + citylevel + "~" + countylevel + "~" + assessmenttax + "~" + Tax_Authority; gc.insert_date(orderNumber, Parcel_number, 907, taxdetailresult, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_number, "Tax Information" + accountyear, driver, "SC", "Anderson"); string paied = "", date = ""; IWebElement taxpaymenttable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td[1]/table[2]/tbody/tr[3]/td/table[3]/tbody")); IList <IWebElement> taxpaymentrow = taxpaymenttable.FindElements(By.TagName("tr")); IList <IWebElement> taxpaymentid; foreach (IWebElement taxpayment in taxpaymentrow) { taxpaymentid = taxpayment.FindElements(By.TagName("td")); if (taxpaymentid.Count != 0 && taxpayment.Text.Contains("Paid Date")) { paied = taxpaymentid[1].Text; date = taxpaymentid[2].Text; } if (taxpaymentid.Count != 0 && taxpayment.Text.Contains("Payments")) { string taxpaymentresult1 = "Accountnumber" + "~" + "Paied date" + "~" + "Discription" + "~" + taxpaymentid[1].Text + "~" + taxpaymentid[2].Text + "~" + taxpaymentid[3].Text + "~" + "Data" + "~" + "Amount"; db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + taxpaymentresult1 + "' where Id = '" + 908 + "'"); } if (taxpayment.Text.Contains("Tax") || taxpayment.Text.Contains("Pen:") || taxpayment.Text.Contains("Fee:") || taxpayment.Text.Contains("Total:")) { string taxpaymentresult = accountnumber + "~" + date + "~" + taxpaymentid[0].Text + "~" + taxpaymentid[1].Text.Trim() + "~" + taxpaymentid[2].Text + "~" + taxpaymentid[3].Text + "~" + taxpaymentid[4].Text + "~" + taxpaymentid[5].Text; gc.insert_date(orderNumber, Parcel_number, 908, taxpaymentresult, 1, DateTime.Now); date = ""; } if (taxpaymentid.Count == 1 && taxpayment.Text.Contains("County")) { string taxpaymentresult = accountnumber + "~" + "~" + "Tax" + "~" + taxpaymentid[0].Text + "~" + "~" + "~" + "~"; gc.insert_date(orderNumber, Parcel_number, 908, taxpaymentresult, 1, DateTime.Now); } } } LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "SC", "Anderson", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "SC", "Anderson"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Allen(string address, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; //GlobalClass.sname = "IN"; //GlobalClass.cname = "Allen"; List <string> multiparcel = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", TaxAuthority = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); try { driver.Navigate().GoToUrl("https://www.allencounty.us/treasurers-office"); string TaxAuthority1 = driver.FindElement(By.XPath("//*[@id='rt-sidebar-a']/div[4]/div/div[2]/div/p[1]")).Text; string TaxAuthority2 = driver.FindElement(By.XPath("//*[@id='rt-sidebar-a']/div[4]/div/div[2]/div/p[2]")).Text; string TaxAuthority3 = GlobalClass.Before(TaxAuthority2, "Fax:"); TaxAuthority = TaxAuthority1 + " " + TaxAuthority3; } catch { } driver.Navigate().GoToUrl("http://lowtaxinfo.com/allencounty/#/SearchView"); try { //string address = streetno + " " + direction + " " + streetname + " " + streetype + " " + unitno; if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", "", address, "IN", "Allen"); 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_AllenIN"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='address']/div/div/input")).SendKeys(address); IWebElement IAddressSearch123 = driver.FindElement(By.XPath("//*[@id='searchForm']/div[5]/button")); IJavaScriptExecutor js123 = driver as IJavaScriptExecutor; js123.ExecuteScript("arguments[0].click();", IAddressSearch123); //Thread.Sleep(15000); Thread.Sleep(2000); //Multi Parcel try { //int i = 0; int count = 0; IWebElement Multiaddresstable = driver.FindElement(By.XPath("//*[@id='gridContainer']/div/div[6]/div/div[1]/div/table/tbody")); IList <IWebElement> multiaddressrow = Multiaddresstable.FindElements(By.TagName("tr")); IList <IWebElement> Mutiaddressid; foreach (IWebElement Multiaddress in multiaddressrow) { Mutiaddressid = Multiaddress.FindElements(By.TagName("td")); if (Mutiaddressid.Count == 18 && Mutiaddressid[6].Text.Trim().Contains("R")) { if (multiaddressrow.Count != 0 && Multiaddress.Text.Trim() != "" && Multiaddress.Text.Contains(address.Trim())) { string Parcelnumber = Mutiaddressid[2].Text; string[] multiaddressresultsplit = Mutiaddressid[3].Text.Split('\r'); string Ownerparcel = multiaddressresultsplit[0].Trim(); string Address = multiaddressresultsplit[2].Trim(); string multiaddressresult = Ownerparcel + "~" + Address; gc.insert_date(orderNumber, Parcelnumber, 1779, multiaddressresult, 1, DateTime.Now); count++; } } } if (count > 1) { HttpContext.Current.Session["multiParcel_AllenIN"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (count == 1) { for (int i = 1; i < 11; i++) { IWebElement clicktest = driver.FindElement(By.XPath("//*[@id='gridContainer']/div/div[6]/div/div[1]/div/table/tbody/tr[" + i + "]")); if (clicktest.Text.Contains(address.Trim())) { clicktest.Click(); Thread.Sleep(2000); break; } } } if (multiaddressrow.Count > 91) { HttpContext.Current.Session["multiParcel_AllenIN_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("MainContent_lblMsg")).Text; if (nodata.Contains("There were no records found.")) { HttpContext.Current.Session["Nodata_AllenIN"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.XPath("//*[@id='name']/div/div/input")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "SearchownernameBefore", driver, "IN", "Allen"); IWebElement IAddressSearch13 = driver.FindElement(By.XPath("//*[@id='searchForm']/div[5]/button")); IJavaScriptExecutor js13 = driver as IJavaScriptExecutor; js13.ExecuteScript("arguments[0].click();", IAddressSearch13); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "SearchownernameAfter", driver, "IN", "Allen"); //Multi Parcel try { int count = 0; IWebElement Multiaddresstable = driver.FindElement(By.XPath("//*[@id='gridContainer']/div/div[6]/div/div[1]/div/table/tbody")); IList <IWebElement> multiaddressrow = Multiaddresstable.FindElements(By.TagName("tr")); IList <IWebElement> Mutiaddressid; foreach (IWebElement Multiaddress in multiaddressrow) { Mutiaddressid = Multiaddress.FindElements(By.TagName("td")); if (Mutiaddressid.Count == 18 && Mutiaddressid[6].Text.Trim().Contains("R")) { if (multiaddressrow.Count != 0 && Multiaddress.Text.Trim() != "" && Multiaddress.Text.Contains(address.Trim())) { string Parcelnumber = Mutiaddressid[2].Text; string[] multiaddressresultsplit = Mutiaddressid[3].Text.Split('\r'); string Ownerparcel = multiaddressresultsplit[0].Trim(); string Address = multiaddressresultsplit[2].Trim(); string multiaddressresult = Ownerparcel + "~" + Address; gc.insert_date(orderNumber, Parcelnumber, 1779, multiaddressresult, 1, DateTime.Now); count++; } } } if (count > 1) { HttpContext.Current.Session["multiParcel_AllenIN"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (count == 1) { for (int i = 1; i < 11; i++) { IWebElement clicktest = driver.FindElement(By.XPath("//*[@id='gridContainer']/div/div[6]/div/div[1]/div/table/tbody/tr[" + i + "]")); if (clicktest.Text.Contains(address.Trim())) { clicktest.Click(); Thread.Sleep(2000); break; } } } if (multiaddressrow.Count > 91) { HttpContext.Current.Session["multiParcel_AllenIN_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("MainContent_lblMsg")).Text; if (nodata.Contains("There were no records found.")) { HttpContext.Current.Session["Nodata_AllenIN"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { //driver.FindElement(By.Id("parcel")).Clear(); //driver.FindElement(By.Id("parcel")).SendKeys(parcelNumber); driver.Navigate().GoToUrl("https://lowtaxinfo.com/allencounty/#/Search/-/-/-/" + parcelNumber + ""); gc.CreatePdf(orderNumber, parcelNumber, "SearchparcelBefore", driver, "IN", "Allen"); IWebElement IAddressSearch14 = driver.FindElement(By.XPath("//*[@id='searchForm']/div[5]/button")); IJavaScriptExecutor js14 = driver as IJavaScriptExecutor; js14.ExecuteScript("arguments[0].click();", IAddressSearch14); Thread.Sleep(15000); gc.CreatePdf(orderNumber, parcelNumber, "SearchparcelAfter", driver, "IN", "Allen"); try { //No Data Found string nodata = driver.FindElement(By.Id("MainContent_lblMsg")).Text; if (nodata.Contains("There were no records found.")) { HttpContext.Current.Session["Nodata_AllenIN"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string ParcelNumber = "", ParcelID = "", Loacalparcelid = "", RoutingNumber = "", Propertyclass = "", Propertyaddress = "", Ownername = "", Mailingaddress = "", Legaldescripton = "", County = "", Township = "", District = "", School = "", Neighborhood = "", Sectionplat = "", YearBuilt = ""; //Tax Information Details try { IWebElement IAddressSearch2 = driver.FindElement(By.XPath("//*[@id='gridContainer']/div/div[6]/div/div[1]/div/table/tbody/tr[1]/td[2]/table/tbody/tr[1]/td")); IJavaScriptExecutor js2 = driver as IJavaScriptExecutor; js2.ExecuteScript("arguments[0].click();", IAddressSearch2); Thread.Sleep(3000); } catch { } string ParcelNumber1 = "", Propertyadd = "", Taxyear = "", Propertytype = "", Taxunit = "", Propertyclass1 = "", Ownername1 = "", Mailingadd = ""; IWebElement Taxinfo1 = driver.FindElement(By.XPath("//*[@id='PropertyInformation']/div/div[1]")); Taxyear = gc.Between(Taxinfo1.Text, "Tax Year/Pay Year", "Parcel Number").Trim(); ParcelNumber = gc.Between(Taxinfo1.Text, "Parcel Number", "Property Type").Trim(); gc.CreatePdf(orderNumber, ParcelNumber, "Check", driver, "IN", "Allen"); Ownername1 = gc.Between(Taxinfo1.Text, "Owner of Record", "Mailing Address").Trim(); Propertyadd = driver.FindElement(By.Id("PropertyAddressHeader")).Text.Trim(); Propertytype = gc.Between(Taxinfo1.Text, "Property Type", "Tax Unit / Description").Trim(); Taxunit = gc.Between(Taxinfo1.Text, "Tax Unit / Description", "Property Class").Trim(); Propertyclass = gc.Between(Taxinfo1.Text, "Property Class", "Owner of Record").Trim(); Mailingadd = GlobalClass.After(Taxinfo1.Text, "Mailing Address").Trim(); string Taxinformationdetail1 = Taxyear.Trim() + "~" + Ownername1.Trim() + "~" + Propertyadd.Trim() + "~" + Propertytype.Trim() + "~" + Taxunit.Trim() + "~" + Propertyclass + "~" + Mailingadd + "~" + TaxAuthority; gc.insert_date(orderNumber, ParcelNumber, 1775, Taxinformationdetail1, 1, DateTime.Now); //Tax History Table string Payyear = "", Spring = "", Fall = "", Delinquencies = "", Totaltax = "", Payments = "", Balancedue = ""; IWebElement History = driver.FindElement(By.XPath("//*[@id='TaxHistory']/div/div/div[6]/div/table/tbody")); IList <IWebElement> TRTaxHistory = History.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxHistory; foreach (IWebElement row1 in TRTaxHistory) { TDTaxHistory = row1.FindElements(By.TagName("td")); if (row1.Text.Trim() != "" && TDTaxHistory.Count != 0 && TDTaxHistory.Count == 6) { Payyear = TDTaxHistory[0].Text; Spring = TDTaxHistory[1].Text; Fall = TDTaxHistory[2].Text; Delinquencies = TDTaxHistory[3].Text; if (Delinquencies != "$0.00") { Balancedue = "Delinquent"; } Totaltax = TDTaxHistory[4].Text; Payments = TDTaxHistory[5].Text; string TaxHistory = Payyear.Trim() + "~" + Spring.Trim() + "~" + Fall.Trim() + "~" + Delinquencies.Trim() + "~" + Totaltax.Trim() + "~" + Payments.Trim() + "~" + Balancedue.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1778, TaxHistory, 1, DateTime.Now); Balancedue = ""; } } //Tax Summary Details string summaryitem = "", year1 = "", year2 = ""; IWebElement Summary = driver.FindElement(By.XPath("//*[@id='TaxSummary']/div/table/tbody")); IList <IWebElement> TRTaxSummary = Summary.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxSummary; foreach (IWebElement row2 in TRTaxSummary) { TDTaxSummary = row2.FindElements(By.TagName("td")); if (row2.Text.Contains("Tax Summary Item")) { summaryitem = TDTaxSummary[0].Text; year1 = TDTaxSummary[1].Text; year2 = TDTaxSummary[2].Text; string title = summaryitem.Trim() + "~" + year1.Trim() + "~" + year2.Trim(); title = title.TrimEnd('~'); db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + title + "' where Id = '" + 1780 + "'"); } if (TDTaxSummary.Count != 0 && TDTaxSummary.Count == 3 && !row2.Text.Contains("Tax Summary Item")) { summaryitem = TDTaxSummary[0].Text; year1 = TDTaxSummary[1].Text; year2 = TDTaxSummary[2].Text; string Taxsummary = summaryitem.Trim() + "~" + year1.Trim() + "~" + year2.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1780, Taxsummary, 1, DateTime.Now); } } //Tax Bill Download //string current1 = driver.CurrentWindowHandle; //driver.FindElement(By.XPath("//*[@id='property-navbar']/div/div[2]/img[2]")).Click(); //Thread.Sleep(2000); //gc.CreatePdf(orderNumber, ParcelNumber, "Check1", driver, "IN", "Allen"); //driver.SwitchTo().Window(driver.WindowHandles.Last()); //Thread.Sleep(5000); //string downlurrl = driver.Url; //gc.downloadfile(downlurrl, orderNumber, ParcelNumber, "TaxBill", "IN", "Allen"); //gc.CreatePdf(orderNumber, ParcelNumber, "Check2", driver, "IN", "Allen"); //IWebElement Multyaddresstable1 = driver.FindElement(By.TagName("embed")); //string urldowl = Multyaddresstable1.GetAttribute("src"); //gc.downloadfile(urldowl, orderNumber, ParcelNumber, "TaxBill", "IN", "Allen"); //driver.SwitchTo().Window(current1); string Year = ""; IWebElement selecelement = driver.FindElement(By.Id("PayYears")); string[] slectyear = selecelement.Text.Split('\r'); IWebElement tbmulti = driver.FindElement(By.Id("PayYears")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("option")); string getsplitvalue = ""; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Pay Year")) { getsplitvalue += row.Text + "~"; } } getsplitvalue = getsplitvalue.TrimEnd('~'); string[] splitgetyears = getsplitvalue.Split('~'); for (int i = splitgetyears.Count() - 1; i > splitgetyears.Count() - 5; i--) { IWebElement selecelement1 = driver.FindElement(By.Id("PayYears")); SelectElement clkci = new SelectElement(selecelement1); clkci.SelectByText(splitgetyears[i]); Thread.Sleep(2000); Year = driver.FindElement(By.XPath("//*[@id='PropertyInformation']/div/div[1]/span[1]")).Text.Trim(); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelNumber, "Yearwise Pdf" + i, driver, "IN", "Allen"); //Tax Information Details2 // DB insert 1776 string Payableyear = "", Entrydate = "", Payableperiod = "", Paidamount = "", Description = ""; IWebElement Taxdetails2 = driver.FindElement(By.XPath("//*[@id='Payments']/div/div/div[6]/div/div[1]/div/table/tbody")); IList <IWebElement> TRTaxdetails2 = Taxdetails2.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxdetails2; foreach (IWebElement row2 in TRTaxdetails2) { TDTaxdetails2 = row2.FindElements(By.TagName("td")); if (row2.Text.Trim() != "" && TDTaxdetails2.Count != 0 && TDTaxdetails2.Count == 6 && !row2.Text.Contains("Payable Year")) { Payableyear = TDTaxdetails2[0].Text; Entrydate = TDTaxdetails2[1].Text; Payableperiod = TDTaxdetails2[2].Text; Paidamount = TDTaxdetails2[3].Text; Description = TDTaxdetails2[4].Text; string Taxdetailstable = Year.Trim() + "~" + Payableyear.Trim() + "~" + Entrydate.Trim() + "~" + Payableperiod.Trim() + "~" + Paidamount.Trim() + "~" + Description.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1776, Taxdetailstable, 1, DateTime.Now); } } //Tax Details Table string Field = "", Taxamount = "", Adjustments = "", Balance = ""; IWebElement Taxdetails1 = driver.FindElement(By.XPath("//*[@id='BillingDetail']/div/div/div[6]/div/div[1]/div/table/tbody")); IList <IWebElement> TRTaxdetails1 = Taxdetails1.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxdetails1; foreach (IWebElement row in TRTaxdetails1) { TDTaxdetails1 = row.FindElements(By.TagName("td")); if (TDTaxdetails1.Count != 0 && TDTaxdetails1.Count == 4) { Field = TDTaxdetails1[0].Text; Taxamount = TDTaxdetails1[1].Text; Adjustments = TDTaxdetails1[2].Text; Balance = TDTaxdetails1[3].Text; string Taxdetailstable = Year.Trim() + "~" + Field.Trim() + "~" + Taxamount.Trim() + "~" + Adjustments.Trim() + "~" + Balance.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1777, Taxdetailstable, 1, DateTime.Now); } } //Assessed Value Details string Landvalue = "", Landvaltitle = "", Improvements = "", Improvementstitle = "", Homesteadstand = "", Homesteadsupp = "", Mortgage = "", Count = ""; IWebElement Assessed = driver.FindElement(By.XPath("//*[@id='AssessmentsReport1']/div[1]/div/div[6]/div/div[1]/div/table/tbody")); IList <IWebElement> TRTaxAssessed = Assessed.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxAssessed; foreach (IWebElement row2 in TRTaxAssessed) { TDTaxAssessed = row2.FindElements(By.TagName("td")); if (TDTaxAssessed.Count != 0 && TDTaxAssessed.Count == 2 && row2.Text.Contains("Land Value")) { Landvaltitle = TDTaxAssessed[0].Text; Landvalue = TDTaxAssessed[1].Text; } if (TDTaxAssessed.Count != 0 && TDTaxAssessed.Count == 2 && row2.Text.Contains("Improvements")) { Improvementstitle = TDTaxAssessed[0].Text; Improvements = TDTaxAssessed[1].Text; } } string Homesteadstandtitle = "", Homesteadsupptitle = "", Mortgagetitle = "", Counttitle = ""; IWebElement Assessed1 = driver.FindElement(By.XPath("//*[@id='ExemptionsDeductions']/div/div/div[6]/div/div[1]/div/table/tbody")); IList <IWebElement> TRTaxAssessed1 = Assessed1.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxAssessed1; foreach (IWebElement row21 in TRTaxAssessed1) { TDTaxAssessed1 = row21.FindElements(By.TagName("td")); if (TDTaxAssessed1.Count != 0 && TDTaxAssessed1.Count == 2 && row21.Text.Contains("Stand")) { Homesteadstandtitle = TDTaxAssessed1[0].Text; Homesteadstand = TDTaxAssessed1[1].Text; } if (TDTaxAssessed1.Count != 0 && TDTaxAssessed1.Count == 2 && row21.Text.Contains("Supp")) { Homesteadsupptitle = TDTaxAssessed1[0].Text; Homesteadsupp = TDTaxAssessed1[1].Text; } if (TDTaxAssessed1.Count != 0 && TDTaxAssessed1.Count == 2 && row21.Text.Contains("Mortgage")) { Mortgagetitle = TDTaxAssessed1[0].Text; Mortgage = TDTaxAssessed1[1].Text; } } IWebElement Assessed2 = driver.FindElement(By.XPath("//*[@id='ExemptionsDeductions']/div/div/div[8]/div/table/tbody")); IList <IWebElement> TRTaxAssessed2 = Assessed2.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxAssessed2; foreach (IWebElement row31 in TRTaxAssessed2) { TDTaxAssessed2 = row31.FindElements(By.TagName("td")); if (TDTaxAssessed2.Count != 0 && TDTaxAssessed2.Count == 2 && row31.Text.Contains("Count:")) { Counttitle = TDTaxAssessed2[0].Text; Count = TDTaxAssessed2[1].Text; } } string title1 = Landvaltitle.Trim() + "~" + Improvementstitle.Trim() + "~" + Homesteadstandtitle.Trim() + "~" + Homesteadsupptitle.Trim() + "~" + Mortgagetitle.Trim() + "~" + Counttitle.Trim(); title1 = title1.TrimEnd('~'); db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Tax Year~" + title1 + "' where Id = '" + 1781 + "'"); string TaxAssessed = Year + "~" + Landvalue.Trim() + "~" + Improvements.Trim() + "~" + Homesteadstand.Trim() + "~" + Homesteadsupp.Trim() + "~" + Mortgage.Trim() + "~" + Count.Trim(); gc.insert_date(orderNumber, ParcelNumber, 1781, TaxAssessed, 1, DateTime.Now); } /*************************************/ //Property Details ParcelID = driver.FindElement(By.XPath("//*[@id='PropertyInformation']/div/div[1]/span[2]")).Text.Trim().Replace(".", "").Trim().Replace("-", "").Trim(); string fileName1 = ""; 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 chDriver = new ChromeDriver(chromeOptions); Array.ForEach(Directory.GetFiles(@downloadDirectory), File.Delete); chDriver.Navigate().GoToUrl("https://lowtaxinfo.com/AllenCounty/PRC/" + ParcelID + ".pdf"); Thread.Sleep(2000); fileName1 = latestfilename(); Thread.Sleep(2000); gc.AutoDownloadFile(orderNumber, ParcelID, "Allen", "IN", fileName1); //Tax Bill Download try { string fileName11 = ""; chDriver.Navigate().GoToUrl("https://lowtaxinfo.com/allencounty/#/Search/-/-/-/" + ParcelID + ""); Thread.Sleep(15000); gc.CreatePdf(orderNumber, ParcelNumber, "Check2", chDriver, "IN", "Allen"); try { chDriver.FindElement(By.XPath("//*[@id='BtnTaxBill']")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "xpathBtnTaxBilljsclick", chDriver, "IN", "Allen"); } catch { } try { IWebElement IAddressSearch1234 = chDriver.FindElement(By.XPath("//*[@id='BtnTaxBill")); IJavaScriptExecutor js1234 = chDriver as IJavaScriptExecutor; js1234.ExecuteScript("arguments[0].click();", IAddressSearch1234); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "xpathBtnTaxBilljsclick", chDriver, "IN", "Allen"); } catch { } try { chDriver.FindElement(By.Id("BtnTaxBill")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "IdBtnTaxBill", chDriver, "IN", "Allen"); } catch { } try { IWebElement IAddressSearch12345 = chDriver.FindElement(By.Id("BtnTaxBill")); IJavaScriptExecutor js12345 = chDriver as IJavaScriptExecutor; js12345.ExecuteScript("arguments[0].click();", IAddressSearch12345); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNumber, "IdBtnTaxBilljsclick", chDriver, "IN", "Allen"); } catch { } gc.CreatePdf(orderNumber, ParcelNumber, "Check1", chDriver, "IN", "Allen"); fileName11 = latestfilename(); Thread.Sleep(2000); gc.AutoDownloadFile(orderNumber, ParcelID, "Allen", "IN", fileName11); } catch { } chDriver.Quit(); string FilePath = gc.filePath(orderNumber, ParcelID) + fileName1; PdfReader reader; string pdfData; string pdftext = ""; try { reader = new PdfReader(FilePath); String textFromPage = PdfTextExtractor.GetTextFromPage(reader, 1); System.Diagnostics.Debug.WriteLine("" + textFromPage); pdftext = textFromPage; string[] splittextt = pdftext.Split('\n'); Loacalparcelid = splittextt[10].Trim(); RoutingNumber = splittextt[19].Trim(); Propertyclass = splittextt[22].Trim(); Propertyaddress = splittextt[7].Trim(); Ownername = splittextt[3].Replace("Parcel Number", "").Trim(); Mailingaddress = splittextt[59]; Legaldescripton = splittextt[16]; string[] legalsplit = Legaldescripton.Split('\r'); County = splittextt[31].Trim(); Township = splittextt[35].Trim(); District = splittextt[39].Trim(); School = splittextt[44].Trim(); Neighborhood = splittextt[47].Trim(); Sectionplat = splittextt[52].Trim(); String textFromPage1 = PdfTextExtractor.GetTextFromPage(reader, 2); System.Diagnostics.Debug.WriteLine("" + textFromPage1); string pdftext1 = textFromPage1; string[] splittexttyearbuilt = pdftext1.Split('\n'); YearBuilt = ""; string Propertdetails = Ownername.Trim() + "~" + Loacalparcelid.Trim() + "~" + RoutingNumber.Trim() + "~" + Propertyclass.Trim() + "~" + Propertyaddress + "~" + Mailingaddress + "~" + Legaldescripton + "~" + County + "~" + Township + "~" + District + "~" + School + "~" + Neighborhood + "~" + Sectionplat + "~" + YearBuilt; gc.insert_date(orderNumber, ParcelID, 1768, Propertdetails, 1, DateTime.Now); //Assessment Details string[] splittextt1 = pdftext.Split('\n'); string tableassess = gc.Between(pdftext, "Year:", "Total Non Res (3)").Trim(); string[] tableArray = tableassess.Split('\n'); string[] Assessmentsplit = tableArray[1].Split(' '); string[] Reasonchange = GlobalClass.After(tableArray[3], "Reason For Change").Split(' '); string[] asofdate = tableArray[5].Split(' '); string[] ValuationMethod = GlobalClass.After(tableArray[8], "Valuation Method").Trim().Split(' '); string Valution1 = ValuationMethod[0].Trim() + " " + ValuationMethod[1].Trim() + " " + ValuationMethod[2].Trim(); string Valution2 = ValuationMethod[3].Trim() + " " + ValuationMethod[4] + " " + ValuationMethod[5].Trim(); string Valution3 = ValuationMethod[6].Trim() + " " + ValuationMethod[7] + " " + ValuationMethod[8].Trim(); string Valution4 = ValuationMethod[9].Trim() + " " + ValuationMethod[10] + " " + ValuationMethod[11].Trim(); string Valution5 = ValuationMethod[12].Trim() + " " + ValuationMethod[13] + " " + ValuationMethod[14].Trim(); string[] Equalizationfactor = tableArray[9].Trim().Split(' '); string Noticerequired = "YES"; string[] Land = tableArray[14].Trim().Split('$'); string[] Landres1 = tableArray[16].Trim().Split('$'); string[] Landnonres2 = tableArray[17].Trim().Split('$'); string[] Landnonres3 = tableArray[19].Trim().Split('$'); string[] improvement = tableArray[21].Trim().Split('$'); string[] impres1 = tableArray[22].Trim().Split('$'); string[] impnonres2 = tableArray[24].Trim().Split('$'); string[] impnonres3 = tableArray[25].Trim().Split('$'); string[] total = tableArray[27].Trim().Split('$'); string[] total1 = tableArray[30].Trim().Split('$'); string[] totalres2 = tableArray[31].Trim().Split('$'); string[] totalres3 = tableArray[34].Trim().Split('$'); string Type1 = Assessmentsplit[0].Trim() + "~" + Reasonchange[1].Trim() + "~" + asofdate[0] + "~" + Valution1 + "~" + Equalizationfactor[0] + "~" + Noticerequired + "~" + Land[2] + "~" + Landres1[2] + "~" + Landnonres2[2] + "~" + Landnonres3[2] + "~" + improvement[2] + "~" + impres1[2] + "~" + impnonres2[2] + "~" + impnonres3[2] + "~" + total[2] + "~" + total1[2] + "~" + totalres2[2] + "~" + ""; string Type2 = Assessmentsplit[1].Trim() + "~" + Reasonchange[2].Trim() + "~" + asofdate[1] + "~" + Valution2 + "~" + Equalizationfactor[1] + "~" + Noticerequired + "~" + Land[3] + "~" + Landres1[3] + "~" + Landnonres2[3] + "~" + Landnonres3[3] + "~" + improvement[3] + "~" + impres1[3] + "~" + impnonres2[3] + "~" + impnonres3[3] + "~" + total[3] + "~" + total1[3] + "~" + totalres2[3] + "~" + ""; string Type3 = Assessmentsplit[2].Trim() + "~" + Reasonchange[3].Trim() + "~" + asofdate[2] + "~" + Valution3 + "~" + Equalizationfactor[2] + "~" + Noticerequired + "~" + Land[4] + "~" + Landres1[4] + "~" + Landnonres2[4] + "~" + Landnonres3[4] + "~" + improvement[4] + "~" + impres1[4] + "~" + impnonres2[4] + "~" + impnonres3[4] + "~" + total[4] + "~" + total1[4] + "~" + totalres2[4] + "~" + ""; string Type4 = Assessmentsplit[3].Trim() + "~" + Reasonchange[4].Trim() + "~" + asofdate[3] + "~" + Valution4 + "~" + Equalizationfactor[3] + "~" + Noticerequired + "~" + Land[5] + "~" + Landres1[5] + "~" + Landnonres2[5] + "~" + Landnonres3[5] + "~" + improvement[5] + "~" + impres1[5] + "~" + impnonres2[5] + "~" + impnonres3[5] + "~" + total[5] + "~" + total1[5] + "~" + totalres2[5] + "~" + ""; string Type5 = Assessmentsplit[4].Trim() + "~" + Reasonchange[5].Trim() + "~" + asofdate[4] + "~" + Valution5 + "~" + Equalizationfactor[4] + "~" + Noticerequired + "~" + Land[6] + "~" + Landres1[6] + "~" + Landnonres2[6] + "~" + Landnonres3[6] + "~" + improvement[6] + "~" + impres1[6] + "~" + impnonres2[6] + "~" + impnonres3[6] + "~" + total[6] + "~" + total1[6] + "~" + totalres2[6] + "~" + ""; gc.insert_date(orderNumber, ParcelNumber, 1769, Type1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNumber, 1769, Type2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNumber, 1769, Type3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNumber, 1769, Type4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNumber, 1769, Type5, 1, DateTime.Now); } catch (Exception ex) { } try { driver.Navigate().GoToUrl("https://www.allencounty.us/treasurers-office"); gc.CreatePdf(orderNumber, ParcelNumber, "Tax Authority Pdf", driver, "IN", "Allen"); } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "IN", "Allen"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "IN", "Allen", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_KootenaiID(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 = ""; string address = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver(); //driver = new PhantomJSDriver(); string Propertyresult1; using (driver = new PhantomJSDriver()) { try { if (searchType == "titleflex") { address = streetno + " " + direction + " " + streetname; gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "ID", "Kootenai"); 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_Kootenai"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://id-kootenai-assessor.governmax.com/propertymax/agency/id-kootenai-assessor/ID-Kootenai_Homepage2017.asp?sid=D6D1FB69FDAD40A7A8E723B0B36DB4D7"); IWebElement Firstclick = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table[1]/tbody/tr[1]/td[2]/table/tbody")); IWebElement Firstaherf = Firstclick.FindElement(By.TagName("a")); string First1 = Firstclick.GetAttribute("href"); Firstaherf.Click(); if (searchType == "address") { if (direction == "") { address = streetno.Trim() + " " + streetname.Trim() + " " + streettype.Trim(); } else { address = streetno.Trim() + " " + direction.Trim() + " " + streetname.Trim() + " " + streettype.Trim(); } driver.FindElement(By.XPath("/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")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "AddressSearch", driver, "ID", "Kootenai"); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "AddressSearch After", driver, "ID", "Kootenai"); try { string Multiplowner = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[2]/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody")).Text.Replace("\r\n", ""); Thread.Sleep(2000); IWebElement Multipleownertable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody")); IList <IWebElement> Multiplerow = Multipleownertable.FindElements(By.TagName("tr")); IList <IWebElement> Multipleid; if (Multiplerow.Count < 27) { foreach (IWebElement Multipleownername in Multiplerow) { Multipleid = Multipleownername.FindElements(By.TagName("td")); if (Multipleid.Count != 0 && !Multipleownername.Text.Contains("Parcel ID")) { string Parcel = Multipleid[0].Text; string detail = Multipleid[1].Text + "~" + Multipleid[2].Text; gc.insert_date(orderNumber, Parcel, 750, detail, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multiple Parcel", driver, "ID", "Kootenai"); HttpContext.Current.Session["multiParcel_Kootenai"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Multiplerow.Count > 27) { HttpContext.Current.Session["multiParcel_Kootenai_Multicount"] = "Maximum"; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "ID", "Kootenai"); driver.Quit(); return("Maximum"); } } catch { } try { string Nodata = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td")).Text; if (Nodata.Contains("No Records Found")) { gc.CreatePdf_WOP(orderNumber, "NO Record", driver, "ID", "Kootenai"); HttpContext.Current.Session["Nodata_Kootenai"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { if (parcelNumber != "") { driver.FindElement(By.LinkText(" Parcel Number")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("/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")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Property Search Result", driver, "ID", "Kootenai"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); } if (parcelNumber == "") { try { string Nodata = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td")).Text; if (Nodata.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_Kootenai"] = "Yes"; driver.Quit(); return("No Records Found"); } } catch { } } } if (searchType == "unitnumber") { driver.FindElement(By.LinkText(" AIN")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/font/input")).SendKeys(unitnumber); gc.CreatePdf_WOP(orderNumber, "unitnumber", driver, "ID", "Kootenai"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); } if (searchType == "owner") { driver.FindElement(By.LinkText(" Owner")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/font/input")).SendKeys(ownernm); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { string Multiplowner = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[2]/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody")).Text.Replace("\r\n", ""); // string Multicoutpage= Thread.Sleep(2000); if (Multiplowner.Contains("page1 of 1")) { IWebElement Multipleownertable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody")); IList <IWebElement> Multiplerow = Multipleownertable.FindElements(By.TagName("tr")); IList <IWebElement> Multipleid; if (Multiplerow.Count < 27) { foreach (IWebElement Multipleownername in Multiplerow) { Multipleid = Multipleownername.FindElements(By.TagName("td")); if (Multipleid.Count != 0 && !Multipleownername.Text.Contains("Parcel ID")) { string Parcel = Multipleid[0].Text; string detail = Multipleid[1].Text + "~" + Multipleid[2].Text; gc.insert_date(orderNumber, Parcel, 750, detail, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multiple Parcel", driver, "ID", "Kootenai"); HttpContext.Current.Session["multiParcel_Kootenai"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Multiplerow.Count > 27) { HttpContext.Current.Session["multiParcel_Kootenai_Multicount"] = "Maximum"; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "ID", "Kootenai"); driver.Quit(); return("Maximum"); } } else { HttpContext.Current.Session["multiParcel_Kootenai_Multicount"] = "Maximum"; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "ID", "Kootenai"); driver.Quit(); return("Maximum"); } } catch { } try { string Nodata = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody/tr/td/table/tbody/tr[2]/td")).Text; if (Nodata.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_Kootenai"] = "Yes"; driver.Quit(); return("No Records Found"); } } catch { } } IWebElement Propertytable1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> Propertytable1row = Propertytable1.FindElements(By.TagName("tr")); IList <IWebElement> Propertytableid; foreach (IWebElement Property1 in Propertytable1row) { Propertytableid = Property1.FindElements(By.TagName("td")); if (Propertytableid.Count != 0 && !Property1.Text.Contains("Parcel Number ")) { Parcel_number = Propertytableid[0].Text; Ain = Propertytableid[1].Text; PropertyAddress = Propertytableid[2].Text; break; } } //Property IWebElement Propertytable2 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[2]/tbody")); string OwnerName = gc.Between(Propertytable2.Text, "Owner Name ", "Owner Address ").Trim(); string MailingAddress = gc.Between(Propertytable2.Text, "Owner Address ", "Transfer Date "); string TaxAuthorityGroup = gc.Between(Propertytable2.Text, "Tax Authority Group ", "Situs Address ").Trim(); string Acreage = gc.Between(Propertytable2.Text, "Acreage ", "Current Legal Desc. ").Trim(); string LegalDescription = gc.Between(Propertytable2.Text, "Current Legal Desc. ", "Parcel Type ").Trim(); string PropertyClass = gc.Between(Propertytable2.Text, "Property Class Code ", "Neighborhood Code ").Trim(); string Neighborhood = gc.Between(Propertytable2.Text, "Neighborhood Code ", "Assessment Information ").Trim(); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[2]/td/table/tbody/tr[6]/td/font/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { YearBuilt = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[2]/tbody/tr/td/table/tbody/tr[3]/td[8]/font")).Text; } catch { } Propertyresult1 = Ain + "~" + PropertyAddress + "~" + OwnerName + "~" + MailingAddress + "~" + TaxAuthorityGroup + "~" + Acreage + "~" + LegalDescription + "~" + PropertyClass + "~" + Neighborhood + "~" + YearBuilt; gc.insert_date(orderNumber, Parcel_number, 720, Propertyresult1, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_number, "Property Search Result", driver, "ID", "Kootenai"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[2]/td/table/tbody/tr[3]/td/font/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Assessment", driver, "ID", "Kootenai"); try { IWebElement Assisementdetail = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[2]/tbody/tr/td/table[5]/tbody")); IList <IWebElement> Assisementdetailrow = Assisementdetail.FindElements(By.TagName("tr")); IList <IWebElement> Assisementdetailid; foreach (IWebElement Assisement in Assisementdetailrow) { Assisementdetailid = Assisement.FindElements(By.TagName("td")); if (Assisementdetailid.Count != 0 && !Assisement.Text.Contains("Assessment Information ") && Assisement.Text.Trim() != "") { if (!heading.Contains(Assisementdetailid[2].Text.Trim())) { if (!Assisement.Text.Contains("Current Year ")) { heading += Assisementdetailid[2].Text.Trim() + "~"; } Assisementresult1 += Assisementdetailid[3].Text.Trim() + "~"; Assisementresult2 += Assisementdetailid[5].Text.Trim() + "~"; } } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year" + "~" + heading.Remove(heading.Length - 1, 1) + "' where Id = '" + 730 + "'"); gc.insert_date(orderNumber, Parcel_number, 730, Assisementresult1.Remove(Assisementresult1.Length - 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 730, Assisementresult2.Remove(Assisementresult2.Length - 1), 1, DateTime.Now); } catch { } //Assessnment History driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[2]/td/table/tbody/tr[7]/td/font/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Assessment History", driver, "ID", "Kootenai"); IWebElement AssessmentHistrytable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[2]/tbody/tr/td/table[2]/tbody")); IList <IWebElement> Assessmenthistryrow = AssessmentHistrytable.FindElements(By.TagName("tr")); IList <IWebElement> Assessmenthistryid; foreach (IWebElement Assmenthistory in Assessmenthistryrow) { Assessmenthistryid = Assmenthistory.FindElements(By.TagName("td")); if (Assessmenthistryid.Count != 0 && !Assmenthistory.Text.Contains("Assessment Date")) { string Assessmenthistoryresult = Assessmenthistryid[0].Text + "~" + Assessmenthistryid[1].Text + "~" + Assessmenthistryid[2].Text + "~" + Assessmenthistryid[3].Text + "~" + Assessmenthistryid[4].Text + "~" + Assessmenthistryid[5].Text; gc.insert_date(orderNumber, Parcel_number, 737, Assessmenthistoryresult, 1, DateTime.Now); } } //tax information try { //Tax Authority driver.Navigate().GoToUrl("http://id-kootenai-treasurer.governmax.com/collectmax/agency/id-kootenai-treasurer/homepage2017.asp?sid=49B81F6AF42C4778B7357D97F7DE9C95"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[1]/td/p[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.LinkText(" Contact Us")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Tax author", driver, "ID", "Kootenai"); IWebElement TaxAuthoritytable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[2]/tbody")); IList <IWebElement> Taxauthorityrow = TaxAuthoritytable.FindElements(By.TagName("tr")); IList <IWebElement> Taxauthorityid; foreach (IWebElement taxauthority in Taxauthorityrow) { Taxauthorityid = taxauthority.FindElements(By.TagName("td")); if (Taxauthorityid.Count != 0 && taxauthority.Text.Contains("Kootenai")) { taxauthorityResult = Taxauthorityid[0].Text.Trim().Replace("\r,\n", " "); break; } } //end } catch { } driver.Navigate().GoToUrl("http://id-kootenai-treasurer.governmax.com/collectmax/agency/id-kootenai-treasurer/homepage2017.asp?sid=49B81F6AF42C4778B7357D97F7DE9C95"); gc.CreatePdf(orderNumber, Parcel_number, "Current TAx1", driver, "ID", "Kootenai"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[1]/td/p[2]/a")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel_number, "Current TAx2", driver, "ID", "Kootenai"); driver.FindElement(By.XPath("/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")).SendKeys(Parcel_number); gc.CreatePdf(orderNumber, Parcel_number, "Current TAx3", driver, "ID", "Kootenai"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td/input")).SendKeys(Keys.Enter); Thread.Sleep(6000); gc.CreatePdf(orderNumber, Parcel_number, "Current TAx4", driver, "ID", "Kootenai"); try { driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table[1]/tbody/tr[2]/td/table/tbody/tr[2]/td/font/b/a")).Click(); Thread.Sleep(7000); } catch { } string TaxRoll = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[1]/td/table[2]/tbody/tr[2]/td[3]/font")).Text; gc.insert_date(orderNumber, Parcel_number, 741, TaxRoll + "~" + taxauthorityResult, 1, DateTime.Now); //Current Tax table gc.CreatePdf(orderNumber, Parcel_number, "Current TAx", driver, "ID", "Kootenai"); IWebElement currenttaxtable = driver.FindElement(By.XPath("//*[@id='tabsummary']/table/tbody/tr[1]/td/table/tbody")); string TaxYear = gc.Between(currenttaxtable.Text, "TaxYear: ", "Bill Number").Trim(); string BillNumber = gc.Between(currenttaxtable.Text, "Bill Number:", "Tax Bill ID:").Trim(); string TaxBillID = gc.Between(currenttaxtable.Text, "Tax Bill ID:", "Installment ").Trim(); IList <IWebElement> currenttaxrow = currenttaxtable.FindElements(By.TagName("tr")); IList <IWebElement> currenttaxid; foreach (IWebElement currenttax in currenttaxrow) { currenttaxid = currenttax.FindElements(By.TagName("td")); if (currenttax.Text.Contains("Prior Year Taxes Due ")) { break; } if (currenttaxid.Count > 2 && !currenttax.Text.Contains("TaxYear") && !currenttax.Text.Contains("Period")) { string currentaxresult1 = TaxYear + "~" + BillNumber + "~" + TaxBillID + "~" + currenttaxid[0].Text + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + currenttaxid[3].Text + "~" + currenttaxid[4].Text + "~" + currenttaxid[5].Text; gc.insert_date(orderNumber, Parcel_number, 743, currentaxresult1, 1, DateTime.Now); } if (currenttaxid.Count == 1 && !currenttax.Text.Contains("Installment")) { string currenttaxresult2 = TaxYear + "~" + BillNumber + "~" + TaxBillID + "~" + "~" + "~" + currenttaxid[0].Text + "~" + "~"; gc.insert_date(orderNumber, Parcel_number, 743, currenttaxresult2, 1, DateTime.Now); } if (currenttaxid.Count == 2 && !currenttax.Text.Contains("Installment")) { string currenttaxresult2 = TaxYear + "~" + BillNumber + "~" + TaxBillID + "~" + currenttaxid[0].Text + "~" + "~" + "~" + "~" + "~" + currenttaxid[1].Text; gc.insert_date(orderNumber, Parcel_number, 743, currenttaxresult2, 1, DateTime.Now); } } //delinquenttax IWebElement delinquenttaxtable = driver.FindElement(By.XPath("//*[@id='tabsummary']/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> deliquenttaxrow = delinquenttaxtable.FindElements(By.TagName("tr")); IList <IWebElement> deliquenttaxid; foreach (IWebElement deliquent in deliquenttaxrow) { deliquenttaxid = deliquent.FindElements(By.TagName("td")); if (deliquenttaxid.Count > 2 && !deliquent.Text.Contains("Prior Year Taxes Due ") && !deliquent.Text.Contains("Year")) { string deliquentresult = deliquenttaxid[0].Text + "~" + deliquenttaxid[1].Text + "~" + deliquenttaxid[2].Text + "~" + deliquenttaxid[3].Text + "~" + deliquenttaxid[4].Text + "~" + deliquenttaxid[5].Text; gc.insert_date(orderNumber, Parcel_number, 744, deliquentresult, 1, DateTime.Now); } if (deliquenttaxid.Count == 1 && !deliquent.Text.Contains("Prior Year Taxes Due") && !deliquent.Text.Contains("Delinquent Years")) { string deliquentresult1 = "~" + "~" + "~" + deliquenttaxid[0].Text + "~"; gc.insert_date(orderNumber, Parcel_number, 744, deliquentresult1, 1, DateTime.Now); } if (deliquenttaxid.Count == 2 && !deliquent.Text.Contains("Prior Year Taxes Due")) { string deliquentresult1 = deliquenttaxid[0].Text + "~" + "~" + "~" + "~" + "~" + deliquenttaxid[1].Text; gc.insert_date(orderNumber, Parcel_number, 744, deliquentresult1, 1, DateTime.Now); } } //Assessment tax driver.FindElement(By.LinkText("View Tax Assessment Values")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf(orderNumber, Parcel_number, "Assessment Values", driver, "ID", "Kootenai"); try { IWebElement Assessmenttableinfo = driver.FindElement(By.XPath("//*[@id='tab_assmt_data_" + TaxBillID + "']/table")); IList <IWebElement> Assessmentrow = Assessmenttableinfo.FindElements(By.TagName("tr")); IList <IWebElement> Assessmentid; foreach (IWebElement Assessmentinfo in Assessmentrow) { Assessmentid = Assessmentinfo.FindElements(By.TagName("td")); { if (Assessmentid.Count > 2 && !Assessmentinfo.Text.Contains("Authority")) { string Assessmentinforesult = Assessmentid[0].Text + "~" + Assessmentid[1].Text + "~" + Assessmentid[2].Text + "~" + Assessmentid[3].Text + "~" + Assessmentid[4].Text + "~" + Assessmentid[5].Text + "~" + Assessmentid[6].Text + "~" + Assessmentid[7].Text; gc.insert_date(orderNumber, Parcel_number, 746, Assessmentinforesult, 1, DateTime.Now); } if (Assessmentid.Count == 1 && !Assessmentinfo.Text.Contains("Assessment Information")) { string Assessmentinforesult1 = Assessmentid[0].Text; gc.insert_date(orderNumber, Parcel_number, 746, Assessmentinforesult1, 1, DateTime.Now); } if (Assessmentid.Count == 2) { string Assessmentinforesult = Assessmentid[0].Text + "~" + "~" + "~" + "~" + "~" + "~" + "~" + Assessmentid[1].Text; gc.insert_date(orderNumber, Parcel_number, 746, Assessmentinforesult, 1, DateTime.Now); } } } } catch { } string paymenthistoryresult = ""; //Paymenthistorytax driver.FindElement(By.LinkText("View Payment History")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf(orderNumber, Parcel_number, "Payment Hiistory", driver, "ID", "Kootenai"); IWebElement Paymenthistorytable = driver.FindElement(By.XPath("//*[@id='tab_pmt_data']/table/tbody")); IList <IWebElement> Paymenthistoryrow = Paymenthistorytable.FindElements(By.TagName("tr")); IList <IWebElement> paymenthistoryid; foreach (IWebElement Paymenthistory in Paymenthistoryrow) { paymenthistoryid = Paymenthistory.FindElements(By.TagName("td")); if (paymenthistoryid.Count > 2 && !Paymenthistory.Text.Contains("Payment Information") && !Paymenthistory.Text.Contains("Last Paid")) { paymenthistoryresult = paymenthistoryid[0].Text + "~" + paymenthistoryid[1].Text + "~" + paymenthistoryid[2].Text + "~" + paymenthistoryid[3].Text; } if (paymenthistoryid.Count == 2) { paymenthistoryresult += "~" + paymenthistoryid[1].Text; gc.insert_date(orderNumber, Parcel_number, 747, paymenthistoryresult, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.mergpdf(orderNumber, "ID", "Kootenai"); driver.Quit(); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Saline(string streetno, string streettype, string streetname, 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; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = streetno + " " + streettype + " " + streetname + " " + unitnumber; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "AR", "Saline"); 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_SalineAR"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("https://www.arcountydata.com/county.asp?county=Saline"); driver.FindElement(By.XPath("//*[@id='Assessor']/div/div[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); if (searchType == "address") { driver.FindElement(By.Id("StreetNumber")).SendKeys(streetno); driver.FindElement(By.Id("StreetName")).SendKeys(streetname); gc.CreatePdf_WOP(orderNumber, "SearchBefore", driver, "AR", "Saline"); driver.FindElement(By.Id("Search")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "SearchAfter", driver, "AR", "Saline"); Thread.Sleep(2000); try { Addressmax = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div[2]/table/tbody/tr[1]/td[2]")).Text.Trim(); if (Convert.ToInt32(Addressmax) == 1 && Convert.ToInt32(Addressmax) != 0) { driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "AddressSearch Result", driver, "AR", "Saline"); } else { Multiple(driver, orderNumber, Addressmax); driver.Quit(); return("MultiParcel"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("ParcelNumber")).SendKeys(parcelNumber); driver.FindElement(By.Id("Search")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "SearchParcel Before", driver, "AR", "Saline"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "SearchParcel After", driver, "AR", "Saline"); Thread.Sleep(2000); } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("OwnerName")).SendKeys(ownernm); driver.FindElement(By.Id("Search")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Searchownername After", driver, "AR", "Saline"); try { Addressmax = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/div[2]/table/tbody/tr[1]/td[2]")).Text.Trim(); if (Convert.ToInt32(Addressmax) == 1 && Convert.ToInt32(Addressmax) != 0) { driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else { Multiple(driver, orderNumber, Addressmax); driver.Quit(); return("MultiParcel"); } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("/html/body/div[2]/div[2]")); if (INodata.Text.Contains("Nothing matching your search criteria was found")) { HttpContext.Current.Session["Nodata_SalineAR"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } // Property_Details string CountyName, OwnerDetails, MailingAddress, PropertyAddress, TotalAcres, SecTwp_Rng, Subdivision, LegalDescription, SchoolDistrict, HomesteadParcel, TaxStatus, Over; // driver.FindElement(By.XPath("//*[@id='parcel_report']/table/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); //Thread.Sleep(2000); IWebElement Propertydetailtabel = driver.FindElement(By.XPath("//*[@id='Basic']/div/div[2]/table/tbody")); parcel_number = gc.Between(Propertydetailtabel.Text, "Parcel Number:", "County Name:"); gc.CreatePdf(orderNumber, parcel_number, "PropertyDetailTabel", driver, "AR", "Saline"); CountyName = gc.Between(Propertydetailtabel.Text, "County Name:", "Mailing Address:"); string MOwnerDetails1 = driver.FindElement(By.XPath("//*[@id='Basic']/div/div[2]/table/tbody/tr[3]/td[2]")).Text; MOwnerDetails1 = MOwnerDetails1.Replace("\r\n", "~"); string[] Mownersplit = MOwnerDetails1.Split('~'); OwnerDetails = Mownersplit[0]; MailingAddress = Mownersplit[1] + " " + Mownersplit[2]; string PropertyAddress1 = driver.FindElement(By.XPath("//*[@id='Basic']/div/div[2]/table/tbody/tr[4]/td[2]")).Text; PropertyAddress1 = PropertyAddress1.Replace("\r\n", "~"); string[] propertyaddresssplit = PropertyAddress1.Split('~'); PropertyAddress = propertyaddresssplit[1] + " " + propertyaddresssplit[2]; TotalAcres = gc.Between(Propertydetailtabel.Text, "Total Acres:", "Timber Acres:"); SecTwp_Rng = gc.Between(Propertydetailtabel.Text, "Sec-Twp-Rng:", "Lot/Block:"); Subdivision = gc.Between(Propertydetailtabel.Text, "Subdivision:", "Legal Description:"); LegalDescription = gc.Between(Propertydetailtabel.Text, "Legal Description:", "School District:"); SchoolDistrict = driver.FindElement(By.XPath("//*[@id='Basic']/div/div[2]/table/tbody/tr[12]/td[2]")).Text; //gc.Between(Propertydetailtabel.Text, "School District:", "Improvement Districts:"); HomesteadParcel = gc.Between(Propertydetailtabel.Text, "Homestead Parcel?:", "Tax Status:"); TaxStatus = gc.Between(Propertydetailtabel.Text, "Tax Status:", "Over 65?:"); Over = GlobalClass.After(Propertydetailtabel.Text, "Over 65?:"); IWebElement YearBuilddata = driver.FindElement(By.XPath("/html/body/div[2]/div[3]/div/ul/li[7]/a")); // driver.FindElement(By.XPath("/html/body/div[2]/div[3]/div/ul/li[7]/a")).SendKeys(Keys.Enter); try { driver.FindElement(By.LinkText("Improvements")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_number, "YearBuild", driver, "AR", "Saline"); Yearbuild = driver.FindElement(By.XPath("//*[@id='Improvements']/div/div[2]/table/tbody/tr[10]/td[2]")).Text; } catch { } string Property_Details = CountyName + "~" + OwnerDetails + "~" + MailingAddress + "~" + PropertyAddress + "~" + TotalAcres + "~" + SecTwp_Rng + "~" + Subdivision + "~" + LegalDescription + "~" + SchoolDistrict + "~" + HomesteadParcel + "~" + TaxStatus + "~" + Over + "~" + Yearbuild; gc.insert_date(orderNumber, parcel_number, 574, Property_Details, 1, DateTime.Now); //Assessment Details string header = ""; try { driver.FindElement(By.LinkText("Valuation")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_number, "Assessment Details", driver, "AR", "Saline"); string Assessmentdetail = ""; //Land Appraised~Land Assessed~Improvements Appraised~Improvements Assessed~Total Value Appraised~Total Value Assessed~Taxable Value Appraised~Taxable Value Assessed~Millage Appraised~Millage Assessed~Estimated Taxes Appraised~Estimated Taxes Assessed~Homestead Credit Appraised~Homestead Credit Assessed~Estimated Taxes w Credit Appraised~Estimated Taxes w Credit Assessed~Assessment Year Appraised~Assessment Year Assessed IWebElement AssessmentDetails_Table = driver.FindElement(By.XPath("//*[@id='Valuation']/div/div[2]/table/tbody")); IList <IWebElement> Assessmentrow = AssessmentDetails_Table.FindElements(By.TagName("tr")); IList <IWebElement> Assessmentid; foreach (IWebElement assessment in Assessmentrow) { Assessmentid = assessment.FindElements(By.TagName("td")); if (Assessmentid.Count != 0 && Assessmentid.Count > 2) { Assessmentdetail += Assessmentid[1].Text + "~" + Assessmentid[2].Text.Replace("(", "").Replace(")", "") + "~"; } if (Assessmentid.Count != 0 && Assessmentid.Count < 3) { Assessmentdetail += " " + "~" + Assessmentid[1].Text + "~"; } if (Assessmentid.Count != 0) { header += Assessmentid[0].Text.Replace(":", "") + " Appraised~" + Assessmentid[0].Text.Replace(":", "") + " Assessed~"; } } header = header.Remove(header.Length - 1, 1); db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + header + "' where Id = '" + 576 + "'"); Assessmentdetail = Assessmentdetail.Remove(Assessmentdetail.Length - 1, 1); gc.insert_date(orderNumber, parcel_number, 576, Assessmentdetail, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); try { driver.FindElement(By.LinkText("Receipts")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_number, "Receipts", driver, "AR", "Saline"); String Receiptdetail = ""; IWebElement Receipt_table = driver.FindElement(By.XPath("//*[@id='Receipts']/div/div[2]/table/tbody")); IList <IWebElement> Receipt_row = Receipt_table.FindElements(By.TagName("tr")); IList <IWebElement> Receiptid; foreach (IWebElement receipt in Receipt_row) { Receiptid = receipt.FindElements(By.TagName("td")); if (Receiptid.Count != 0) { Receiptdetail = Receiptid[0].Text + "~" + Receiptid[1].Text + "~" + Receiptid[2].Text + "~" + Receiptid[3].Text + "~" + Receiptid[4].Text + "~" + Receiptid[5].Text + "~" + Receiptid[6].Text + "~" + Receiptid[7].Text; gc.insert_date(orderNumber, parcel_number, 577, Receiptdetail, 1, DateTime.Now); } } } catch { } //Taxes try { driver.FindElement(By.LinkText("Taxes")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_number, "Taxes Detail", driver, "AR", "Saline"); int CurrentYear = DateTime.Now.Year; List <string> Firsttear = new List <string>(); IWebElement Tax_tabel = driver.FindElement(By.XPath("//*[@id='Taxes']/div/div[2]/table/tbody")); IList <IWebElement> Taxrow = Tax_tabel.FindElements(By.TagName("tr")); IList <IWebElement> Taxid; foreach (IWebElement tax in Taxrow) { Taxid = tax.FindElements(By.TagName("td")); if (Taxid.Count != 0) { string Taxresult = Taxid[0].Text + "~" + Taxid[1].Text + "~" + Taxid[2].Text + "~" + Taxid[3].Text + "~" + Taxid[4].Text; gc.insert_date(orderNumber, parcel_number, 578, Taxresult, 1, DateTime.Now); } if (Taxid.Count != 0 && Firsttear.Count < 1) { for (int i = 0; i < 2; i++) { if (tax.Text.Contains(Convert.ToString(CurrentYear)) && Firsttear.Count < 1) { IWebElement Year = Taxid[0].FindElement(By.TagName("a")); string Taxyear = Year.GetAttribute("href"); Firsttear.Add(Taxyear); } CurrentYear--; } } } //Property Information foreach (string Firsttear1 in Firsttear) { driver.Navigate().GoToUrl(Firsttear1); gc.CreatePdf(orderNumber, parcel_number, "Taxes Assessment", driver, "AR", "Saline"); Thread.Sleep(2000); try { IWebElement PropertyInformation = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody")); Tax_Status = gc.Between(PropertyInformation.Text, "Tax Status:", "Total Mandatory:"); TotalMandatory = gc.Between(PropertyInformation.Text, "Total Mandatory:", "Tax Paid:"); TaxPaid = gc.Between(PropertyInformation.Text, "Tax Paid:", "Balance:"); Balance = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[16]/td[2]/strong")).Text; } catch { } } } catch { } //Current Tax Information //try //{ // //Currenttaxinfo = driver.FindElement(By.XPath("/html/body/div[2]/table[4]/tbody")); // IList<IWebElement> tables1 = driver.FindElements(By.XPath("/html/body")); // int count1 = tables1.Count; // foreach (IWebElement tab in tables1) // { // if (tab.Text.Contains("Tax Information")) // { // IList<IWebElement> ITaxRealRowQ1 = tab.FindElements(By.TagName("tr")); // foreach (IWebElement ItaxReal1 in ITaxRealRowQ1) // { // IList<IWebElement> currenttaxid; // currenttaxid = ItaxReal1.FindElements(By.TagName("td")); // if (ItaxReal1.Text.Contains("Tax Information")) // { // if (currenttaxid.Count == 8) // { // if (currenttaxid.Count != 0 && currenttaxid.Count > 4 && !ItaxReal1.Text.Contains("Tax Type")) // { // string currenttaxresult = currenttaxid[0].Text + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + currenttaxid[3].Text + "~" + // currenttaxid[4].Text + "~" + currenttaxid[5].Text + "~" + currenttaxid[6].Text + "~" + currenttaxid[7].Text; // gc.insert_date(orderNumber, parcel_number, 585, currenttaxresult, 1, DateTime.Now); // } // if (currenttaxid.Count != 0 && currenttaxid.Count < 5) // { // string currenttaxresult = currenttaxid[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + // currenttaxid[3].Text; // gc.insert_date(orderNumber, parcel_number, 585, currenttaxresult, 1, DateTime.Now); // } // } // } // } // } // } //} //catch //{ //} try { Currenttaxinfo = driver.FindElement(By.XPath("/html/body/div[2]/table[4]/tbody")); IList <IWebElement> Currenttaxinforow = Currenttaxinfo.FindElements(By.TagName("tr")); IList <IWebElement> currenttaxid; foreach (IWebElement current in Currenttaxinforow) { currenttaxid = current.FindElements(By.TagName("td")); if (currenttaxid.Count != 0 && !current.Text.Contains("Tax Type")) { if (currenttaxid.Count > 4) { string currenttaxresult = currenttaxid[0].Text + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + currenttaxid[3].Text + "~" + currenttaxid[4].Text + "~" + currenttaxid[5].Text + "~" + currenttaxid[6].Text + "~" + currenttaxid[7].Text; gc.insert_date(orderNumber, parcel_number, 585, currenttaxresult, 1, DateTime.Now); } if (currenttaxid.Count < 5) { string currenttaxresult = currenttaxid[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + currenttaxid[3].Text; gc.insert_date(orderNumber, parcel_number, 585, currenttaxresult, 1, DateTime.Now); } } } } catch { try { Currenttaxinfo = driver.FindElement(By.XPath("/html/body/div[2]/table[3]/tbody")); IList <IWebElement> Currenttaxinforow = Currenttaxinfo.FindElements(By.TagName("tr")); IList <IWebElement> currenttaxid; foreach (IWebElement current in Currenttaxinforow) { currenttaxid = current.FindElements(By.TagName("td")); if (currenttaxid.Count != 0 && !current.Text.Contains("Tax Type") && !current.Text.Contains("Receipt #")) { if (currenttaxid.Count > 4) { string currenttaxresult = currenttaxid[0].Text + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + currenttaxid[3].Text + "~" + currenttaxid[4].Text + "~" + currenttaxid[5].Text + "~" + currenttaxid[6].Text + "~" + currenttaxid[7].Text; gc.insert_date(orderNumber, parcel_number, 585, currenttaxresult, 1, DateTime.Now); } if (currenttaxid.Count < 5) { string currenttaxresult = currenttaxid[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + currenttaxid[1].Text + "~" + currenttaxid[2].Text + "~" + currenttaxid[3].Text; gc.insert_date(orderNumber, parcel_number, 585, currenttaxresult, 1, DateTime.Now); } } } } catch { } string TaxingAuthority = ""; try { driver.Navigate().GoToUrl("https://www.salinecollector.ar.gov/contact.html"); string Taxauthaddress = driver.FindElement(By.XPath("//*[@id='content']/div/div/div[1]/div")).Text; TaxingAuthority = GlobalClass.Before(Taxauthaddress, "101").Replace("\r\n", ""); string Taxnumber = gc.Between(Taxauthaddress, "pm", "E-mail:").Replace("\r\n", ""); string TaxPhone = " Telephone: " + GlobalClass.Before(Taxnumber, "Telephone:") + " FAX: " + gc.Between(Taxauthaddress, "Telephone:", "FAX:"); TaxingAuthority = TaxingAuthority + TaxPhone; gc.CreatePdf(orderNumber, parcel_number, "Tax Authority", driver, "AR", "Saline"); } catch { } gc.insert_date(orderNumber, parcel_number, 583, Tax_Status + "~" + TotalMandatory + "~" + TaxPaid + "~" + Balance + "~" + TaxingAuthority.Replace("\r\n", " "), 1, DateTime.Now); } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "AR", "Saline", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "AR", "Saline"); return("Data Inserted Successfully...."); } catch (Exception ex) { driver.Quit(); throw ex; } } }