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_LyonNV(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 = "", Year = "", Assmentresult1 = "", Assmentresult2 = "", Assmentresult3 = "", parcelhref = "", MailingAddress = ""; //request.UseDefaultCredentials = true; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { //RDP Site StartTime = DateTime.Now.ToString("HH:mm:ss"); try { driver.Navigate().GoToUrl("http://www.lyon-county.org/16/Clerk-Treasurer"); IWebElement Tax_Authority1 = driver.FindElement(By.XPath("//*[@id='cc63f54a4a-d572-4950-b6b6-883bceeb6c73']/div[1]/div/div/div/div/ol/li")); Tax_Authority = gc.Between(Tax_Authority1.Text, "Physical Address", "Fax:"); gc.CreatePdf_WOP(orderNumber, "tax Authority", driver, "NV", "Lyon"); } catch { } try { driver.Navigate().GoToUrl("http://www1.lyon-county.org:403/cgi-bin/asw100"); if (searchType == "titleflex") { //string address = houseno + " " + direction + " " + streetname + " " + streettype; gc.TitleFlexSearch(orderNumber, "", "", Address.Trim(), "NV", "Lyon"); 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_LyonNV"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[7]/td[4]/div/input")).SendKeys(Address); driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click(); Thread.Sleep(2000); try { int max = 0; gc.CreatePdf_WOP(orderNumber, "Address", driver, "NV", "Lyon"); IWebElement Addressclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> Addressclickrow = Addressclicktable.FindElements(By.TagName("tr")); IList <IWebElement> Addressclickid; foreach (IWebElement Addresemulti in Addressclickrow) { Addressclickid = Addresemulti.FindElements(By.TagName("td")); if (!Addresemulti.Text.Contains("Search Results") && !Addresemulti.Text.Contains("Parcel #") && Addressclickrow.Count < 26 && Addressclickid.Count != 0 && Addresemulti.Text.Trim() != "") { IWebElement parcelclick = Addressclickid[0].FindElement(By.TagName("a")); parcelhref = parcelclick.GetAttribute("href"); string multiparcelresult = Addressclickid[1].Text + "~" + Addressclickid[2].Text; gc.insert_date(orderNumber, Addressclickid[0].Text, 973, multiparcelresult, 1, DateTime.Now); max++; } } if (max == 1) { driver.Navigate().GoToUrl(parcelhref); Thread.Sleep(2000); } if (max > 1 && max < 26) { HttpContext.Current.Session["multiparcel_Lyon"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (max > 25) { HttpContext.Current.Session["multiParcel_Lyon_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='asw100parcels']/input[1]")).SendKeys(parcelNumber.Replace("-", "")); driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Parcel", driver, "NV", "Lyon"); try { IWebElement Addressclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> Addressclickrow = Addressclicktable.FindElements(By.TagName("tr")); IList <IWebElement> Addressclickid; foreach (IWebElement Addresemulti in Addressclickrow) { Addressclickid = Addresemulti.FindElements(By.TagName("td")); if (Addressclickrow.Count == 4 && !Addresemulti.Text.Contains("Search Results") && !Addresemulti.Text.Contains("Parcel #") && Addressclickid.Count != 0) { IWebElement parcelclick = Addressclickid[0].FindElement(By.TagName("a")); parcelhref = parcelclick.GetAttribute("href"); driver.Navigate().GoToUrl(parcelhref); Thread.Sleep(2000); break; } } } catch { } } if (searchType == "ownername") { driver.FindElement(By.XPath("//*[@id='asw100name']/input")).SendKeys(ownername); driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click(); Thread.Sleep(2000); try { int max = 0; gc.CreatePdf_WOP(orderNumber, "Address", driver, "NV", "Lyon"); IWebElement Addressclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> Addressclickrow = Addressclicktable.FindElements(By.TagName("tr")); IList <IWebElement> Addressclickid; foreach (IWebElement Addresemulti in Addressclickrow) { Addressclickid = Addresemulti.FindElements(By.TagName("td")); if (!Addresemulti.Text.Contains("Search Results") && !Addresemulti.Text.Contains("Parcel #") && Addressclickrow.Count < 26 && Addressclickid.Count != 0 && Addresemulti.Text.Trim() != "") { IWebElement parcelclick = Addressclickid[0].FindElement(By.TagName("a")); parcelhref = parcelclick.GetAttribute("href"); string multiparcelresult = Addressclickid[1].Text + "~" + Addressclickid[2].Text; gc.insert_date(orderNumber, Addressclickid[0].Text, 973, multiparcelresult, 1, DateTime.Now); max++; } } if (max == 1) { driver.Navigate().GoToUrl(parcelhref); Thread.Sleep(2000); } if (max > 1 && max < 26) { HttpContext.Current.Session["multiparcel_Lyon"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (max > 25) { HttpContext.Current.Session["multiParcel_Lyon_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table")); if (INodata.Text.Contains("No results found")) { HttpContext.Current.Session["Nodata_LyonNV"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property detail gc.CreatePdf_WOP(orderNumber, "After click", driver, "NV", "Lyon"); IWebElement parcelnumweb = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[1]/td/div")); Parcel_number = GlobalClass.After(parcelnumweb.Text.Replace("-", ""), "Parcel #").Trim(); IWebElement propertydetaillist = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[1]/table/tbody")); string PropertyLocation = gc.Between(propertydetaillist.Text, "Property Location", "Town"); string Town = gc.Between(propertydetaillist.Text, "Town", "District"); string District = gc.Between(propertydetaillist.Text, "District", "Subdivision"); IWebElement ownershipdetail = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[2]/table/tbody")); string AssessedOwnerName = gc.Between(ownershipdetail.Text, "Assessed Owner Name", "Mailing Address"); if (ownershipdetail.Text.Contains("Add'l Owners")) { MailingAddress = gc.Between(ownershipdetail.Text, "Add'l Owners", "Legal Owner Name"); } if (!ownershipdetail.Text.Contains("Add'l Owners")) { MailingAddress = gc.Between(ownershipdetail.Text, "Mailing Address", "Legal Owner Name"); } string LegalOwnerName = gc.Between(ownershipdetail.Text, "Legal Owner Name", "Vesting Doc #"); try { Year = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[4]/td[2]/table/tbody/tr[9]/td[2]/div")).Text; } catch { } string Propertyresult = PropertyLocation + "~" + Town + "~" + District + "~" + AssessedOwnerName + "~" + MailingAddress + "~" + LegalOwnerName + "~" + Year; gc.insert_date(orderNumber, Parcel_number, 930, Propertyresult, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); string taxassment1 = "", taxassment2 = "", taxassment3 = ""; IWebElement assmentdetailtable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[5]/td[1]/table/tbody")); IList <IWebElement> assmentdetailrow = assmentdetailtable.FindElements(By.TagName("tr")); IList <IWebElement> assmentdetailid; foreach (IWebElement assmentdetail in assmentdetailrow) { assmentdetailid = assmentdetail.FindElements(By.TagName("td")); if (assmentdetailid.Count != 0 && !assmentdetail.Text.Contains("Increased") && !assmentdetail.Text.Contains("Assessed Valuation") && assmentdetail.Text.Trim() != "" && !assmentdetail.Text.Contains("Taxable Values")) { Assmentresult1 += assmentdetailid[1].Text + "~"; Assmentresult2 += assmentdetailid[2].Text + "~"; Assmentresult3 += assmentdetailid[3].Text + "~"; } if (assmentdetail.Text.Contains("Increased")) { break; } } IWebElement Taxabledetailtable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[5]/td[2]/table/tbody")); IList <IWebElement> taxdetailrow = Taxabledetailtable.FindElements(By.TagName("tr")); IList <IWebElement> Taxdetailid; foreach (IWebElement taxdetail in taxdetailrow) { Taxdetailid = taxdetail.FindElements(By.TagName("td")); if (Taxdetailid.Count != 0 && !taxdetail.Text.Contains("Increased") && !taxdetail.Text.Contains("Taxable Valuation") && taxdetail.Text.Trim() != "" && !taxdetail.Text.Contains("Taxable Values")) { taxassment1 += Taxdetailid[1].Text + "~"; taxassment2 += Taxdetailid[2].Text + "~"; taxassment3 += Taxdetailid[3].Text + "~"; } if (taxdetail.Text.Contains("Increased")) { break; } } gc.insert_date(orderNumber, Parcel_number, 934, Assmentresult1 + taxassment1.Remove(taxassment1.Length - 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 934, Assmentresult2 + taxassment2.Remove(taxassment2.Length - 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 934, Assmentresult3 + taxassment3.Remove(taxassment3.Length - 1), 1, DateTime.Now); //tax Information TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://www1.lyon-county.org:403/cgi-bin/tcw100"); driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[3]/td[2]/div/input")).SendKeys(Parcel_number.Trim()); gc.CreatePdf(orderNumber, Parcel_number, "Tax Before click", driver, "NV", "Lyon"); driver.FindElement(By.XPath("//*[@id='tcw100search']/input")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Tax After click", driver, "NV", "Lyon"); IWebElement Taxparcelclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[3]/table/tbody")); IList <IWebElement> Taxparcelclickrow = Taxparcelclicktable.FindElements(By.TagName("tr")); IList <IWebElement> Taxparcelid; foreach (IWebElement Taxparcel in Taxparcelclickrow) { Taxparcelid = Taxparcel.FindElements(By.TagName("td")); if (Taxparcelid.Count != 0 && !Taxparcel.Text.Contains("Search Results") && !Taxparcel.Text.Contains("Search Results") && !Taxparcel.Text.Contains("Parcel #")) { IWebElement taxelement = Taxparcelid[0].FindElement(By.TagName("a")); string taxhfrf = taxelement.GetAttribute("href"); driver.Navigate().GoToUrl(taxhfrf); Thread.Sleep(2000); break; } } IWebElement Taxelement = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[1]/tbody/tr[1]/td[4]")); string[] taxinfoarray = Taxelement.Text.Split('\r', '\n'); string Tax_year = taxinfoarray[0]; string roll = taxinfoarray[2]; string TaxService = taxinfoarray[6]; string LandUseCode = taxinfoarray[8]; string Taxinformation = Tax_year + "~" + roll + "~" + TaxService + "~" + LandUseCode + "~" + Tax_Authority; gc.insert_date(orderNumber, Parcel_number, 941, Taxinformation, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_number, "Tax Information", driver, "NV", "Lyon"); string type = ""; IWebElement taxinfotable = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/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 != 0) { if (taxinfo.Text.Trim().Contains("Outstanding Taxes:") || taxinfo.Text.Contains("Current Year")) { type = taxinfoid[0].Text.Trim(); } if (type == "Outstanding Taxes:" && !taxinfo.Text.Contains("Prior Year") && taxinfo.Text.Trim() != "" && !taxinfo.Text.Contains("Outstanding Taxes:")) { string Taxuinforesult = taxinfoid[0].Text + "~" + taxinfoid[1].Text + "~" + taxinfoid[2].Text + "~" + taxinfoid[3].Text + "~" + taxinfoid[4].Text + "~" + taxinfoid[5].Text; gc.insert_date(orderNumber, Parcel_number, 945, Taxuinforesult, 1, DateTime.Now); } if (type == "Current Year" && !taxinfo.Text.Contains("Current Year") && taxinfo.Text.Trim() != "") { string taxinforesult = taxinfoid[0].Text + "~" + taxinfoid[1].Text + "~" + taxinfoid[2].Text + "~" + taxinfoid[3].Text + "~" + taxinfoid[4].Text + "~" + taxinfoid[5].Text; gc.insert_date(orderNumber, Parcel_number, 944, taxinforesult, 1, DateTime.Now); } } } //Additional Information string additional1 = "", additional2 = "", additional3 = "", additional4 = "", additional5 = ""; IWebElement addinformationtable = driver.FindElement(By.XPath("//*[@id='body']/table[3]/tbody/tr[2]/td/table/tbody")); IList <IWebElement> addinformationrow = addinformationtable.FindElements(By.TagName("tr")); IList <IWebElement> addinformationid; foreach (IWebElement addinformation in addinformationrow) { addinformationid = addinformation.FindElements(By.TagName("td")); if (addinformationid.Count != 0 && addinformation.Text.Trim() != "") { additional1 += addinformationid[1].Text.Trim() + "~"; additional2 += addinformationid[2].Text.Trim() + "~"; additional3 += addinformationid[3].Text.Trim() + "~"; additional4 += addinformationid[4].Text.Trim() + "~"; additional5 += addinformationid[5].Text.Trim() + "~"; //gc.insert_date(orderNumber, Parcel_number, 947, addinformationresult, 1, DateTime.Now); } } gc.insert_date(orderNumber, Parcel_number, 947, additional1.Remove(additional1.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 947, additional2.Remove(additional2.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 947, additional3.Remove(additional3.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 947, additional4.Remove(additional4.Length - 1, 1), 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 947, additional5.Remove(additional5.Length - 1, 1), 1, DateTime.Now); //current tax history // int firsttime = 0; for (int i = 1; i <= 3; i++) { try { driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody/tr[12]/td[2]/form/input[1]")).Click(); } catch { } Thread.Sleep(2000); string allmosttop = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[2]/tbody/tr[1]/td")).Text; //if (allmosttop.Trim() == "Already at bottom of list.") //{ // firsttime++; //} gc.CreatePdf(orderNumber, Parcel_number, "Tax History" + i, driver, "NV", "Lyon"); if (allmosttop.Trim() != "Already at top of list.") //|| firsttime == 1 { //gc.CreatePdf(orderNumber, Parcel_number, "Tax History" + i, driver, "NV", "Lyon"); IWebElement taxhistorytable = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody")); IList <IWebElement> taxhistoryrow = taxhistorytable.FindElements(By.TagName("tr")); IList <IWebElement> taxhistoryid; foreach (IWebElement taxhistory in taxhistoryrow) { taxhistoryid = taxhistory.FindElements(By.TagName("td")); if (taxhistoryid.Count != 0 && !taxhistory.Text.Contains("Date") && !taxhistory.Text.Trim().Contains("More...")) { string taxhistoryresult = taxhistoryid[0].Text.Trim() + "~" + taxhistoryid[1].Text + "~" + taxhistoryid[2].Text + "~" + taxhistoryid[3].Text + "~" + taxhistoryid[4].Text + "~" + taxhistoryid[5].Text; gc.insert_date(orderNumber, Parcel_number, 968, taxhistoryresult.Replace("\r\n", ""), 1, DateTime.Now); } } driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[1]/tbody/tr/td[1]/div/input")).Click(); Thread.Sleep(2000); } } //Special Assessment History int p = 0; //int spelcialfirst = 0; for (int j = 1; j <= 3; j++) { try { if (p == 0) { driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[1]/tbody/tr[5]/td[4]/div/input")).Click(); Thread.Sleep(2000); p++; } } catch { } IWebElement allmost = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[2]/tbody/tr[1]/td/div")); string topbottamlist = allmost.Text.Trim(); //if (topbottamlist == "Already at bottom of list.") //{ // spelcialfirst++; //} gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment History" + j, driver, "NV", "Lyon"); if (topbottamlist != "Already at top of list.") //|| spelcialfirst == 1 { //gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment History" + j, driver, "NV", "Lyon"); IWebElement SpecialAssessmentstable = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody")); IList <IWebElement> specialassmentrow = SpecialAssessmentstable.FindElements(By.TagName("tr")); IList <IWebElement> specialassmentid; foreach (IWebElement specialassment in specialassmentrow) { specialassmentid = specialassment.FindElements(By.TagName("td")); if (specialassmentid.Count != 0 && !specialassment.Text.Contains("Special Assessment") && !specialassment.Text.Trim().Contains("More...")) { string splicialassmentresult = specialassmentid[0].Text + "~" + specialassmentid[1].Text + "~" + specialassmentid[2].Text + "~" + specialassmentid[3].Text + "~" + specialassmentid[4].Text + "~" + specialassmentid[5].Text; gc.insert_date(orderNumber, Parcel_number, 974, splicialassmentresult, 1, DateTime.Now); } } driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[1]/tbody/tr/td[1]/div/input")).Click(); Thread.Sleep(2000); } } string strAMGParcelId = "", strAMGDistrict = "", strAMGName = "", strAMGStatus = "", strAMGUnbilled = "", strAMGParcelDetails = "", strLegal = "", strOriginalassess = "", strPayOff = "", strAMGAddressDetail = "", strAmgTaxAuthority = "", strType = "", strPrinicipal = "", strInterest = "" , strPenality = "", strOther = "", strTotalDue = "", strBreakParcel = "", strBreakDistrict = "", strBreakdown = ""; try { driver.Navigate().GoToUrl("https://amgnv.com/"); 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(Parcel_number); gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment", driver, "NV", "Lyon"); 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")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment Result", driver, "NV", "Lyon"); IWebElement IAMGParcelSearch = 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")); string stramgParcel = IAMGParcelSearch.GetAttribute("href"); driver.Navigate().GoToUrl(stramgParcel); gc.CreatePdf(orderNumber, Parcel_number, "AMG Result", driver, "NV", "Lyon"); IWebElement IParcelTable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[3]/tbody")); IList <IWebElement> IParcelRow = IParcelTable.FindElements(By.TagName("tr")); IList <IWebElement> IParcelTD; foreach (IWebElement parcel in IParcelRow) { IParcelTD = parcel.FindElements(By.TagName("td")); if (IParcelTD.Count != 0 && !parcel.Text.Contains("Parcel #") && !parcel.Text.Contains("Amounts updated")) { try { strAMGParcelId = IParcelTD[0].Text; strAMGDistrict = IParcelTD[1].Text; strAMGName = IParcelTD[2].Text; strAMGStatus = IParcelTD[3].Text; strAMGUnbilled = IParcelTD[4].Text; } catch { } strAMGParcelDetails = strAMGDistrict + "~" + strAMGName + "~" + strAMGStatus + "~" + strAMGUnbilled; } } IWebElement IAMGAddressTable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[4]/tbody")); IList <IWebElement> IAMGAddressRow = IAMGAddressTable.FindElements(By.TagName("tr")); IList <IWebElement> IAMGAddressTd; foreach (IWebElement address in IAMGAddressRow) { IAMGAddressTd = address.FindElements(By.TagName("td")); if (IAMGAddressTd.Count != 0 && !address.Text.Contains("Situs & Legal Description")) { try { strLegal += IAMGAddressTd[0].Text + " "; strOriginalassess = IAMGAddressTd[1].Text; strPayOff = IAMGAddressTd[2].Text; IAmg = IAMGAddressTd[2].FindElement(By.TagName("a")); } catch { } strAMGAddressDetail = strLegal + "~" + strOriginalassess + "~" + strPayOff; } } if (strAMGParcelDetails.Trim() != "" && strAMGAddressDetail != "") { try { strAmgTaxAuthority = 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]")).Text; } catch { } gc.insert_date(orderNumber, Parcel_number, 970, strAMGParcelDetails + "~" + strAMGAddressDetail + "~" + strAmgTaxAuthority, 1, DateTime.Now); } IWebElement IAMGDuePayTable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[6]/tbody")); IList <IWebElement> IAMGDuePayRow = IAMGDuePayTable.FindElements(By.TagName("tr")); IList <IWebElement> IAMGDuePayTd; foreach (IWebElement Due in IAMGDuePayRow) { IAMGDuePayTd = Due.FindElements(By.TagName("td")); if (IAMGDuePayTd.Count != 0 && !Due.Text.Contains("Principal") && !Due.Text.Contains("Current Due and Payoff Amounts are valid ") && !Due.Text.Contains("* Penalties are added monthly until the Total Due is paid in full.") && !Due.Text.Contains("**Estimated installments") && !Due.Text.Contains("*** Payoff value")) { try { strType = IAMGDuePayTd[0].Text; strPrinicipal = IAMGDuePayTd[1].Text; strInterest = IAMGDuePayTd[2].Text; strPenality = IAMGDuePayTd[3].Text; strOther = IAMGDuePayTd[4].Text; strTotalDue = IAMGDuePayTd[5].Text; } catch { } strAMGAddressDetail = strType + "~" + strPrinicipal + "~" + strInterest + "~" + strPenality + "~" + strOther + "~" + strTotalDue; gc.insert_date(orderNumber, Parcel_number, 971, strAMGAddressDetail, 1, DateTime.Now); } } try { IAmg.SendKeys(Keys.Enter); string strURL = driver.CurrentWindowHandle; string strURLLast = driver.WindowHandles.Last(); driver.SwitchTo().Window(strURLLast); gc.CreatePdf(orderNumber, Parcel_number, "BreakDown Result", driver, "NV", "Lyon"); strBreakParcel = driver.FindElement(By.XPath("/html/body/center/table[1]/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text; strBreakDistrict = driver.FindElement(By.XPath("/html/body/center/table[1]/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text; IWebElement IBreakDownTable = driver.FindElement(By.XPath("/html/body/center/table[2]/tbody/tr/td/table/tbody")); IList <IWebElement> IBreakDownRow = IBreakDownTable.FindElements(By.TagName("tr")); IList <IWebElement> IBreakDownTD; foreach (IWebElement Break in IBreakDownRow) { IBreakDownTD = Break.FindElements(By.TagName("td")); if (IBreakDownTD.Count != 0 && !Break.Text.Contains("REAL PROPERTY ASSESSED VALUE")) { try { strBreakdown += IBreakDownTD[1].Text + "~"; } catch { } } } if (strBreakdown.Length != 0) { string strstrBreakdownDetails = strBreakdown.Remove(strBreakdown.Length - 1); gc.insert_date(orderNumber, Parcel_number, 972, strBreakDistrict + "~" + strstrBreakdownDetails, 1, DateTime.Now); } } catch { } } catch { } LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NV", "Lyon", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "NV", "Lyon"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }