public string FTP_Baltimore(string houseno, string sname, string stype, 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 Tax_Year = "", Paid_Date = "", Discount = "", Paid_Amount = "", Total_Due = "", b = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://sdat.dat.maryland.gov/RealProperty/Pages/default.aspx"); Thread.Sleep(3000); var Select = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlCounty")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("BALTIMORE CITY"); if (searchType == "address") { var Select1 = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlSearchType")); var selectElement11 = new SelectElement(Select1); selectElement11.SelectByText("STREET ADDRESS"); gc.CreatePdf_WOP(orderNumber, "Address", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StartNavigationTemplateContainerID_btnContinue")).SendKeys(Keys.Enter); Thread.Sleep(3000); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtStreenNumber")).SendKeys(houseno); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtStreetName")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StepNavigationTemplateContainerID_btnStepNextButton")).SendKeys(Keys.Enter); Thread.Sleep(4000); try { if (driver.FindElement(By.XPath(" //*[@id='MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchResult_gv_SearchResult']/tbody")).Displayed) { gc.CreatePdf_WOP(orderNumber, "MultiParcel search result", driver, "MD", "Baltimore City"); IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchResult_gv_SearchResult']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; int k = 0; foreach (IWebElement row in multitableRow11) { if (k <= 25) { if (!row.Text.Contains("Name")) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count != 1 && multirowTD11[0].Text.Trim() != "") { string p_no = multirowTD11[1].Text.Trim(); p_no = p_no.Replace(" ", ""); string multi_parcel = multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim() + "~" + multirowTD11[3].Text.Trim() + "~" + multirowTD11[4].Text.Trim() + "~" + multirowTD11[5].Text.Trim(); gc.insert_date(orderNumber, p_no, 210, multi_parcel, 1, DateTime.Now); } } k++; } } if (multitableRow11.Count > 25) { HttpContext.Current.Session["multiParcel_Baltimore_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Baltimore"] = "Yes"; } driver.Quit(); // gc.mergpdf(orderNumber); return("MultiParcel"); } } catch { } } if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + stype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", ownername, titleaddress.Trim(), "MD", "Baltimore 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_MDBaltimore"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { //if ((HttpContext.Current.Session["titleflex_alternateAPN"] == null)) //{ // gc.TitleFlexSearch(orderNumber, parcelNumber, "", "", "MD", "Baltimore City"); // string strParcelNumber = HttpContext.Current.Session["titleflex_alternateAPN"].ToString(); // if (strParcelNumber.Trim().Length == 13 || strParcelNumber.Trim().Length == 12 || strParcelNumber.Trim().Length == 9) // { // parcelNumber = strParcelNumber.Replace("-", "").Replace(" ", ""); // } // HttpContext.Current.Session["titleflex_alternateAPN"] = null; //} //if (HttpContext.Current.Session["titleparcel"] != null && HttpContext.Current.Session["titleflex_alternateAPN"] != null) //{ // string strParcelNumber = HttpContext.Current.Session["titleflex_alternateAPN"].ToString(); // if (strParcelNumber.Trim().Length == 13 || strParcelNumber.Trim().Length == 12 || strParcelNumber.Trim().Length == 9) // { // parcelNumber = strParcelNumber.Replace("-", "").Replace(" ", ""); // } //} var Select11 = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlSearchType")); var selectElement111 = new SelectElement(Select11); selectElement111.SelectByText("PROPERTY ACCOUNT IDENTIFIER"); gc.CreatePdf_WOP(orderNumber, "Parcel search", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StartNavigationTemplateContainerID_btnContinue")).SendKeys(Keys.Enter); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } if (parcelNumber.Length == 12) { string ward = parcelNumber.Substring(0, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtWard")).SendKeys(ward); string section1 = parcelNumber.Substring(2, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtSection")).SendKeys(section1); string block = parcelNumber.Substring(4, 5); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtBlock")).SendKeys(block); string lot = parcelNumber.Substring(9, 3); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtLot")).SendKeys(lot); } else { string ward1 = parcelNumber.Substring(0, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtWard")).SendKeys(ward1); string section11 = parcelNumber.Substring(2, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtSection")).SendKeys(section11); string block1 = parcelNumber.Substring(4, 4); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtBlock")).SendKeys(block1); string lot1 = parcelNumber.Substring(8, 3); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtLot")).SendKeys(lot1); } gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StepNavigationTemplateContainerID_btnStepNextButton")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result1", driver, "MD", "Baltimore City"); } try { IWebElement INodata = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_lblErr")); if (INodata.Text.Contains("no records that match your criteria")) { HttpContext.Current.Session["Nodata_MDBaltimore"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details gc.CreatePdf(orderNumber, parcelNumber, "Assessment details", driver, "MD", "Baltimore City"); string Account_id_number = "", Owner_name = "", Address = "", Legal_Description = "", Year_Built = "", use = "", Principal_Residence = "", Map = "", Sections = "", Land = "", Building = "", Total_Assessed_Value = ""; string Grid = "", Parcel = "", Sub_District = "", Subdivision = "", Block = "", Lot = "", Assessment_Year = "", Homestead_Application_Status = "", Homeowners_Tax_Credit_Application_Status = "", Homeowners_Tax_Credit_Application_Date = ""; Account_id_number = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblDetailsStreetHeader_0")).Text.Trim(); string value = Account_id_number.Replace("Ward", "").Replace("Section", "").Replace("Block", "").Replace("Lot", ""); Account_id_number = value.Replace(" ", "").Replace("-", ""); Owner_name = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblOwnerName_0")).Text.Trim(); Address = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblPremisesAddress_0")).Text.Trim(); Address = Address.Replace("\r\n", " "); string Mail_Address = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblMailingAddress_0")).Text.Trim(); Mail_Address = Mail_Address.Replace("\r\n", " "); Legal_Description = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblLegalDescription_0")).Text.Trim(); Year_Built = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label18_0")).Text.Trim(); use = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblUse_0")).Text.Trim(); Principal_Residence = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblPrinResidence_0")).Text.Trim(); Map = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label5_0")).Text.Trim(); Grid = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label6_0")).Text.Trim(); Parcel = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label7_0")).Text.Trim(); Sub_District = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label8_0")).Text.Trim(); Subdivision = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label9_0")).Text.Trim(); Sections = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label10_0")).Text.Trim(); Block = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label11_0")).Text.Trim(); Lot = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label12_0")).Text.Trim(); Assessment_Year = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label13_0")).Text.Trim(); Homestead_Application_Status = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHomeStatus_0")).Text.Trim(); Homeowners_Tax_Credit_Application_Status = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHTC_Status_0")).Text.Trim(); Homeowners_Tax_Credit_Application_Date = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHTC_StatusDate_0")).Text.Trim(); string property_details = Account_id_number + "~" + Owner_name + "~" + Address + "~" + Mail_Address + "~" + Legal_Description + "~" + Year_Built + "~" + use + "~" + Principal_Residence + "~" + Map + "~" + Grid + "~" + Parcel + "~" + Sub_District + "~" + Subdivision + "~" + Sections + "~" + Block + "~" + Lot + "~" + Assessment_Year + "~" + Homestead_Application_Status + "~" + Homeowners_Tax_Credit_Application_Status + "~" + Homeowners_Tax_Credit_Application_Date; gc.insert_date(orderNumber, Account_id_number, 206, property_details, 1, DateTime.Now); //Assessment Details Table: Land = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblBaseLand_0")).Text.Trim(); Building = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblBaseImprove_0")).Text.Trim(); Total_Assessed_Value = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblBaseTotal_0")).Text.Trim(); string Assessment_details = Land + "~" + Building + "~" + Total_Assessed_Value; gc.insert_date(orderNumber, Account_id_number, 207, Assessment_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://cityservices.baltimorecity.gov/realproperty/default.aspx"); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_txtBlock")).SendKeys(Block); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_txtLot")).SendKeys(Lot); gc.CreatePdf(orderNumber, Account_id_number, "Tax_info", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Account_id_number, "Tax_info1", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_DataGrid1_ctl02_lnkBtnSelect")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Account_id_number, "Tax_info2", driver, "MD", "Baltimore City"); string other_charges = ""; Tax_Year = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_LabelEndFY")).Text; string other = ""; try { other = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Other2")).Text; } catch { other = ""; } try { if (other != "OTHER CHARGES") { Paid_Date = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Paid")).Text; Paid_Date = Regex.Replace(Paid_Date, "[A-Za-z ]", "").Trim(); string a1 = Paid_Date.Substring(0, 8); Discount = Paid_Date.Substring(8, 4); Paid_Date = a1; Paid_Amount = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_AmtPaid")).Text; } else { Paid_Date = " "; Discount = " "; Paid_Date = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Other")).Text; Paid_Amount = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_OtherAmt")).Text; Paid_Date = Regex.Replace(Paid_Date, "[A-Za-z ]", "").Trim(); string a1 = Paid_Date.Substring(0, 8); Discount = Paid_Date.Substring(8, 4); Paid_Date = a1; other_charges = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Other2Amt")).Text; } } catch { } Total_Due = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_AmountDue")).Text; if (!Total_Due.Contains("0.00")) { other_charges = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_OtherAmt")).Text; } IWebElement multitableElement1 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table1']/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { if (!row.Text.Contains("ASSESSMENT")) { if (!row.Text.Contains("PAID")) { multirowTD1 = row.FindElements(By.TagName("td")); if (multirowTD1.Count != 1) { if (multirowTD1.Count == 4) { string tax_info = Tax_Year + "~" + "" + "~" + multirowTD1[0].Text.Trim() + "~" + multirowTD1[1].Text.Trim() + "~" + multirowTD1[2].Text.Trim() + "~" + multirowTD1[3].Text.Trim() + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Account_id_number, 208, tax_info, 1, DateTime.Now); } } } } } string tax_info1 = Tax_Year + "~" + Paid_Date + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + other_charges + "~" + Discount + "~" + Paid_Amount + "~" + Total_Due; gc.insert_date(orderNumber, Account_id_number, 208, tax_info1, 1, DateTime.Now); string Taxing_authority_address1 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_tblDetail']/tbody/tr[2]/td[2]")).Text.Trim(); Taxing_authority_address1 = Taxing_authority_address1.Replace("\r\n", " "); string Taxing_authority_address = WebDriverTest.Before(Taxing_authority_address1, "TELEPHONE").Trim(); string telephone = WebDriverTest.After(Taxing_authority_address1, "BILLING").Trim(); telephone = WebDriverTest.Before(telephone, "IVR REFERENCE").Trim(); string tax_info2 = "Taxing Authority :" + "~" + Taxing_authority_address + "~" + "Phone Number :" + "~" + telephone + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Account_id_number, 208, tax_info2, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Due / Delinquent Details if (!Total_Due.Contains("0.00")) { string install = ""; IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table2']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; foreach (IWebElement row in multitableRow11) { if (!row.Text.Contains("SEMIANNUAL PAYMENT")) { if (row.Text.Contains("1ST INSTALLMENT")) { install = "1ST INSTALLMENT"; } if (row.Text.Contains("2ND INSTALLMENT")) { install = "2ND INSTALLMENT"; } if (row.Text.Contains("ANNUAL PAYMENT SCHEDULE")) { install = "ANNUAL PAYMENT SCHEDULE"; } if (!row.Text.Contains("IF PAID BY")) { if (!row.Text.Contains(" ")) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count == 3) { string tax_info = "-" + "~" + install + "~" + multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim(); gc.insert_date(orderNumber, Account_id_number, 209, tax_info, 1, DateTime.Now); } } } } } string service_fee = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table2']/tbody/tr[14]/td[1]")).Text; tax_info1 = service_fee + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Account_id_number, 209, tax_info1, 1, DateTime.Now); string fee = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table2']/tbody/tr[14]/td[2]")).Text; tax_info2 = fee + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Account_id_number, 209, tax_info2, 1, DateTime.Now); } CitytaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MD", "Baltimore City", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MD", "Baltimore City"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Utah(string houseno, string direction, string sname, string sttype, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { 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(); IJavaScriptExecutor js = driver as IJavaScriptExecutor; string pathurl = "", Owner_Name = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; List <string> taxurllist = new List <string>(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + direction + " " + sname + " " + sttype; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "UT", "Utah"); 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["Utah_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://www.utahcountyonline.org/LandRecords/Index.asp"); if (searchType == "address") { driver.Navigate().GoToUrl("http://www.utahcountyonline.org/LandRecords/AddressSearchForm.asp"); Thread.Sleep(2000); //driver.FindElement(By.XPath("/html/body/div/div[6]/div[2]/table/tbody/tr/td/table/tbody/tr/td[1]/ul[1]/li[2]/a")).SendKeys(Keys.Enter); //gc.CreatePdf_WOP_Chrome(orderNumber, "Address Search",driver, "UT", "Utah"); driver.FindElement(By.Id("av_house")).SendKeys(houseno); driver.FindElement(By.Id("av_dir")).SendKeys(direction); driver.FindElement(By.Id("av_street")).SendKeys(sname); driver.FindElement(By.Id("street_type")).SendKeys(sttype); //IWebElement rdio = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[2]/label[2]/label/input")); //js.ExecuteScript("arguments[0].click();", rdio); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[3]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP_Chrome(orderNumber, "Address Search result", driver, "UT", "Utah"); //multi parcel IWebElement multitableElement = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> multitableRow = multitableElement.FindElements(By.TagName("tr")); if (multitableRow.Count > 2) { IList <IWebElement> multirowTD; foreach (IWebElement row in multitableRow) { multirowTD = row.FindElements(By.TagName("td")); if (multirowTD.Count != 0 && !row.Text.Contains("Serial Number")) { string multi = multirowTD[1].Text.Trim() + "~" + "-"; gc.insert_date(orderNumber, multirowTD[0].Text.Trim(), 119, multi, 1, DateTime.Now); } } HttpContext.Current.Session["multiparcel_Utah"] = "Yes"; if (multitableRow.Count > 25) { HttpContext.Current.Session["multiParcel_Utah_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } if (multitableRow.Count == 1) { HttpContext.Current.Session["Utah_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } else { driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); IWebElement url = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td[1]/a")); pathurl = url.GetAttribute("href"); Owner_Name = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text; driver.Navigate().GoToUrl(pathurl); gc.CreatePdf_WOP_Chrome(orderNumber, "Address Search result page", driver, "UT", "Utah"); } } else if (searchType == "parcel") { driver.FindElement(By.XPath("/html/body/div/div[6]/div[2]/table/tbody/tr/td/table/tbody/tr/td[1]/ul[1]/li[3]/a")).SendKeys(Keys.Enter); if (parcelNumber.Contains(":") || parcelNumber.Contains(" ")) { parcelNumber = parcelNumber.Replace(":", "").Trim(); parcelNumber = parcelNumber.Replace(" ", "").Trim(); } gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Parcel Search", driver, "UT", "Utah"); driver.FindElement(By.Id("av_serial")).SendKeys(parcelNumber); IWebElement rdio = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[2]/label[2]/label/input")); js.ExecuteScript("arguments[0].click();", rdio); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[3]/input")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Parcel Search result", driver, "UT", "Utah"); IList <IWebElement> TRserial = driver.FindElements(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr")); int count = TRserial.Count; for (int i = 2; i <= count; i++) { try { string selectedvalue = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[" + i + "]/td[3]/select/option[1]")).Text; selectedvalue = selectedvalue.Replace(":", ""); if (selectedvalue == parcelNumber) { IWebElement propinfo = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[" + i + "]/td[3]/select/option[2]")); string url = propinfo.GetAttribute("value"); Owner_Name = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text; gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Parcel Search - select parcel number page", driver, "UT", "Utah"); pathurl = "http://www.utahcounty.gov/LandRecords/" + url; driver.Navigate().GoToUrl(pathurl); // break; } } catch { } } } else if (searchType == "ownername") { driver.FindElement(By.XPath("/html/body/div/div[6]/div[2]/table/tbody/tr/td/table/tbody/tr/td[1]/ul[1]/li[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf_WOP_Chrome(orderNumber, "Owner name Search", driver, "UT", "Utah"); driver.FindElement(By.Id("av_name")).SendKeys(ownername); IWebElement rdio = driver.FindElement(By.XPath("//*[@id='av_valid_0']")); //js.ExecuteScript("arguments[0].click();", rdio); rdio.Click(); driver.FindElement(By.XPath("//*[@id='form1']/div/table/tbody/tr[1]/td/p[3]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP_Chrome(orderNumber, "Owner name Search result", driver, "UT", "Utah"); try { //multi parcel IWebElement multitableElement = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> multitableRow = multitableElement.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD; foreach (IWebElement row in multitableRow) { multirowTD = row.FindElements(By.TagName("td")); if (multirowTD.Count != 0 && !row.Text.Contains("Owner")) { string multi = multirowTD[0].Text.Trim() + "~" + multirowTD[4].Text.Trim(); gc.insert_date(orderNumber, multirowTD[1].Text.Trim(), 119, multi, 1, DateTime.Now); } } HttpContext.Current.Session["multiparcel_Utah"] = "Yes"; if (multitableRow.Count > 25) { HttpContext.Current.Session["multiParcel_Utah_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } catch { } try { IWebElement Nodata = driver.FindElement(By.XPath("/html/body/table")); if (!Nodata.Text.Contains("Property Address") && !Nodata.Text.Contains("Owner Name")) { HttpContext.Current.Session["Utah_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } Thread.Sleep(3000); //Property details string Parcel_ID = "-", Property_Address = "-", Mailing_Address = "-", Legal_Description = "-"; Parcel_ID = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]/td[1]")).Text; Parcel_ID = WebDriverTest.After(Parcel_ID, "Serial Number:"); Property_Address = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]")).Text; Property_Address = WebDriverTest.After(Property_Address, "Property Address:"); Mailing_Address = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[4]/td[1]")).Text; Mailing_Address = WebDriverTest.After(Mailing_Address, "Mailing Address:"); Legal_Description = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[8]/td[1]")).Text; Legal_Description = WebDriverTest.After(Legal_Description, "Legal Description:"); IList <IWebElement> tron = driver.FindElements(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[1]/table[2]/tbody/tr")); for (int trcount = 1; trcount <= tron.Count; trcount++) { IWebElement on = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[1]/table[2]/tbody/tr[" + trcount + "]/td[1]/span")); string greentag = on.GetAttribute("class"); if (greentag == "style1yv") { Owner_Name += driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[1]/table[2]/tbody/tr[" + trcount + "]/ td[3]")).Text + "&"; } } Owner_Name = Regex.Replace(Owner_Name, "[0-9]{2,}", "").Replace("&", " ").Replace(":", ""); if (Parcel_ID.Contains(":")) { Parcel_ID = Parcel_ID.Replace(":", ""); } gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Property Details information", driver, "UT", "Utah"); //OwnerName = Owner_Name.Substring(OwnerName.Length - 1,1); string prop = Owner_Name + "~" + Property_Address + "~" + Legal_Description + "~" + Mailing_Address; gc.insert_date(orderNumber, Parcel_ID, 122, prop, 1, DateTime.Now); //assessment details string Tax_Year = "-"; Thread.Sleep(4000); driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[2]")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[2]/table/tbody/tr[3]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(3000); Tax_Year = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/p[1]")).Text; Tax_Year = WebDriverTest.After(Tax_Year, "Tax Year: "); Tax_Year = WebDriverTest.Before(Tax_Year, " Tax District:").Trim(); } catch { } string RealEstate_Residential = "", RealEstate_Agricultural = "", RealEstate_Commercial = "", RealEstate_Totals = ""; string Improvements_Residential = "", Improvements_Agricultural = "", Improvements_Commercial = "", Improvements_Totals = ""; string Greenbelt_Residential = "", Greenbelt_RealEstate = "", Greenbelt_HomeSite = "", Greenbelt_Totals = "", Greenbelt_TotalsRealProperty = "", Greenbelt_AttachedPersonalProperty = "", Greenbelt_ToatalValuation = ""; string Ok = ""; IWebElement tbassess = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> trassess = tbassess.FindElements(By.TagName("tr")); IList <IWebElement> tdassess; foreach (IWebElement row in trassess) { tdassess = row.FindElements(By.TagName("td")); if (Ok == "Real Estate" && tdassess[3].Text.Trim() != "") { RealEstate_Residential = tdassess[1].Text + "~" + tdassess[3].Text + "~" + tdassess[5].Text + "~" + RealEstate_Residential; } if (tdassess.Count != 0 && row.Text.Contains("* * Real Estate")) { Ok = "Real Estate"; } if (Ok == "Improvements" && tdassess[3].Text.Trim() != "") { Improvements_Residential = tdassess[1].Text + "~" + tdassess[3].Text + "~" + tdassess[5].Text + "~" + Improvements_Residential; //RealEstate_Residential = new string(RealEstate_Residential.Reverse().ToArray()); } if (tdassess.Count != 0 && row.Text.Contains("* * Improvements")) { Ok = "Improvements"; } if (Ok == "Greenbelt as of") { Greenbelt_Residential = tdassess[1].Text + "~" + tdassess[3].Text + "~" + tdassess[5].Text + "~" + Greenbelt_Residential; //RealEstate_Residential = new string(RealEstate_Residential.Reverse().ToArray()); } if (tdassess.Count != 0 && row.Text.Contains("* * Greenbelt as of ")) { Ok = "Greenbelt as of"; } //if (tdassess.Count != 0 && !row.Text.Contains("* * Real Estate")) //{ // string assessment = Tax_Year + "~" + tdassess[1].Text.Trim() + "~" + tdassess[3].Text.Trim() + "~" + tdassess[5].Text.Trim(); ; // gc.insert_date(orderNumber, Parcel_ID, 123, assessment, 1,DateTime.Now); //} } RealEstate_Residential = RealEstate_Residential + "Ert"; RealEstate_Residential = RealEstate_Residential.Replace("~Ert", ""); Greenbelt_Residential = Greenbelt_Residential + "Ert"; Greenbelt_Residential = Greenbelt_Residential.Replace("~Ert", ""); Improvements_Residential = Improvements_Residential + "Ert"; Improvements_Residential = Improvements_Residential.Replace("~Ert", ""); string Overall = RealEstate_Residential + "~" + Improvements_Residential + "~" + Greenbelt_Residential; string[] Real = Overall.Split('~'); //for (int i = RealSplit.Count() - 1; i >= 0; i--) //{ // string assessment = RealSplit[i] + "~" + tdassess[1].Text.Trim() + "~" + tdassess[3].Text.Trim() + "~" + tdassess[5].Text.Trim(); ; // gc.insert_date(orderNumber, Parcel_ID, 123, assessment, 1,DateTime.Now); //} int K = 0; string FirstHalf = ""; try { FirstHalf = Real[K + 10] + "~" + Real[K + 11] + "~" + Real[K + 7] + "~" + Real[K + 8] + "~" + Real[K + 4] + "~" + Real[K + 5] + "~" + Real[K + 1] + "~" + Real[K + 2] + "~" + Real[K + 22] + "~" + Real[K + 23] + "~" + Real[K + 19] + "~" + Real[K + 20] + "~" + Real[K + 16] + "~" + Real[K + 17] + "~" + Real[K + 13] + "~" + Real[K + 14] + "~" + Real[K + 40] + "~" + Real[K + 41] + "~" + Real[K + 37] + "~" + Real[K + 38] + "~" + Real[K + 34] + "~" + Real[K + 35] + "~" + Real[K + 31] + "~" + Real[K + 32] + "~" + Real[K + 28] + "~" + Real[K + 29] + "~" + Real[K + 25] + "~" + Real[K + 26]; } catch { } gc.insert_date(orderNumber, Parcel_ID, 123, FirstHalf, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Assessment Details information", driver, "UT", "Utah"); driver.Navigate().GoToUrl(pathurl); Thread.Sleep(3000); //Tax history details driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[3]")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax History Details information", driver, "UT", "Utah"); IWebElement tbtaxHist = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody")); IList <IWebElement> trtaxhist = tbtaxHist.FindElements(By.TagName("tr")); IList <IWebElement> tdtaxhist; foreach (IWebElement row in trtaxhist) { tdtaxhist = row.FindElements(By.TagName("td")); if (tdtaxhist.Count != 0 && !row.Text.Contains("Year")) { string taxhist = tdtaxhist[0].Text + "~" + tdtaxhist[1].Text + "~" + tdtaxhist[2].Text + "~" + tdtaxhist[3].Text + "~" + tdtaxhist[4].Text + "~" + tdtaxhist[5].Text + "~" + tdtaxhist[6].Text + "~" + tdtaxhist[7].Text + "~" + tdtaxhist[8].Text; gc.insert_date(orderNumber, Parcel_ID, 128, taxhist, 1, DateTime.Now); } } try { IWebElement taxdetailtable = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody")); IList <IWebElement> taxdetailtableRow = taxdetailtable.FindElements(By.TagName("tr")); int taxrowcount = taxdetailtableRow.Count; IList <IWebElement> taxdetailrowTD; int c = 0; foreach (IWebElement rowid1 in taxdetailtableRow) { taxdetailrowTD = rowid1.FindElements(By.TagName("td")); if (taxdetailrowTD.Count != 0 && c <= taxrowcount && c > 2) { IWebElement taxhistory = driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/div/div[3]/table/tbody/tr[" + c + "]/td[1]/a")); string taxurl = taxhistory.GetAttribute("href"); taxurllist.Add(taxurl); //Thread.Sleep(2000); //string year = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td/strong[2]")).Text; //gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "TaxDeailInformation" + year, driver); //IWebElement URL= driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[17]/td/a")); //string Url = URL.GetAttribute("href"); //gc.downloadfile(Url, orderNumber, Parcel_ID, "TaxBill" + year); ////driver.Navigate().GoToUrl("http://www.utahcounty.gov/LandRecords/Property.asp?av_serial="+Parcel_ID); //driver.Navigate().Back(); } // Thread.Sleep(3000); c++; } } catch { } int i1 = 0; string Delinquent = "", Paymentdetails = ""; foreach (string URL in taxurllist) { if (i1 < 3) { driver.Navigate().GoToUrl(URL); Thread.Sleep(4000); string SerialNo = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td/strong[1]")).Text.Trim(); string year = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td/strong[2]")).Text.Trim(); string Nettax = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[9]/td[2]")).Text.Trim(); string Payments = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[12]/td[2]")).Text.Trim(); string Taxbalance = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[14]/td[2]")).Text.Trim(); try { Delinquent = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[10]/td[4]/table/tbody/tr[1]/td")).Text.Trim(); } catch { } try { Paymentdetails = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[16]/td[1]/table/tbody")).Text; } catch { } if (i1 == 0) { amck.TaxId = SerialNo.Replace(":", "").Trim(); amck.TaxYear = year; amck.Instamount1 = Nettax; amck.Instamountpaid1 = Payments; if (Delinquent.Contains("Delinquent Tax Information")) { amck.IsDelinquent = "Yes"; } else { //amck.IsDelinquent = "No"; if (Taxbalance == "$0.00" && Paymentdetails.Contains("None")) { } else { if (amck.Instamount1 == amck.Instamountpaid1) { amck.InstPaidDue1 = "Paid"; amck.IsDelinquent = "No"; } else { amck.IsDelinquent = "Yes"; } if (Nettax == Taxbalance) { amck.InstPaidDue1 = "Due"; amck.IsDelinquent = "No"; } } } 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); } } gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "TaxDeailInformation" + year, driver, "UT", "Utah"); IWebElement URL1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[17]/td/a")); string Url = URL1.GetAttribute("href"); driver.Navigate().GoToUrl(Url); Thread.Sleep(6000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax Bill" + year, driver, "UT", "Utah"); driver.SwitchTo().Window(driver.WindowHandles.First()); Thread.Sleep(2000); //gc.downloadfile(Url, orderNumber, Parcel_ID, "TaxBill" + year); i1++; } } driver.Navigate().GoToUrl("http://www.utahcounty.gov/LandRecords/Property.asp?av_serial=" + Parcel_ID); driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[3]")).SendKeys(Keys.Enter); //Tax payment details string Taxing_Authority = "", Good_PThrough_Date = "", date = "", deleiquent = ""; IWebElement tax_pay; try { tax_pay = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody/tr[3]/td[8]/a")); deleiquent = tax_pay.Text; if (deleiquent.Contains("Click for Payoff")) { tax_pay.SendKeys(Keys.Enter); Thread.Sleep(3000); IWebElement td = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td")); date = td.Text; date = WebDriverTest.After(date, "Total amount if paid as of").Trim(); date = WebDriverTest.Before(date, ". . .").Trim(); 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"); } } string Mon = ""; string[] da = date.Split('/'); string month = da[0]; string Date = da[1]; string year = da[2]; switch (month) { case "01": Mon = "January"; break; case "02": Mon = "February"; break; case "03": Mon = "March"; break; case "04": Mon = "April"; break; case "05": Mon = "May"; break; case "06": Mon = "June"; break; case "07": Mon = "July"; break; case "08": Mon = "August"; break; case "09": Mon = "September"; break; case "10": Mon = "October"; break; case "11": Mon = "November"; break; case "12": Mon = "December"; break; } driver.FindElement(By.XPath("//*[@id='av_date_btn']")).Click(); //select month for (int i = 1; i < 12; i++) { string calmy = driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[1]/td[2]")).Text; string[] my = calmy.Split(','); string cal_month = my[0]; string cal_year = my[1]; if (cal_month.Contains(Mon)) { break; } else { driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[2]/td[4]")).Click(); } } //select year for (int j = 1; j <= 5; j++) { string calmy = driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[1]/td[2]")).Text; string[] my = calmy.Split(','); string cal_month = my[0]; string cal_year = my[1]; if (cal_year.Contains(year)) { break; } else { driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[2]/td[5]")).Click(); } } //select date IWebElement tbdate = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody")); IList <IWebElement> trdate = tbdate.FindElements(By.TagName("tr")); IList <IWebElement> tddate; foreach (IWebElement row in trdate) { tddate = row.FindElements(By.TagName("td")); for (int a = 1; a <= 5; a++) { if (row.Text.Contains(Date)) { for (int b = 1; b <= 8; b++) { if (tddate[b].Text.Contains(Date)) { driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[" + a + "]/td[" + b + "]")).Click(); break; } } } } } driver.FindElement(By.XPath("//*[@id='button']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Deliquent Tax", driver, "UT", "Utah"); Taxing_Authority = driver.FindElement(By.XPath("//p[contains(text(),'The Treasurer')]/following-sibling::p")).Text; if (Taxing_Authority.Contains("\r\n")) { Taxing_Authority = Taxing_Authority.Replace("\r\n", " "); } IWebElement deliTB = driver.FindElement(By.XPath("//p[contains(text(),'Serial Number:')]/following-sibling::table/tbody")); IList <IWebElement> trdeli = deliTB.FindElements(By.TagName("tr")); IList <IWebElement> tddeli; foreach (IWebElement row in trdeli) { tddeli = row.FindElements(By.TagName("td")); if (tddeli.Count != 0 && !row.Text.Contains("Year") && !row.Text.Contains("amount if paid as") && !row.Text.Contains("--") && (row.Text != " ")) { string deliq = tddeli[0].Text + "~" + tddeli[1].Text + "~" + tddeli[2].Text + "~" + tddeli[3].Text + "~" + tddeli[4].Text + "~" + tddeli[5].Text + "~" + date + "~" + Taxing_Authority; if (deliq.Contains("\r\n")) { deliq = deliq.Replace("\r\n", ""); } gc.insert_date(orderNumber, Parcel_ID, 143, deliq, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl(pathurl); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[3]")).SendKeys(Keys.Enter); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody/tr[3]/td[6]/div/a")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax Payment Details information", driver, "UT", "Utah"); try { IWebElement tbtax = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody")); IList <IWebElement> trtax = tbtax.FindElements(By.TagName("tr")); IList <IWebElement> tdtax; foreach (IWebElement row in trtax) { tdtax = row.FindElements(By.TagName("td")); if (tdtax.Count != 0 && !row.Text.Contains("Tax Year")) { string tax = tdtax[0].Text + "~" + tdtax[2].Text + "~" + tdtax[4].Text + "~" + tdtax[6].Text + "~" + tdtax[8].Text + "~" + tdtax[10].Text + "~" + tdtax[12].Text + "~" + tdtax[14].Text + "~" + tdtax[16].Text; gc.insert_date(orderNumber, Parcel_ID, 129, tax, 1, DateTime.Now); } } } catch { } } } catch { } if (deleiquent == "") { // driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/div/div[3]/table/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax Payment Details information", driver, "UT", "Utah"); try { IWebElement tbtax = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody")); IList <IWebElement> trtax = tbtax.FindElements(By.TagName("tr")); IList <IWebElement> tdtax; foreach (IWebElement row in trtax) { tdtax = row.FindElements(By.TagName("td")); if (tdtax.Count > 1 && tdtax[0].Text.Trim() != "") { string tax = tdtax[0].Text + "~" + tdtax[1].Text; gc.insert_date(orderNumber, Parcel_ID, 129, tax, 1, DateTime.Now); } } } catch { } } driver.Navigate().GoToUrl(pathurl); Thread.Sleep(3000); //driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/ul/li[3]")).SendKeys(Keys.Enter); //driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/div/div[3]/table/tbody/tr[3]/td[1]/a")).SendKeys(Keys.Enter); //IWebElement URL= driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[17]/td/a")); //string Url = URL.GetAttribute("href"); //// URL.SendKeys(Keys.Enter); //// driver.SwitchTo().Window(driver.WindowHandles.Last()); // driver.Navigate().GoToUrl(Url); //string billpdf = outputPath + Parcel_ID.Replace(":", "") + "tax_bill.pdf"; //System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //WebClient downloadpdf = new WebClient(); //downloadpdf.DownloadFile(Url, billpdf); // CreatePdf_WOP(orderNumber, "Tax Bill"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "UT", "Utah", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "UT", "Utah"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public void FTP_LA(string address, string parcelNumber, string searchType, string orderNumber, string directParcel, string treasurerCaptcha) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; if (treasurerCaptcha == "") { var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; driver = new PhantomJSDriver(); try { if (searchType == "address") { if (Assessor_pageLoad()) { GlobalClass.multiParcel_la = "Yes";; driver.FindElement(By.Name("basicsearchterm")).SendKeys(address); driver.FindElement(By.XPath("/html/body/div/div[2]/div/form[1]/div/span/button")).Click(); Thread.Sleep(3000); //Select address from list.... IWebElement tableElement = driver.FindElement(By.XPath("/html/body/div/div[3]/div/table")); IList <IWebElement> tableRow = tableElement.FindElements(By.TagName("tr")); IList <IWebElement> rowTD; foreach (IWebElement row in tableRow) { rowTD = row.FindElements(By.TagName("td")); if (rowTD.Count != 0) { string multi = rowTD[1].Text + "~" + rowTD[2].Text.Replace("'", ""); gc.insert_data(orderNumber, DateTime.Now, rowTD[0].Text.Trim(), 51, multi, 1); //db.ExecuteQuery("insert into la_multiowner(parcel_no,situs_address,legal_description,order_no) values('" + rowTD[0].Text + "','" + rowTD[1].Text + "','" + rowTD[2].Text.Replace("'", "") + "','" + orderNumber + "') "); } } driver.Quit(); return; } } else if (searchType == "parcel") { string parcelUrl = "https://portal.assessor.lacounty.gov/parceldetail/" + parcelNumber; driver.Navigate().GoToUrl(parcelUrl); GlobalClass.parcel_status = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[3]/dl/dd[1]")).Text.TrimStart().TrimEnd(); if (GlobalClass.parcel_status == "DELETED" || GlobalClass.parcel_status == "INACTIVE" || GlobalClass.parcel_status == "IN ACTIVE") { driver.Quit(); return; } GlobalClass.parcelNumber_la = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[1]/h2/div")).Text; GlobalClass.parcelNumber_la = WebDriverTest.Between(GlobalClass.parcelNumber_la, " ", " "); gc.CreatePdf(orderNumber, parcelNumber, "Assessor", driver, "CA", "Los Angeles"); //scrap exemption... IWebElement exemption = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[3]/dl/dd[6]")); string exemp_Value = "-", usetype = "-", taxratearea = "-", yearbuilt = "-"; exemp_Value = exemption.Text; //if (directParcel == "Yes") //{ IWebElement sit_addr = driver.FindElement(By.XPath("/html/body/div/div/section[2]/div[2]/div/div[2]/div[1]/div[3]/dl/dd")); string situs_address = sit_addr.Text; IWebElement legal_desc = driver.FindElement(By.XPath("/html/body/div/div/section[2]/div[2]/div/div[2]/div[1]/div[4]/dl/dd")); string legal_description = legal_desc.Text; usetype = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[2]/dl/dd[1]")).Text.Trim(); if (usetype == "") { usetype = "-"; } taxratearea = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[2]/dl/dd[3]")).Text.Trim(); if (taxratearea == "") { taxratearea = "-"; } yearbuilt = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[4]/div[3]/dl/dd[1]")).Text.Trim(); if (yearbuilt == "") { yearbuilt = "-"; } string property = situs_address + "~" + legal_description + "~" + usetype + "~" + taxratearea + "~" + yearbuilt; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 50, property, 1); // db.ExecuteQuery("insert into la_multiowner(parcel_no,situs_address,legal_description,order_no) values('" + parcelNumber + "','" + situs_address + "','" + legal_description + "','" + orderNumber + "') "); // } //scrap table... IWebElement tblAssess = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[5]/table")); string yr1 = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[5]/table/thead/tr/th[2]")).Text; yr1 = WebDriverTest.Before(yr1, " Roll"); string yr2 = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[5]/table/thead/tr/th[3]")).Text; yr2 = WebDriverTest.Before(yr2, " Current"); List <string> data1 = getTableData1(tblAssess); string land = "-", improvement = "-", total = "-"; land = "$" + WebDriverTest.After(data1[1], "$").TrimStart(); improvement = "$" + WebDriverTest.After(data1[2], "$").TrimStart(); total = "$" + WebDriverTest.After(data1[3], "$").TrimStart(); string ass = yr1 + "~" + land + "~" + improvement + "~" + total + "~" + exemp_Value; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 52, ass, 1); //db.ExecuteQuery("insert into la_assessor (order_no,parcel_no,year,land,improvements,total,exemption_type) values ('" + orderNumber + "','" + parcelNumber + "','" + yr1 + "','" + land + "','" + improvement + "','" + total + "','" + exemp_Value + "')"); List <string> data2 = getTableData(tblAssess); land = "$" + WebDriverTest.After(data2[1], "$").TrimStart(); improvement = "$" + WebDriverTest.After(data2[2], "$").TrimStart(); total = "$" + WebDriverTest.After(data2[3], "$").TrimStart(); string ass1 = yr2 + "~" + land + "~" + improvement + "~" + total + "~" + exemp_Value; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 52, ass1, 1); //db.ExecuteQuery("insert into la_assessor (order_no,parcel_no,year,land,improvements,total,exemption_type) values ('" + orderNumber + "','" + parcelNumber + "','" + yr2 + "','" + land + "','" + improvement + "','" + total + "','" + exemp_Value + "')"); //treasurer details..... driver.Navigate().GoToUrl("https://vcheck.ttc.lacounty.gov/"); Thread.Sleep(5000); var imgId = driver.FindElement(By.Id("recaptcha_challenge_image")); GlobalClass.imgURL = imgId.GetAttribute("src"); string outPath = System.Web.HttpContext.Current.Server.MapPath("~/captcha\\") + parcelNumber + ".png"; WebClient captcha = new WebClient(); captcha.DownloadFile(GlobalClass.imgURL, outPath); if (GlobalClass.imgURL != "") { //db.ExecuteQuery("insert into la_url (parcel_no,order_no,src) values ('" + parcelNumber + "','" + orderNumber + "','" + GlobalClass.imgURL + "')"); GlobalClass.sDriver = driver; return; } } } catch (Exception ex) { if (driver != null) { driver.Quit(); } throw ex; } } else { //try //{ GlobalClass.sDriver.FindElement(By.Id("recaptcha_response_field")).SendKeys(treasurerCaptcha); GlobalClass.sDriver.FindElement(By.Id("next")).Click(); IList <IWebElement> optionsClass = GlobalClass.sDriver.FindElements(By.TagName("span")); foreach (IWebElement strOption in optionsClass) { if (strOption.Text.Contains("Property Tax Inquiry/One-")) { strOption.Click(); break; } } string[] treasParclNo = GlobalClass.parcelNumber_la.Split('-'); GlobalClass.sDriver.FindElement(By.Name("mapbook")).SendKeys(treasParclNo[0]); GlobalClass.sDriver.FindElement(By.Name("page")).SendKeys(treasParclNo[1]); GlobalClass.sDriver.FindElement(By.Name("parcel")).SendKeys(treasParclNo[2]); Thread.Sleep(3000); if (GlobalClass.sDriver.FindElement(By.Id("inquirebutton")).Enabled == true) { GlobalClass.sDriver.FindElement(By.Id("inquirebutton")).Click(); } outputPath = ""; outputPath = ConfigurationManager.AppSettings["screenShotPath-la"]; outputPath = outputPath + orderNumber + "\\" + parcelNumber + "\\"; if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } string img = outputPath + "taxSummary" + ".png"; string pdf = outputPath + "taxSummary" + ".pdf"; //driver.Manage().Window.Maximize(); GlobalClass.sDriver.TakeScreenshot().SaveAsFile(img, ScreenshotImageFormat.Png); WebDriverTest.ConvertImageToPdf(img, pdf); if (File.Exists(img)) { File.Delete(img); } // CreatePdf(orderNumber, parcelNumber, "taxSummary"); IList <IWebElement> installInfos = GlobalClass.sDriver.FindElements(By.ClassName("installmentinfo")); int i = 0; string insInfo = "-", tax_year = "-", seq_no = "-", insInfo1 = "-", tax_year1 = "-", seq_no1 = "-"; foreach (IWebElement installInfo in installInfos) { if (i == 0) { insInfo = WebDriverTest.After(installInfo.Text, "YEAR: "); tax_year = WebDriverTest.Before(insInfo, "SEQUENCE:").TrimStart().TrimEnd(); seq_no = WebDriverTest.After(insInfo, "SEQUENCE:").TrimStart().TrimEnd(); } else { insInfo1 = WebDriverTest.After(installInfo.Text, "YEAR: "); tax_year1 = WebDriverTest.Before(insInfo1, "SEQUENCE:").TrimStart().TrimEnd(); seq_no1 = WebDriverTest.After(insInfo1, "SEQUENCE:").TrimStart().TrimEnd(); } i++; } IList <IWebElement> tableElements = GlobalClass.sDriver.FindElements(By.ClassName("installmenttable")); int j = 0; foreach (IWebElement tableElement in tableElements) { IList <IWebElement> tableRow = tableElement.FindElements(By.TagName("tr")); IList <IWebElement> rowTD; List <string> installment1 = new List <string>(); List <string> installment2 = new List <string>(); foreach (IWebElement row in tableRow) { rowTD = row.FindElements(By.TagName("td")); if (rowTD.Count == 5) { installment1.Add(rowTD[1].Text); installment2.Add(rowTD[4].Text); } } string tax_amt = "-", penalty_amt = "-", total_due = "-", paid_amt = "-", balance_due = "-", delinquent = "-", tax_status = "-"; tax_status = WebDriverTest.After(GlobalClass.sDriver.FindElement(By.ClassName("installmentstatus")).Text, "Tax Status:").TrimStart(); //installment1.... //Installment~Tax_amount~Penalty_amount~Total_due~Paid_amount~Balance_due~Delinquent~Tax_status~Tax_year~Seq_no tax_amt = installment1[0]; penalty_amt = installment1[1]; total_due = installment1[2]; paid_amt = installment1[3]; balance_due = installment1[4]; delinquent = installment1[5]; if (delinquent == " ") { delinquent = "-"; } if (j == 0) { string inst = "1" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + tax_status + "~" + tax_year + "~" + seq_no; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst, 1); //installment1.... tax_amt = installment2[0]; penalty_amt = installment2[1]; total_due = installment2[2]; paid_amt = installment2[3]; balance_due = installment2[4]; delinquent = installment2[5]; if (delinquent == " ") { delinquent = "-"; } string inst1 = "2" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + tax_status + "~" + tax_year + "~" + seq_no; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst1, 1); } else { string inst = "1" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + "SUPPLEMENTAL" + "~" + tax_year1 + "~" + seq_no1; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst, 1); //installment1.... tax_amt = installment2[0]; penalty_amt = installment2[1]; total_due = installment2[2]; paid_amt = installment2[3]; balance_due = installment2[4]; delinquent = installment2[5]; if (delinquent == " ") { delinquent = "-"; } string inst1 = "2" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + "SUPPLEMENTAL" + "~" + tax_year1 + "~" + seq_no1; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst1, 1); } j++; } //delinquent data.... try { IWebElement delinqTable = GlobalClass.sDriver.FindElement(By.ClassName("installmentdelinq")); IList <IWebElement> tblRow = delinqTable.FindElements(By.TagName("tr")); IList <IWebElement> rowtD; List <string> tr1 = new List <string>(); List <string> tr3 = new List <string>(); foreach (IWebElement row in tblRow) { rowtD = row.FindElements(By.TagName("td")); tr1.Add(rowtD[1].Text); if (rowtD.Count >= 4) { tr3.Add(rowtD[3].Text); } } //insert data } catch { } GlobalClass.sDriver.Quit(); //} ////catch (Exception ex) ////{ // GlobalClass.sDriver.Quit(); // throw ex; //} } }
public string FTP_TXGuadalupe(string streetno, string direction, string streetname, string city, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string Account_id) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string titleaddress = streetno + " " + streetname + " " + unitnumber; gc.TitleFlexSearch(orderNumber, parcelNumber, "", titleaddress, "TX", "Guadalupe"); 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_TXGuadalupe"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://property.co.guadalupe.tx.us/"); Thread.Sleep(3000); string Adderss = streetno + " " + streetname; driver.FindElement(By.Id("SearchText")).SendKeys(Adderss); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Address Search", driver, "TX", "Guadalupe"); driver.FindElement(By.Id("dnn_PropertySearch_SearchButtonDiv")).Click(); Thread.Sleep(2000); } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://property.co.guadalupe.tx.us/"); Thread.Sleep(2000); driver.FindElement(By.Id("SearchText")).SendKeys(parcelNumber); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "TX", "Guadalupe"); driver.FindElement(By.Id("dnn_PropertySearch_SearchButtonDiv")).Click(); Thread.Sleep(2000); } if (searchType == "ownername") { driver.Navigate().GoToUrl("http://property.co.guadalupe.tx.us/"); Thread.Sleep(2000); driver.FindElement(By.Id("SearchText")).SendKeys(ownernm); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Owner Search", driver, "TX", "Guadalupe"); driver.FindElement(By.Id("dnn_PropertySearch_SearchButtonDiv")).Click(); Thread.Sleep(2000); } else if (searchType == "block") { driver.Navigate().GoToUrl("http://property.co.guadalupe.tx.us/"); Thread.Sleep(2000); driver.FindElement(By.Id("SearchText")).SendKeys(Account_id); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Account Search", driver, "TX", "Guadalupe"); driver.FindElement(By.Id("dnn_PropertySearch_SearchButtonDiv")).Click(); Thread.Sleep(2000); } try { int trCount = driver.FindElements(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr")).Count; if (trCount > 1) { int maxCheck = 0; IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody")); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Multi Address Search", driver, "TX", "Guadalupe"); 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 != 0) { string multi1 = TDmulti5[1].Text + "~" + TDmulti5[3].Text + "~" + TDmulti5[4].Text; gc.insert_date(orderNumber, TDmulti5[0].Text, 1025, multi1, 1, DateTime.Now); } maxCheck++; } } if (TRmulti5.Count > 25) { HttpContext.Current.Session["multiParcel_TXGuadalupe_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_TXGuadalupe"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[1]")).Click(); Thread.Sleep(2000); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table")).Text; if (nodata.Contains("No properties found")) { HttpContext.Current.Session["Nodata_TXGuadalupe"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details try { driver.FindElement(By.Id("tabDetails")).Click(); Thread.Sleep(2000); ParcelID = driver.FindElement(By.Id("dnn_ctr368_View_tdPropertyID")).Text; gc.CreatePdf(orderNumber, ParcelID, "Property details", driver, "TX", "Guadalupe"); OwnerName = driver.FindElement(By.Id("dnn_ctr368_View_tdOwnerName")).Text; PropertyAddress = driver.FindElement(By.Id("dnn_ctr368_View_tdPropertyAddress")).Text; PropertyStatus = driver.FindElement(By.Id("dnn_ctr368_View_tdGIPropertyStatus")).Text; PropertyType = driver.FindElement(By.Id("dnn_ctr368_View_tdGIPropertyType")).Text; LegalDescription = driver.FindElement(By.Id("dnn_ctr368_View_tdGILegalDescription")).Text; Neighborhood = driver.FindElement(By.Id("dnn_ctr368_View_tdGINeighborhood")).Text; Account = driver.FindElement(By.Id("dnn_ctr368_View_tdGIAccount")).Text; MapNumber = driver.FindElement(By.Id("dnn_ctr368_View_tdGIMapNumber")).Text; OwnerID = driver.FindElement(By.Id("dnn_ctr368_View_tdOIPartyQuickRefID")).Text; Exemptions = driver.FindElement(By.Id("dnn_ctr368_View_tdOIExemptions")).Text; PercentOwnership = driver.FindElement(By.Id("dnn_ctr368_View_tdOIPercentOwnership")).Text; MailingAddress = driver.FindElement(By.Id("dnn_ctr368_View_tdOIMailingAddress")).Text; property_details = OwnerName + "~" + PropertyAddress + "~" + PropertyStatus + "~" + PropertyType + "~" + LegalDescription + "~" + Neighborhood + "~" + Account + "~" + MapNumber + "~" + OwnerID + "~" + Exemptions + "~" + PercentOwnership + "~" + MailingAddress; gc.insert_date(orderNumber, ParcelID, 1026, property_details, 1, DateTime.Now); } catch { } //Assessment Details try { Year = driver.FindElement(By.Id("dnn_ctr368_View_tdGITitle")).Text; Year = WebDriverTest.Before(Year, " GENERAL INFORMATION"); ImprovementHomesiteValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVIImprovementHS")).Text; ImprovementNonHomesite = driver.FindElement(By.Id("dnn_ctr368_View_tdVIImprovementNonHS")).Text; TotalImprovementMarketValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVITotalImprovementMV")).Text; LandHomesiteValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVILandHS")).Text; LandNonHomesite = driver.FindElement(By.Id("dnn_ctr368_View_tdVILandNonHS")).Text; LandAgriculturalMarketValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVILandAgMV")).Text; TotalLandMarketValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVITotalLandMV")).Text; TotalMarketValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVITotalMV")).Text; AgriculturalUse = driver.FindElement(By.Id("dnn_ctr368_View_tdVIAgUse")).Text; TotalAppraisedValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVITotalAppraisedValue")).Text; HomesteadCapLoss = driver.FindElement(By.Id("dnn_ctr368_View_tdVIHomesteadCapLoss")).Text; TotalAssessedValue = driver.FindElement(By.Id("dnn_ctr368_View_tdVITotalAssessedValueRP")).Text; assessment_details = Year + "~" + ImprovementHomesiteValue + "~" + ImprovementNonHomesite + "~" + TotalImprovementMarketValue + "~" + LandHomesiteValue + "~" + LandNonHomesite + "~" + LandAgriculturalMarketValue + "~" + TotalLandMarketValue + "~" + TotalMarketValue + "~" + AgriculturalUse + "~" + TotalAppraisedValue + "~" + HomesteadCapLoss + "~" + TotalAssessedValue; gc.insert_date(orderNumber, ParcelID, 1027, assessment_details, 1, DateTime.Now); } catch { } //Entity Details try { IWebElement EntityTable = driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divEntitiesAndExemptionsData']/table/tbody")); IList <IWebElement> EntityTR = EntityTable.FindElements(By.TagName("tr")); IList <IWebElement> EntityTD; foreach (IWebElement Entity in EntityTR) { if (!Entity.Text.Contains("TAXING ENTITY")) { EntityTD = Entity.FindElements(By.TagName("td")); if (EntityTD.Count != 0) { EntityDetails = EntityTD[0].Text.Trim() + "~" + EntityTD[1].Text.Trim() + "~" + EntityTD[2].Text.Trim() + "~" + EntityTD[3].Text.Trim() + "~" + EntityTD[4].Text.Trim() + "~" + EntityTD[5].Text.Trim(); gc.insert_date(orderNumber, ParcelID, 1028, EntityDetails, 1, DateTime.Now); } } } } catch { } //Assessment History Details try { IWebElement AssementHistoryTable = driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_tblValueHistoryDataRP']/tbody")); IList <IWebElement> AssementHistoryTR = AssementHistoryTable.FindElements(By.TagName("tr")); IList <IWebElement> AssementHistoryTD; foreach (IWebElement AssementHistory in AssementHistoryTR) { if (!AssementHistory.Text.Contains("YEAR")) { AssementHistoryTD = AssementHistory.FindElements(By.TagName("td")); if (AssementHistoryTD.Count != 0) { AssessmentHistory = AssementHistoryTD[0].Text.Trim() + "~" + AssementHistoryTD[1].Text.Trim() + "~" + AssementHistoryTD[2].Text.Trim() + "~" + AssementHistoryTD[3].Text.Trim() + "~" + AssementHistoryTD[4].Text.Trim() + "~" + AssementHistoryTD[5].Text.Trim() + "~" + AssementHistoryTD[6].Text.Trim() + "~" + AssementHistoryTD[7].Text.Trim() + "~" + AssementHistoryTD[8].Text.Trim(); gc.insert_date(orderNumber, ParcelID, 1029, AssessmentHistory, 1, DateTime.Now); } } } } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Distribution Details driver.FindElement(By.Id("tabBills")).Click(); Thread.Sleep(2000); try { int Ulcount = driver.FindElements(By.XPath("//*[@id='dnn_ctr368_View_divBillDetails']/div")).Count; for (int i = 1; i <= Ulcount; i++) { driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divBillDetails']/div[" + i + "]/table[1]/tbody/tr/td[3]")).Click(); Thread.Sleep(2000); year = driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divBillDetails']/div[" + i + "]/table[1]/tbody/tr/td[1]")).Text; IWebElement TaxDistributionTable = driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divBillDetails']/div[" + i + "]/table[2]/tbody")); IList <IWebElement> TaxDistributionTR = TaxDistributionTable.FindElements(By.TagName("tr")); IList <IWebElement> TaxDistributionTD; foreach (IWebElement TaxDistribution in TaxDistributionTR) { if (!TaxDistribution.Text.Contains("TAXING ENTITY")) { TaxDistributionTD = TaxDistribution.FindElements(By.TagName("td")); if (TaxDistributionTD.Count == 5 && TaxDistributionTD[0].Text.Trim() != "") { TaxingEntity = TaxDistributionTD[0].Text.Trim(); TotalTaxes = TaxDistributionTD[1].Text.Trim(); PaidDate = TaxDistributionTD[2].Text.Trim(); PaidAmount = TaxDistributionTD[3].Text.Trim(); Balance = TaxDistributionTD[4].Text.Trim(); } if (TaxDistribution.Text.Contains("Levy") && TaxDistributionTD.Count == 13) { taxdet = TaxDistributionTD[1].Text.Replace("\r\n", "~"); string[] words = taxdet.Split('~'); levy = words[0].Replace("Levy", ""); PI = words[1].Replace("P&I", ""); if (i == 1) { levynew = PI; } Att_fee = words[2].Replace("Att. Fee", ""); credits = words[3].Replace("Credits/Disc.", ""); taxdistri = year + "~" + TaxingEntity + "~" + levy + "~" + PI + "~" + Att_fee + "~" + credits + "~" + TotalTaxes + "~" + PaidDate + "~" + PaidAmount + "~" + Balance; gc.insert_date(orderNumber, ParcelID, 1030, taxdistri, 1, DateTime.Now); } if (TaxDistribution.Text.Contains("TOTALS")) { taxdistri1 = year + "~" + TaxingEntity + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TotalTaxes + "~" + "" + "~" + PaidAmount + "~" + Balance; gc.insert_date(orderNumber, ParcelID, 1030, taxdistri1, 1, DateTime.Now); } } } } } catch { } try { if (!levynew.Contains("$0.00")) { IWebElement dt = driver.FindElement(By.Id("effectiveDatePicker")); date = dt.GetAttribute("value"); DateTime G_Date = Convert.ToDateTime(date); 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("effectiveDatePicker")).SendKeys(date); } gc.CreatePdf(orderNumber, ParcelID, "Tax Distribution", driver, "TX", "Guadalupe"); IWebElement dt1 = driver.FindElement(By.Id("effectiveDatePicker")); goodthrough = dt1.GetAttribute("value"); CurrentAmountDue = driver.FindElement(By.Id("dnn_ctr368_View_tdPMCurrentAmountDue")).Text; PastYearsDue = driver.FindElement(By.Id("dnn_ctr368_View_tdPMPastYearsDue")).Text; TotalDue = driver.FindElement(By.Id("dnn_ctr368_View_tdPMTotalDue")).Text; taxinfo = goodthrough + "~" + CurrentAmountDue + "~" + PastYearsDue + "~" + TotalDue + "~" + TaxingAuthority; gc.insert_date(orderNumber, ParcelID, 1031, taxinfo, 1, DateTime.Now); } catch { } //Payment History Details try { driver.FindElement(By.Id("dnn_ctr368_View_divPaymentHistoryExpandCollapse")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Payment History", driver, "TX", "Guadalupe"); int licount = driver.FindElements(By.XPath(" //*[@id='dnn_ctr368_View_divPaymentHistoryInfo']/ul/li")).Count; for (int j = 1; j <= licount; j++) { year1 = driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divPaymentHistoryInfo']/ul/li[" + j + "]/table/tbody/tr/td[2]")).Text; IWebElement PaymentHistoryTable = driver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divPaymentHistoryInfo']/ul/li[" + j + "]/div/table/tbody")); IList <IWebElement> PaymentHistoryTR = PaymentHistoryTable.FindElements(By.TagName("tr")); IList <IWebElement> PaymentHistoryTD; foreach (IWebElement row in PaymentHistoryTR) { if (!row.Text.Contains("Transaction Date")) { PaymentHistoryTD = row.FindElements(By.TagName("td")); if (PaymentHistoryTD.Count == 4) { taxHistory = year1 + "~" + PaymentHistoryTD[0].Text.Trim() + "~" + PaymentHistoryTD[1].Text.Trim() + "~" + PaymentHistoryTD[2].Text.Trim() + "~" + PaymentHistoryTD[3].Text.Trim().Replace("View", ""); gc.insert_date(orderNumber, ParcelID, 1032, taxHistory, 1, DateTime.Now); } } } } } catch { } 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 chDriver = new ChromeDriver(chromeOptions); chDriver.Navigate().GoToUrl(driver.Url); Thread.Sleep(4000); int Billcount = driver.FindElements(By.XPath("//*[@id='dnn_ctr368_View_divBillDetails']/div")).Count; for (int j1 = 1; j1 <= Billcount; j1++) { year1 = chDriver.FindElement(By.XPath("//*[@id='dnn_ctr368_View_divBillDetails']/div[" + j1 + "]/table[1]/tbody/tr/td[1]")).Text; Thread.Sleep(2000); try { IWebElement btnclick = chDriver.FindElement(By.XPath("//*[@id='btnPrintTaxStatement" + year1 + "']")); btnclick.Click(); Thread.Sleep(4000); fileName = "download"; gc.AutoDownloadFileSpokane(orderNumber, ParcelID, "Guadalupe", "TX", fileName + ".pdf"); Thread.Sleep(6000); } catch { } } chDriver.Quit(); } catch { } try { IWebElement CurrentBill = driver.FindElement(By.XPath("//*[@id='tdIconLinks']/table/tbody/tr/td[2]/a")); string CurrentTaxBill = CurrentBill.GetAttribute("href"); gc.downloadfile(CurrentTaxBill, orderNumber, ParcelID, "Current Tax Bill", "TX", "Guadalupe"); } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "TX", "Guadalupe", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "TX", "Guadalupe"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
public string FTP_Stark(string houseno, string housedir, string sname, string unitno, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass gc = new GlobalClass(); 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://ddti.starkcountyohio.gov/disclaimer.aspx"); Thread.Sleep(4000); driver.FindElement(By.Name("ctl00$ContentPlaceHolder1$btnDisclaimerAccept")).Click(); driver.FindElement(By.Name("ctl00$ContentPlaceHolder1$btnDisclaimerAccept")).Click(); Thread.Sleep(5000); if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + housedir + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "OH", "Stark"); 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_OHStark"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { // Owner~Property_Address~Land_Use driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuSearchn2']/table/tbody/tr/td/a")).Click(); Thread.Sleep(3000); driver.FindElement(By.Id("ContentPlaceHolder1_Address_tbAddressNumber")).SendKeys(houseno); driver.FindElement(By.Id("ContentPlaceHolder1_Address_tbAddressDirection")).SendKeys(housedir); driver.FindElement(By.Id("ContentPlaceHolder1_Address_tbAddressStreet")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OH", "Stark"); driver.FindElement(By.Id("ContentPlaceHolder1_Address_btnSearchAddress")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "OH", "Stark"); try { mul = driver.FindElement(By.Id("ContentPlaceHolder1_lblNumberOfResults")).Text.Trim(); mul = WebDriverTest.Before(mul, " Results"); if (mul != "1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Parcel")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 302, multi1, 1, DateTime.Now); } } } HttpContext.Current.Session["multiparcel_Stark"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).Click(); gc.CreatePdf_WOP(orderNumber, "Address search result1", driver, "OH", "Stark"); Thread.Sleep(4000); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuSearchn0']/table/tbody/tr/td/a")).Click(); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.Id("ContentPlaceHolder1_Parcel_tbParcelNumber")).SendKeys(parcelNumber); gc.CreatePdf_WOP(orderNumber, "Parcel search", driver, "OH", "Stark"); driver.FindElement(By.Id("ContentPlaceHolder1_Parcel_btnSearchParcel")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "OH", "Stark"); try { mul = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_lblNumberOfResults']")).Text.Trim(); mul = WebDriverTest.Before(mul, " Results"); if (mul != "1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Parcel")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 302, multi1, 1, DateTime.Now); } } } HttpContext.Current.Session["multiparcel_Stark"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).Click(); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "OH", "Stark"); Thread.Sleep(3000); } } catch { } } else if (searchType == "ownername") { string s = ownername; string[] words = s.Split(' '); string lastname = "", firstname = ""; try { lastname = words[0]; firstname = words[1]; } catch { } driver.FindElement(By.Id("ContentPlaceHolder1_Owner_tbOwnerLastName")).SendKeys(lastname); driver.FindElement(By.Id("ContentPlaceHolder1_Owner_tbOwnerFirstName")).SendKeys(firstname); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "OH", "Stark"); driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Owner_btnSearchOwner']")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner search result", driver, "OH", "Stark"); try { mul = driver.FindElement(By.Id("ContentPlaceHolder1_lblNumberOfResults")).Text.Trim(); mul = WebDriverTest.Before(mul, " Results"); if (mul != "1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Parcel")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 302, multi1, 1, DateTime.Now); } } } HttpContext.Current.Session["multiparcel_Stark"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).Click(); gc.CreatePdf_WOP(orderNumber, "Owner search result1", driver, "OH", "Stark"); Thread.Sleep(3000); } } catch { } } try { IWebElement INodata = driver.FindElement(By.Id("ContentPlaceHolder1_lblNumberOfResults")); if (INodata.Text.Contains("No results")) { HttpContext.Current.Session["Nodata_OHStark"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details string Parcel_ID = "", Owner_Name = "", Property_Address = "", Property_Type = "", Year_Built = "", Legal_Description = ""; Parcel_ID = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataProfile_ParcelLabel")).Text.Trim(); Owner_Name = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataProfile_OwnerLabel")).Text.Trim(); Property_Address = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataProfile_AddressLabel")).Text.Trim(); Property_Type = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataLegal_PropertyClassLabel")).Text.Trim(); Legal_Description = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataLegal_LegalDescriptionLabel")).Text.Trim(); driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuDatan5']/table/tbody/tr/td/a")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel_ID, "Building", driver, "OH", "Stark"); try { Year_Built = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Residential_gvDataBuildings']/tbody/tr[2]/td[5]")).Text.Trim(); } catch { } string property_details = Owner_Name + "~" + Property_Address + "~" + Property_Type + "~" + Year_Built + "~" + Legal_Description; gc.insert_date(orderNumber, Parcel_ID, 303, property_details, 1, DateTime.Now); // Owner_Name~Property_Address~Property_Type~Year_Built~Legal_Description //assessment details driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_mnuDatan2']/table/tbody/tr/td/a")).Click(); gc.CreatePdf(orderNumber, Parcel_ID, "Assessment", driver, "OH", "Stark"); Thread.Sleep(4000); IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Valuation_gvDataValuation']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); int iRowsCount = driver.FindElements(By.XPath("//*[@id='ContentPlaceHolder1_Valuation_gvDataValuation']/tbody/tr")).Count; IList <IWebElement> multirowTD11; int i = 0; foreach (IWebElement row in multitableRow11) { if (!row.Text.Contains("Year")) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count != 1 && multirowTD11[0].Text.Trim() != "") { //Year~Appraised_Land_Value~Assessed_Land_Value~Appraised_Building_Value~Assessed_Building_Value~Appraised_Total_Value~Assessed_Total_Value~Override string assessment_details = multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim() + "~" + multirowTD11[3].Text.Trim() + "~" + multirowTD11[4].Text.Trim() + "~" + multirowTD11[5].Text.Trim() + "~" + multirowTD11[6].Text.Trim() + "~" + multirowTD11[7].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 304, assessment_details, 1, DateTime.Now); i++; } if (i == 3) { break; } } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //tax details driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuDatan4']/table/tbody/tr/td/a")).Click(); gc.CreatePdf(orderNumber, Parcel_ID, "Tax details", driver, "OH", "Stark"); Thread.Sleep(3000); string taxdet = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_fvDataTax']/tbody/tr/td/table/tbody")).Text.Trim(); string Bill_Number = gc.Between(taxdet, "Bill Number: ", "Installment Number:").Trim(); string Owner_Occupancy_Discount = driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_Tax_fvDataTax_ResidentialDiscountLabel']")).Text.Trim(); string CAUV_Recoupment = gc.Between(taxdet, "CAUV Recoupment:", "Recoupment Amount:").Trim(); string Homestead_Deduction = gc.Between(taxdet, "Homestead Deduction:", "Tax Abatement:").Trim(); string Homestead_Reduction = gc.Between(taxdet, "Homestead Reduction:", "CAUV Recoupment:").Trim(); string Recoupment_Amount = gc.Between(taxdet, "Recoupment Amount:", "Homestead Deduction:").Trim(); string Tax_Abatement = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_fvDataTax_TaxAbatementLabel']")).Text.Trim(); string Property_Destruction = gc.Between(taxdet, "Property Destruction:", "Homestead Deduction Year:").Trim(); string Agricultural_Use_Value = gc.Between(taxdet, "Agricultural Use Value:", "Tax Year:").Trim(); string tax_year = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_fvDataTax_TaxYearLabel']")).Text.Trim(); string tax_info_det = Bill_Number + "~" + Owner_Occupancy_Discount + "~" + CAUV_Recoupment + "~" + Homestead_Deduction + "~" + Homestead_Reduction + "~" + Recoupment_Amount + "~" + Tax_Abatement + "~" + Property_Destruction + "~" + Agricultural_Use_Value + "~" + tax_year; gc.insert_date(orderNumber, Parcel_ID, 390, tax_info_det, 1, DateTime.Now); // Bill_Number~Owner_Occupancy_Discount~CAUV_Recoupment~Homestead_Deduction~Homestead_Reduction~Recoupment_Amount~Tax_Abatement~Property_Destruction~Agricultural_Use_Value~tax_year IWebElement multitableElement2 = driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_Tax_gvDataTaxBilling']/tbody")); IList <IWebElement> multitableRow2 = multitableElement2.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD2; foreach (IWebElement row in multitableRow2) { if (!row.Text.Contains("Section")) { multirowTD2 = row.FindElements(By.TagName("td")); if (multirowTD2.Count != 1 && multirowTD2[1].Text.Trim() != "") { string tax_info = multirowTD2[0].Text.Trim() + "~" + multirowTD2[1].Text.Trim() + "~" + multirowTD2[2].Text.Trim() + "~" + multirowTD2[3].Text.Trim() + "~" + multirowTD2[4].Text.Trim() + "~" + multirowTD2[5].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 305, tax_info, 1, DateTime.Now); //Section~Label~Tax_Amount~Paid_Amount~Due_Amount~Deliquent_Due } } } //tax payment IWebElement multitableElement3 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_gvDataTaxPayments']/tbody")); IList <IWebElement> multitableRow3 = multitableElement3.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD3; foreach (IWebElement row in multitableRow3) { if (!row.Text.Contains("Payment Date")) { multirowTD3 = row.FindElements(By.TagName("td")); if (multirowTD3.Count != 1 && multirowTD3[0].Text.Trim() != "") { string tax_payment = multirowTD3[0].Text.Trim() + "~" + multirowTD3[1].Text.Trim() + "~" + multirowTD3[2].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 306, tax_payment, 1, DateTime.Now); //Payment_Date~Installment~Paid_Amount } } } //Special Assessments Table: IWebElement multitableElement4 = driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_Tax_gvSpecials']/tbody")); IList <IWebElement> multitableRow4 = multitableElement4.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD4; foreach (IWebElement row in multitableRow4) { if (!row.Text.Contains("Agency")) { multirowTD4 = row.FindElements(By.TagName("td")); if (multirowTD4.Count != 1) { string special_assessment = multirowTD4[0].Text.Trim() + "~" + multirowTD4[1].Text.Trim() + "~" + multirowTD4[2].Text.Trim() + "~" + multirowTD4[3].Text.Trim() + "~" + multirowTD4[4].Text.Trim() + "~" + multirowTD4[5].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 307, special_assessment, 1, DateTime.Now); //Agency~Code~Amount~Status~Type~Due } } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OH", "Stark", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OH", "Stark"); 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_TXTravis(string streetno, string direction, string streetname, string city, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string Account_id) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string titleaddress = streetno + " " + streetname + " " + unitnumber; gc.TitleFlexSearch(orderNumber, parcelNumber, "", titleaddress, "TX", "Travis"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_TXTravis"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1"); Thread.Sleep(2000); //var Select1 = driver.FindElement(By.Id("propertySearchOptions_taxyear")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByIndex(1); //Thread.Sleep(2000); driver.FindElement(By.Id("propertySearchOptions_advanced")).Click(); Thread.Sleep(2000); //Address = streetno + " " + streetname; driver.FindElement(By.Id("propertySearchOptions_streetNumber")).SendKeys(streetno); driver.FindElement(By.Id("propertySearchOptions_streetName")).SendKeys(streetname); //driver.FindElement(By.Id("propertySearchOptions_searchText")).SendKeys(Address); gc.CreatePdf_WOP(orderNumber, "address search", driver, "TX", "Travis"); driver.FindElement(By.Id("propertySearchOptions_searchAdv")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { ChkMulti = driver.FindElement(By.XPath("//*[@id='pageTitle']/h2")).Text; ChkMulti = WebDriverTest.Between(ChkMulti, "Property Search Results > ", " for"); if (ChkMulti == "1 - 1 of 1") { driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Single Address search", driver, "TX", "Travis"); } else { try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "TX", "Travis"); int AddressmaxCheck = 0; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25 && MultiAddressTR.Count > 2) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Mobile Home") && !MultiAddress.Text.Contains(" ") && !MultiAddress.Text.Contains("Page: 1")) { Parcelno = MultiAddressTD[1].Text; Multi_Type = MultiAddressTD[3].Text; Property_Address = MultiAddressTD[4].Text; Owner = MultiAddressTD[6].Text; MultiAddress_details = Multi_Type + "~" + Property_Address + "~" + Owner; gc.insert_date(orderNumber, Parcelno, 1058, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count <= 2) { HttpContext.Current.Session["Nodata_TXTravis"] = "Yes"; driver.Quit(); return("No Data Found"); } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_TXTravis_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_TXTravis"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1"); Thread.Sleep(2000); //driver.FindElement(By.Id("propertySearchOptions_advanced")).Click(); //Thread.Sleep(2000); driver.FindElement(By.Id("propertySearchOptions_searchText")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "TX", "Travis"); driver.FindElement(By.Id("propertySearchOptions_search")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click(); Thread.Sleep(2000); } catch { } } if (searchType == "ownername") { driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1"); Thread.Sleep(2000); driver.FindElement(By.Id("propertySearchOptions_advanced")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("propertySearchOptions_ownerName")).SendKeys(ownernm); gc.CreatePdf_WOP(orderNumber, "owner search", driver, "TX", "Travis"); driver.FindElement(By.Id("propertySearchOptions_searchAdv")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { ChkMulti = driver.FindElement(By.XPath("//*[@id='pageTitle']/h2")).Text; ChkMulti = WebDriverTest.Between(ChkMulti, "Property Search Results > ", " for"); if (ChkMulti == "1 - 1 of 1") { driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Single Owner search", driver, "TX", "Travis"); } else { try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "TX", "Travis"); int AddressmaxCheck = 0; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Mobile Home") && !MultiAddress.Text.Contains(" ") && !MultiAddress.Text.Contains("Page: 1")) { Parcelno = MultiAddressTD[1].Text; Multi_Type = MultiAddressTD[3].Text; Property_Address = MultiAddressTD[4].Text; Owner = MultiAddressTD[6].Text; MultiAddress_details = Multi_Type + "~" + Property_Address + "~" + Owner; gc.insert_date(orderNumber, Parcelno, 1058, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_TXTravis_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_TXTravis"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } } } catch { } } else if (searchType == "block") { driver.Navigate().GoToUrl("http://propaccess.traviscad.org/clientdb/?cid=1"); Thread.Sleep(2000); driver.FindElement(By.Id("propertySearchOptions_searchText")).SendKeys(Account_id); gc.CreatePdf_WOP(orderNumber, "Account Number Search ", driver, "TX", "Travis"); driver.FindElement(By.Id("propertySearchOptions_search")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody/tr[2]/td[10]/a")).Click(); Thread.Sleep(2000); } catch { } } try { IWebElement INodata = driver.FindElement(By.Id("propertySearchResults_pageHeading")); if (INodata.Text.Contains("None found")) { HttpContext.Current.Session["Nodata_TXTravis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details try { fulltext = driver.FindElement(By.XPath("//*[@id='propertyDetails']/table/tbody")).Text.Replace("\r\n", " "); PropertyID = gc.Between(fulltext, "Account Property ID: ", " Legal Description: "); GeographicID = gc.Between(fulltext, "Geographic ID: ", " Zoning: "); Type = gc.Between(fulltext, "Type: ", " Agent Code: "); LegalDescription = gc.Between(fulltext, " Legal Description: ", " Geographic ID: "); ProAddress = gc.Between(fulltext, "Location Address: ", " Mapsco: "); try { Neighborhood = gc.Between(fulltext, "Neighborhood: ", " Map ID: "); } catch { } NeighborhoodCD = gc.Between(fulltext, " Neighborhood CD: ", " Owner Name: "); MapID = gc.Between(fulltext, "Map ID: ", " Neighborhood CD: "); Name = gc.Between(fulltext, "Owner Name: ", " Owner ID: "); MailingAddress = gc.Between(fulltext, "Mailing Address: ", " % Ownership:"); OwnerID = gc.Between(fulltext, "Owner ID: ", " Mailing Address: "); Exemptions = GlobalClass.After(fulltext, "Exemptions: "); gc.CreatePdf(orderNumber, PropertyID, "Property Info1", driver, "TX", "Travis"); try { driver.FindElement(By.XPath("//*[@id='improvementBuilding']")).Click(); Thread.Sleep(2000); YearBuilt = driver.FindElement(By.XPath("//*[@id='improvementBuildingDetails']/table[2]/tbody/tr[2]/td[6]")).Text; gc.CreatePdf(orderNumber, PropertyID, "Property Info2", driver, "TX", "Travis"); } catch { } try { driver.FindElement(By.Id("land")).Click(); Thread.Sleep(2000); Acres = driver.FindElement(By.XPath("//*[@id='landDetails']/table/tbody/tr[2]/td[4]")).Text; gc.CreatePdf(orderNumber, PropertyID, "Property Info3", driver, "TX", "Travis"); } catch { } property_details = GeographicID + "~" + Type + "~" + LegalDescription + "~" + ProAddress + "~" + Neighborhood + "~" + NeighborhoodCD + "~" + MapID + "~" + Name + "~" + MailingAddress + "~" + OwnerID + "~" + Exemptions + "~" + YearBuilt + "~" + Acres; gc.insert_date(orderNumber, PropertyID, 1074, property_details, 1, DateTime.Now); } catch { } //Assessment Details try { driver.FindElement(By.Id("values")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, PropertyID, "Value Info", driver, "TX", "Travis"); IWebElement AssessmentTable = driver.FindElement(By.XPath("//*[@id='valuesDetails']/table/tbody")); IList <IWebElement> AssessmentTR = AssessmentTable.FindElements(By.TagName("tr")); IList <IWebElement> AssessmentTD; foreach (IWebElement Assessment in AssessmentTR) { AssessmentTD = Assessment.FindElements(By.TagName("td")); if (AssessmentTD.Count != 0 && AssessmentTD[0].Text != " ") { ValueDetails = AssessmentTD[0].Text.Trim() + "~" + AssessmentTD[1].Text.Trim() + "~" + AssessmentTD[2].Text.Trim() + "~" + AssessmentTD[3].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 1076, ValueDetails, 1, DateTime.Now); } } } catch { } //Taxing Jurisdiction Details try { driver.FindElement(By.Id("taxingJurisdiction")).Click(); Thread.Sleep(2000); fulltext1 = driver.FindElement(By.XPath("//*[@id='taxingJurisdictionDetails']/table[1]/tbody")).Text.Replace("\r\n", " "); owner = gc.Between(fulltext1, "Owner:", "% Ownership:"); Ownership = gc.Between(fulltext1, "% Ownership:", "Total Value:"); TotalValue = GlobalClass.After(fulltext1, "Total Value:"); ValueDetails1 = owner + "~" + Ownership + "~" + TotalValue + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, PropertyID, 1078, ValueDetails1, 1, DateTime.Now); gc.CreatePdf(orderNumber, PropertyID, "Jurisdiction Info", driver, "TX", "Travis"); IWebElement JurisdictionTable = driver.FindElement(By.XPath("//*[@id='taxingJurisdictionDetails']/table[2]/tbody")); IList <IWebElement> JurisdictionTR = JurisdictionTable.FindElements(By.TagName("tr")); IList <IWebElement> JurisdictionTD; foreach (IWebElement row in JurisdictionTR) { JurisdictionTD = row.FindElements(By.TagName("td")); if (JurisdictionTD.Count != 0) { ValueDetails1 = " " + "~" + " " + "~" + " " + "~" + JurisdictionTD[0].Text.Trim() + "~" + JurisdictionTD[1].Text.Trim() + "~" + JurisdictionTD[2].Text.Trim() + "~" + JurisdictionTD[3].Text.Trim() + "~" + JurisdictionTD[4].Text.Trim() + "~" + JurisdictionTD[5].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 1078, ValueDetails1, 1, DateTime.Now); } } } catch { } //Roll Value History Details try { driver.FindElement(By.Id("rollHistory")).Click(); Thread.Sleep(2000); IWebElement RollTable = driver.FindElement(By.XPath("//*[@id='rollHistoryDetails']/table/tbody")); IList <IWebElement> RollTR = RollTable.FindElements(By.TagName("tr")); IList <IWebElement> RollTD; foreach (IWebElement Roll in RollTR) { RollTD = Roll.FindElements(By.TagName("td")); if (RollTD.Count != 0) { rollDetails = RollTD[0].Text.Trim() + "~" + RollTD[1].Text.Trim() + "~" + RollTD[2].Text.Trim() + "~" + RollTD[3].Text.Trim() + "~" + RollTD[4].Text.Trim() + "~" + RollTD[5].Text.Trim() + "~" + RollTD[6].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 1077, rollDetails, 1, DateTime.Now); gc.CreatePdf(orderNumber, PropertyID, "Roll Info", driver, "TX", "Travis"); } } } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://travis.go2gov.net/cart/search/quickSearch.do"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='quickSearchForm']/input[6]")).SendKeys(GeographicID); gc.CreatePdf(orderNumber, GeographicID, "Tax Search Info", driver, "TX", "Travis"); driver.FindElement(By.XPath("//*[@id='quickSearchForm']/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[3]/form[1]/div/table/tbody/tr/td/center/table/tbody/tr[3]/td[3]/span/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, GeographicID, "Tax Info", driver, "TX", "Travis"); try { //Tax Bill Details Account = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]")).Text; Tax_Owner = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]")).Text; Tax_Mailing = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[3]")).Text; Tax_LegalDesp = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td[4]")).Text; try { Tax_Year = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]")).Text; Base_Due = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]")).Text; Penalty_Interst = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[3]")).Text; OtherFee = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[4]")).Text; Tax_Total = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[4]/td/table/tbody/tr[2]/td/table/tbody/tr/td[5]")).Text; } catch { } try { string Previous_Year = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[3]/td/table/thead/tr/th")).Text; Previous_Year = WebDriverTest.After(Previous_Year, "Previous Tax Year "); if (Previous_Year == "Taxes Due") { try { Tax_Year = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]")).Text; Base_Due = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]")).Text; Penalty_Interst = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[3]")).Text; OtherFee = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[4]")).Text; Tax_Total = driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm']/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr/td[5]")).Text; } catch { } //Deliquent Details driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm:_idJsp89']")).Click(); Thread.Sleep(2000); IWebElement DeliquentTB = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp81']/tbody")); IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr")); IList <IWebElement> DeliquentTD; gc.CreatePdf(orderNumber, GeographicID, "Deliquent Info", driver, "TX", "Travis"); foreach (IWebElement Deliquent in DeliquentTR) { DeliquentTD = Deliquent.FindElements(By.TagName("td")); if (DeliquentTD.Count != 0) { Deliquent_Year = DeliquentTD[0].Text; Deliquent_Base = DeliquentTD[1].Text; Deliquent_Intrest = DeliquentTD[2].Text; Deliquent_Fees = DeliquentTD[3].Text; Deliquent_Total = DeliquentTD[4].Text; Deliquent_Details = Deliquent_Year + "~" + Deliquent_Base + "~" + Deliquent_Intrest + "~" + Deliquent_Fees + "~" + Deliquent_Total; gc.insert_date(orderNumber, GeographicID, 1095, Deliquent_Details, 1, DateTime.Now); } } IWebElement DeliquentTB1 = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp81']/tfoot/tr/td/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> DeliquentTR1 = DeliquentTB1.FindElements(By.TagName("tr")); IList <IWebElement> DeliquentTD1; foreach (IWebElement Deliquent1 in DeliquentTR1) { DeliquentTD1 = Deliquent1.FindElements(By.TagName("td")); if (DeliquentTD1.Count != 0) { Deliquent_Year1 = DeliquentTD1[0].Text; Deliquent_Base1 = DeliquentTD1[1].Text; Deliquent_Intrest1 = DeliquentTD1[2].Text; Deliquent_Fees1 = DeliquentTD1[3].Text; Deliquent_Total1 = DeliquentTD1[4].Text; Deliquent_Details1 = Deliquent_Year1 + "~" + Deliquent_Base1 + "~" + Deliquent_Intrest1 + "~" + Deliquent_Fees1 + "~" + Deliquent_Total1; gc.insert_date(orderNumber, GeographicID, 1095, Deliquent_Details1, 1, DateTime.Now); } } driver.Navigate().Back(); Thread.Sleep(2000); } Deliquent_Comments = "For prior year tax amount due, you must call the Collector's Office."; } catch { } } catch { } //Taxing Unit Details try { driver.FindElement(By.XPath("//*[@id='accountSummarySubView:accountSummaryForm:_idJsp73']")).Click(); Thread.Sleep(2000); try { Taxyear_detail = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm']/table/tbody/tr[3]/td")).Text; TaxYear_Details = Taxyear_detail + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, GeographicID, 1089, TaxYear_Details, 1, DateTime.Now); } catch { } IWebElement TaxUnitTB = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp83']/tbody")); IList <IWebElement> TaxUnitTR = TaxUnitTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxUnitTD; gc.CreatePdf(orderNumber, GeographicID, "Tax Unit Info", driver, "TX", "Travis"); foreach (IWebElement TaxUnit in TaxUnitTR) { TaxUnitTD = TaxUnit.FindElements(By.TagName("td")); if (TaxUnitTD.Count != 0) { Tax_Unit = TaxUnitTD[0].Text; Assed_Value = TaxUnitTD[1].Text; NetTaxb_Val = TaxUnitTD[2].Text; Basedue_Val = TaxUnitTD[3].Text; Penalty_Val = TaxUnitTD[4].Text; Attrney_Val = TaxUnitTD[5].Text; Total_Val = TaxUnitTD[6].Text; TaxUnit_Details = "" + "~" + Tax_Unit + "~" + Assed_Value + "~" + NetTaxb_Val + "~" + Basedue_Val + "~" + Penalty_Val + "~" + Attrney_Val + "~" + Total_Val; gc.insert_date(orderNumber, GeographicID, 1089, TaxUnit_Details, 1, DateTime.Now); } } IWebElement TaxUnitTB1 = driver.FindElement(By.XPath("//*[@id='accountYearDetailSubView:accountYearDetailForm:_idJsp83']/tfoot/tr/td/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> TaxUnitTR1 = TaxUnitTB1.FindElements(By.TagName("tr")); IList <IWebElement> TaxUnitTD1; foreach (IWebElement TaxUnit1 in TaxUnitTR1) { TaxUnitTD1 = TaxUnit1.FindElements(By.TagName("td")); if (TaxUnitTD1.Count != 0) { Tax_Unit1 = TaxUnitTD1[0].Text; Assed_Value1 = TaxUnitTD1[1].Text; NetTaxb_Val1 = TaxUnitTD1[2].Text; Basedue_Val1 = TaxUnitTD1[3].Text; Penalty_Val1 = TaxUnitTD1[4].Text; Attrney_Val1 = TaxUnitTD1[5].Text; Total_Val1 = TaxUnitTD1[6].Text; TaxUnit_Details1 = "" + "~" + Tax_Unit1 + "~" + Assed_Value1 + "~" + NetTaxb_Val1 + "~" + Basedue_Val1 + "~" + Penalty_Val1 + "~" + Attrney_Val1 + "~" + Total_Val1; gc.insert_date(orderNumber, GeographicID, 1089, TaxUnit_Details1, 1, DateTime.Now); } } } catch { } //Tax Payment Details try { driver.FindElement(By.XPath("//*[@id='quickSearchSubView:quickSearchForm:_idJsp38']")).Click(); Thread.Sleep(2000); IWebElement TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='legalPaymentHistorySubView:legalPaymentHistoryForm:data']/tbody")); IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxPaymentTD; gc.CreatePdf(orderNumber, GeographicID, "Tax Payment Info", driver, "TX", "Travis"); foreach (IWebElement TaxPayment in TaxPaymentTR) { TaxPaymentTD = TaxPayment.FindElements(By.TagName("td")); if (TaxPaymentTD.Count != 0) { Receipt = TaxPaymentTD[0].Text; Receipt_Taxyear = TaxPaymentTD[1].Text; Receipt_PaymentDate = TaxPaymentTD[2].Text; Receipt_PaymentAmount = TaxPaymentTD[3].Text; TaxPayment_Details = Receipt + "~" + Receipt_Taxyear + "~" + Receipt_PaymentDate + "~" + Receipt_PaymentAmount; gc.insert_date(orderNumber, GeographicID, 1094, TaxPayment_Details, 1, DateTime.Now); } } } catch { } List <string> ReceiptInfoTab = new List <string>(); try { var chromeOptions = new ChromeOptions(); var downloadDirectory = ConfigurationManager.AppSettings["AutoPdf"]; chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory); chromeOptions.AddUserProfilePreference("download.prompt_for_download", false); chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true"); chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true); var driver1 = new ChromeDriver(chromeOptions); driver1.Navigate().GoToUrl(driver.Url); for (int j = 0; j < 3; j++) { IWebElement Receipttable = driver1.FindElement(By.XPath("//*[@id='legalPaymentHistorySubView:legalPaymentHistoryForm:data:" + j + ":_idJsp87']")); string BillTax2 = Receipttable.GetAttribute("href"); Receipttable.Click(); Thread.Sleep(3000); var files = new DirectoryInfo(downloadDirectory).GetFiles("*.*"); string latestfile = ""; DateTime lastupdated = DateTime.MinValue; foreach (FileInfo file in files) { if (file.LastWriteTime > lastupdated) { lastupdated = file.LastWriteTime; latestfile = file.Name; } } gc.AutoDownloadFile(orderNumber, parcelNumber, "Travis", "TX", latestfile); } //Bill Download try { IWebElement OriginalTaxBill = driver1.FindElement(By.Id("quickSearchSubView:quickSearchForm:_idJsp41")); OriginalTax = OriginalTaxBill.GetAttribute("href"); string Original_Tax = gc.Between(OriginalTax, ".net/", "?").Trim(); OriginalTaxBill.Click(); Thread.Sleep(3000); gc.AutoDownloadFileSpokane(orderNumber, parcelNumber, "Travis", "TX", Original_Tax + ".pdf"); } catch { } try { IWebElement PriceTaxBill = driver1.FindElement(By.Id("quickSearchSubView:quickSearchForm:_idJsp47")); PriceTax = PriceTaxBill.GetAttribute("href"); string priceTax_Bill = gc.Between(PriceTax, ".net/", "?").Trim(); PriceTaxBill.Click(); Thread.Sleep(3000); gc.AutoDownloadFileSpokane(orderNumber, parcelNumber, "Travis", "TX", priceTax_Bill + ".pdf"); } catch { } try { IWebElement CurrentTaxBill = driver1.FindElement(By.Id("quickSearchSubView:quickSearchForm:_idJsp50")); CurrentTax = CurrentTaxBill.GetAttribute("href"); string Current_TaxBill = gc.Between(CurrentTax, ".net/", "?").Trim(); CurrentTaxBill.Click(); Thread.Sleep(3000); gc.AutoDownloadFileSpokane(orderNumber, parcelNumber, "Travis", "TX", Current_TaxBill + ".pdf"); } catch { } driver1.Quit(); } catch { } try { driver.Navigate().GoToUrl("https://tax-office.traviscountytx.gov/contact"); Thread.Sleep(2000); MainNumber = driver.FindElement(By.XPath("//*[@id='tab1']/div/div/p[1]")).Text; MainNumber = WebDriverTest.Before(MainNumber, " Monday - Friday"); driver.FindElement(By.XPath("//*[@id='container']/div/div[2]/div/ul/li[2]/a")).Click(); Thread.Sleep(1000); gc.CreatePdf(orderNumber, GeographicID, "Tax Authority", driver, "TX", "Travis"); Authotity = driver.FindElement(By.XPath("//*[@id='tab2']/div/div/p[3]")).Text; Tax_Authority = Authotity + " " + MainNumber; } catch { } ValueDetails1 = Tax_Year + "~" + Account + "~" + Tax_Owner + "~" + Tax_Mailing + "~" + Tax_LegalDesp + "~" + Base_Due + "~" + Penalty_Interst + "~" + OtherFee + "~" + Tax_Total + "~" + Tax_Authority + "~" + Deliquent_Comments; gc.insert_date(orderNumber, GeographicID, 1079, ValueDetails1, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "TX", "Travis", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "TX", "Travis"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
public string FTP_Anoka(string address, string ownername, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass gc = new GlobalClass(); string mul; 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://prtinfo.co.anoka.mn.us/(kxx2oxebgw01e1450i1kvc3m)/search.aspx"); Thread.Sleep(4000); if (searchType == "address") { driver.FindElement(By.Id("mSearchControl_mStreetAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MN", "Anoka"); driver.FindElement(By.Id("mSearchControl_mSubmit")).SendKeys(Keys.Enter); Thread.Sleep(3000); // gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "MN", "Anoka"); mul = driver.FindElement(By.Id("mResultscontrol_mMessage")).Text.Trim(); mul = WebDriverTest.Before(mul, " records"); if (mul != "1") { //multi parcel IWebElement tbmulti2 = driver.FindElement(By.XPath("//*[@id='mResultscontrol_mResultGrid_RealDataGrid']/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); int maxCheck = 0; IList <IWebElement> TDmulti2; string[] parcel = new string[3]; int p = 0; foreach (IWebElement row in TRmulti2) { if (maxCheck <= 25) { if (!row.Text.Contains("Parcel Number")) { TDmulti2 = row.FindElements(By.TagName("td")); if (TDmulti2.Count != 0 && TDmulti2.Count > 1) { if (p == 0) { parcel[0] = TDmulti2[0].Text; } if (p == 1) { parcel[1] = TDmulti2[0].Text; } if (p == 2) { parcel[2] = TDmulti2[0].Text; } p++; string multi1 = TDmulti2[1].Text + "~" + TDmulti2[2].Text; gc.insert_date(orderNumber, TDmulti2[0].Text, 283, multi1, 1, DateTime.Now); } } maxCheck++; } } if (TRmulti2.Count > 25) { HttpContext.Current.Session["multiParcel_Anoka_Multicount"] = "Maximum"; driver.Quit(); gc.mergpdf(orderNumber, "MN", "Anoka"); return("Maximum"); } else { if (maxCheck == 3) { if (parcel[0] == parcel[1]) { IWebElement element5 = driver.FindElement(By.XPath("//*[@id='mResultscontrol_mResultGrid_RealDataGrid']/tbody/tr[2]/td[1]/a")); IJavaScriptExecutor js5 = driver as IJavaScriptExecutor; js5.ExecuteScript("arguments[0].click();", element5); Thread.Sleep(3000); } } else if (maxCheck == 4) { if ((parcel[0] == parcel[1]) && (parcel[1] == parcel[2])) { IWebElement element5 = driver.FindElement(By.XPath("//*[@id='mResultscontrol_mResultGrid_RealDataGrid']/tbody/tr[2]/td[1]/a")); IJavaScriptExecutor js5 = driver as IJavaScriptExecutor; js5.ExecuteScript("arguments[0].click();", element5); Thread.Sleep(3000); } } else if (maxCheck > 2) { HttpContext.Current.Session["multiparcel_Anoka"] = "Yes"; driver.Quit(); gc.mergpdf(orderNumber, "MN", "Anoka"); return("MultiParcel"); } } } else { driver.FindElement(By.XPath("//*[@id='mResultscontrol_mResultGrid_RealDataGrid']/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(3000); //Thread.Sleep(3000); } } if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, address, "MN", "Anoka"); 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_MNAnoka"] = "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(); //} driver.FindElement(By.Id("mSearchControl_mParcelID")).SendKeys(parcelNumber); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "MN", "Anoka"); driver.FindElement(By.Id("mSearchControl_mSubmit")).SendKeys(Keys.Enter); Thread.Sleep(1000); Thread.Sleep(3000); // gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "MN", "Anoka"); try { mul = driver.FindElement(By.Id("mResultscontrol_mMessage")).Text.Trim(); mul = WebDriverTest.Before(mul, " records"); if (mul != "1") { IWebElement tbmulti2 = driver.FindElement(By.XPath("//*[@id='mResultscontrol_mResultGrid_RealDataGrid']/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti2; int maxCheck = 0; foreach (IWebElement row in TRmulti2) { if (maxCheck <= 25) { if (!row.Text.Contains("Parcel Number")) { TDmulti2 = row.FindElements(By.TagName("td")); if (TDmulti2.Count != 0 && (TDmulti2.Count > 1)) { string multi1 = TDmulti2[1].Text + "~" + TDmulti2[2].Text; gc.insert_date(orderNumber, TDmulti2[0].Text, 283, multi1, 1, DateTime.Now); } } maxCheck++; } } if (TRmulti2.Count > 25) { HttpContext.Current.Session["multiParcel_Anoka_Multicount"] = "Maximum"; driver.Quit(); gc.mergpdf(orderNumber, "MN", "Anoka"); return("Maximum"); } else if ((TRmulti2.Count > 2) && (TRmulti2.Count <= 25)) { HttpContext.Current.Session["multiparcel_Anoka"] = "Yes"; driver.Quit(); gc.mergpdf(orderNumber, "MN", "Anoka"); return("MultiParcel"); } } } catch { } } try { IWebElement INodata = driver.FindElement(By.Id("Table1")); if (INodata.Text.Contains("0 records returned") && INodata.Text.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_MNAnoka"] = "Yes"; driver.Quit(); return("No Data Found"); } IWebElement Ino = driver.FindElement(By.Id("mSearchControl_mSearchFieldsValidator")); if (INodata.Text.Contains("does not exist")) { HttpContext.Current.Session["Nodata_MNAnoka"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details string Property_ID = "", Situs_Address = "", Property_Description = "", Status = "", Abstract_Torrens = "", Owner = "", Lot_Size = "", Year_Built = "", City_Name = "", School_District_Number_Name = "", Property_classification_2018 = "", Property_classification_2017; Property_ID = driver.FindElement(By.XPath("//*[@id='mGeneralInformation_mGrid_RealDataGrid']/tbody/tr[1]/td[2]/a")).Text.Trim(); if (Property_ID.Contains("-")) { Property_ID = Property_ID.Replace("-", ""); } gc.CreatePdf(orderNumber, Property_ID, "information", driver, "MN", "Anoka"); Situs_Address = driver.FindElement(By.XPath(" //*[@id='mGeneralInformation_mGrid_RealDataGrid']/tbody/tr[2]/td[2] ")).Text.Trim(); Property_Description = driver.FindElement(By.XPath(" //*[@id='mGeneralInformation_mGrid_RealDataGrid']/tbody/tr[3]/td[2] ")).Text.Trim(); Status = driver.FindElement(By.XPath("//*[@id='mGeneralInformation_mGrid_RealDataGrid']/tbody/tr[8]/td[2] ")).Text.Trim(); Abstract_Torrens = driver.FindElement(By.XPath(" //*[@id='mGeneralInformation_mGrid_RealDataGrid']/tbody/tr[9]/td[2] ")).Text.Trim(); string owner1 = driver.FindElement(By.XPath("//*[@id='mParties_mGrid_RealDataGrid']/tbody/tr[2]/td[2] ")).Text.Trim(); string owner2 = ""; try { owner2 = driver.FindElement(By.XPath("//*[@id='mParties_mGrid_RealDataGrid']/tbody/tr[3]/td[2] ")).Text.Trim(); } catch { } if (owner2 == "") { Owner = owner1; } else { Owner = owner1 + " & " + owner2; } try { Lot_Size = driver.FindElement(By.XPath("//*[@id='mPropertyCharacteristics_mPropertyCharacteristics_RealDataGrid']/tbody/tr[1]/td[2] ")).Text.Trim(); Year_Built = driver.FindElement(By.XPath("//*[@id='mPropertyCharacteristics_mPropertyCharacteristics_RealDataGrid']/tbody/tr[2]/td[2] ")).Text.Trim(); } catch { } try { Lot_Size = ""; Year_Built = driver.FindElement(By.XPath("//*[@id='mPropertyCharacteristics_mPropertyCharacteristics_RealDataGrid']/tbody/tr[1]/td[2] ")).Text.Trim(); } catch { } City_Name = driver.FindElement(By.XPath(" //*[@id='mTaxDistrictInformation_mGrid_RealDataGrid']/tbody/tr[2]/td[2] ")).Text.Trim(); School_District_Number_Name = driver.FindElement(By.XPath("//*[@id='mTaxDistrictInformation_mGrid_RealDataGrid']/tbody/tr[1]/td[2] ")).Text.Trim(); // Property_classification_2018 = driver.FindElement(By.XPath("//*[@id='mPropertyClassification_mGrid_RealDataGrid']/tbody/tr[2]/td[2] ")).Text.Trim(); Property_classification_2017 = ""; string property_details = Situs_Address + "~" + Property_Description + "~" + Status + "~" + Abstract_Torrens + "~" + Owner + "~" + Lot_Size + "~" + Year_Built + "~" + City_Name + "~" + School_District_Number_Name + "~" + Property_classification_2018 + "~" + ""; gc.insert_date(orderNumber, Property_ID, 284, property_details, 1, DateTime.Now); //assessment details IWebElement Assessmenttable = driver.FindElement(By.XPath("//*[@id='mValues_mGrid_RealDataGrid']/tbody")); IList <IWebElement> Assessmentrow = Assessmenttable.FindElements(By.TagName("tr")); IList <IWebElement> AssessmentTD; foreach (IWebElement Assessment in Assessmentrow) { AssessmentTD = Assessment.FindElements(By.TagName("td")); if (!Assessment.Text.Contains("Tax Year")) { string Assessmentresult = AssessmentTD[0].Text + "~" + AssessmentTD[1].Text + "~" + AssessmentTD[2].Text; gc.insert_date(orderNumber, Property_ID, 285, Assessmentresult, 1, DateTime.Now); } } //IWebElement valuetableElement = driver.FindElement(By.XPath("//*[@id='mValues_mGrid_RealDataGrid']/tbody")); //IList<IWebElement> valuetableRow = valuetableElement.FindElements(By.TagName("tr")); //IList<IWebElement> valuerowTD; //string year = "", Est_Market_Land = ""; //foreach (IWebElement row in valuetableRow) //{ // valuerowTD = row.FindElements(By.TagName("td")); // if (valuerowTD.Count != 0 && valuerowTD[0].Text.Trim() != "Tax Year") // { // year = valuerowTD[0].Text + "~" + year; // Est_Market_Land = valuerowTD[2].Text + "~" + Est_Market_Land; // } //} //year = year + "fe"; //string currentyear = "", prioryear = ""; //year = year.Replace("~fe", ""); //Est_Market_Land = Est_Market_Land + "fe"; //Est_Market_Land = Est_Market_Land.Replace("~fe", ""); //string[] Split1 = year.Split('~'); //string[] Split2 = Est_Market_Land.Split('~'); //for (int K = Split1.Length - 1; K >= 0; K--) //{ // string assessment2 = Split1[K] + "~" + Split2[K] + "~" + Split2[K - 1] + "~" + Split2[K - 2] + "~" + Split2[K - 3] + "~" + Split2[K - 4]; // gc.insert_date(orderNumber, Property_ID, 285, assessment2, 1, DateTime.Now); // currentyear = Split1[K]; // break; //} //for (int K = Split1.Length - 1; K >= 0; K--) //{ // if (Split1[K] != currentyear) // { // prioryear = Split1[K]; // string assessment2 = Split1[K] + "~" + "-" + "~" + "-" + "~" + Split2[K] + "~" + Split2[K - 1] + "~" + Split2[K - 2]; // gc.insert_date(orderNumber, Property_ID, 285, assessment2, 1, DateTime.Now); // break; // } //} //for (int K = Split1.Length - 1; K >= 0; K--) //{ // if (Split1[K] != prioryear && Split1[K] != currentyear) // { // string assessment2 = Split1[K] + "~" + "-" + "~" + "-" + "~" + Split2[K] + "~" + Split2[K - 1] + "~" + Split2[K - 2]; // gc.insert_date(orderNumber, Property_ID, 285, assessment2, 1, DateTime.Now); // break; // } //} AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //tax details try { IWebElement tbmulti1 = driver.FindElement(By.XPath("//*[@id='mPropertyClassification_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti1; foreach (IWebElement row in TRmulti1) { if (!row.Text.Contains("Tax Year")) { TDmulti1 = row.FindElements(By.TagName("td")); if (TDmulti1.Count != 0) { string multi1 = TDmulti1[0].Text + "~" + TDmulti1[1].Text + "~" + TDmulti1[2].Text + "~" + "Anoka County, Minnesota 2100 3rd Ave.| Anoka, MN 55303 Ph: 763-324-4000(switchboard)"; gc.insert_date(orderNumber, Property_ID, 286, multi1, 1, DateTime.Now); } } } } catch { } //tax payment try { IWebElement tbmulti4 = driver.FindElement(By.XPath("//*[@id='mPaymentHistoryAnoka_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRmulti4 = tbmulti4.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti4; foreach (IWebElement row in TRmulti4) { if (!row.Text.Contains("Date Paid")) { TDmulti4 = row.FindElements(By.TagName("td")); if (TDmulti4.Count != 0) { string multi1 = TDmulti4[0].Text + "~" + TDmulti4[1].Text + "~" + TDmulti4[2].Text + "~" + TDmulti4[3].Text + "~" + TDmulti4[4].Text; gc.insert_date(orderNumber, Property_ID, 287, multi1, 1, DateTime.Now); } } } } catch { } // Tax Installments Payable Details Table: try { string deliquent_amount = ""; driver.FindElement(By.XPath("//*[@id='mTaxChargesBalancePaymentInjected_mIncludeInstallmentsCheckbox']")).Click(); Thread.Sleep(3000); IWebElement tbmulti5 = driver.FindElement(By.XPath("//*[@id='mGridInstallments_RealDataGrid']/tbody")); IList <IWebElement> TRmulti5 = tbmulti5.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti5; foreach (IWebElement row in TRmulti5) { if (!row.Text.Contains("Tax Year")) { TDmulti5 = row.FindElements(By.TagName("td")); if (TDmulti5.Count != 0) { string multi13 = TDmulti5[0].Text + "~" + TDmulti5[1].Text + "~" + TDmulti5[2].Text + "~" + TDmulti5[3].Text + "~" + TDmulti5[4].Text + "~" + TDmulti5[5].Text + "~" + TDmulti5[6].Text + "~" + TDmulti5[6].Text + "~" + "-"; gc.insert_date(orderNumber, Property_ID, 288, multi13, 1, DateTime.Now); } } } try { string date = ""; int counttd; driver.FindElement(By.XPath("//*[@id='mTaxChargesBalancePaymentInjected_mIncludeDelinquentTaxYearsCheckbox']")).Click(); deliquent_amount = driver.FindElement(By.XPath("//*[@id='mTaxChargesBalancePaymentInjected_mDelinquentAmount']")).Text.Trim(); IWebElement tbmulti6 = driver.FindElement(By.XPath(" //*[@id='mGridDelinquent_RealDataGrid']/tbody")); IList <IWebElement> TRmulti6 = tbmulti6.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti6; foreach (IWebElement row in TRmulti6) { if (!row.Text.Contains("Tax Year")) { TDmulti6 = row.FindElements(By.TagName("td")); counttd = TDmulti6.Count; if (TDmulti6.Count == 1) { string multi1 = "No records" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "$0.00"; gc.insert_date(orderNumber, Property_ID, 288, multi1, 1, DateTime.Now); } else { string multi1 = TDmulti6[0].Text + "~" + TDmulti6[1].Text + "~" + TDmulti6[2].Text + "~" + TDmulti6[3].Text + "~" + TDmulti6[4].Text + "~" + TDmulti6[5].Text + "~" + TDmulti6[6].Text + "~" + "-" + "~" + TDmulti6[6].Text; gc.insert_date(orderNumber, Property_ID, 288, multi1, 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='mTaxChargesBalancePaymentInjected_mFuturePayoff']")).Click(); Thread.Sleep(4000); IWebElement dt = driver.FindElement(By.XPath("//*[@id='mFuturePayoff_mDate']")); 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(); driver.FindElement(By.Id("mFuturePayoff_mDate")).SendKeys(date); } driver.FindElement(By.XPath("//*[@id='mFuturePayoff_mCalculate']")).Click(); Thread.Sleep(7000); gc.CreatePdf(orderNumber, Property_ID, "Futurepayoff", driver, "MN", "Anoka"); IWebElement tbmulti51 = driver.FindElement(By.XPath("//*[@id='mFuturePayoff_mGrid_RealDataGrid']/tbody")); IList <IWebElement> TRmulti51 = tbmulti51.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti51; foreach (IWebElement row1 in TRmulti51) { if (!row1.Text.Contains("Principal")) { TDmulti51 = row1.FindElements(By.TagName("td")); if (TDmulti51.Count != 0) { string fututepay = date + "~" + TDmulti51[0].Text + "~" + TDmulti51[1].Text + "~" + TDmulti51[2].Text; gc.insert_date(orderNumber, Property_ID, 289, fututepay, 1, DateTime.Now); //AsOfDate~Principal~Interest_Penalties_Costs~InstallmentTotal } } } } } } catch { } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MN", "Anoka", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MN", "Anoka"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_STLouis(string houseno, string sname, string sttype, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; IWebElement iframeElement1; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string locator_no = "-", owner_name = "-", taxing_address = "-", city_name = "-", subdivison_name = "-", legal_description = "-", year_built = "-"; string locator_num = "-", prop_location = "-", tax_authority = "St. Louis County Government,41 South Central, Clayton, Missouri 63105", dele_status = "-"; try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + sname; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "SC", "Charleston"); 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_WilliamsonTX"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://revenue.stlouisco.com/IAS/"); //find ifram using xpath IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frameset/frame[1]")); //now use the switch command driver.SwitchTo().Frame(iframeElement); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[1]/div[3]/span/label")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='tboxAddrNum']")).SendKeys(houseno); driver.FindElement(By.XPath("//*[@id='tboxStreet']")).SendKeys(sname); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "MO", "Saint Louis"); //multi parecl driver.SwitchTo().DefaultContent(); iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement1); Thread.Sleep(3000); string count = driver.FindElement(By.XPath("//*[@id='labelTotalRows']")).Text.Trim(); if (count != "1 Record Found") { Multi_Parcel_Search(orderNumber); driver.Quit(); return("MultiParcel"); } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='panelData']")).Text; if (nodata.Contains("No records were found")) { HttpContext.Current.Session["Nodata_StLouis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://revenue.stlouisco.com/IAS/"); //find ifram using xpath IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frameset/frame[1]")); //now use the switch command driver.SwitchTo().Frame(iframeElement); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='tboxLocatorNum']")).SendKeys(parcelNumber); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "MO", "Saint Louis"); driver.SwitchTo().DefaultContent(); iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement1); try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='panelData']")).Text; if (nodata.Contains("No records were found")) { HttpContext.Current.Session["Nodata_StLouis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://revenue.stlouisco.com/IAS/"); //find ifram using xpath IWebElement iframeElement = driver.FindElement(By.Name("SearchInput")); //now use the switch command driver.SwitchTo().Frame(iframeElement); Thread.Sleep(3000); driver.FindElement(By.Id("rbutName")).Click(); Thread.Sleep(3000); string firstname = "", lastname = ""; if (ownername.Contains(" ")) { string[] name = ownername.Split(' '); firstname = name[0]; lastname = name[1]; driver.FindElement(By.XPath("//*[@id='tboxLastName']")).SendKeys(firstname); driver.FindElement(By.XPath("//*[@id='tboxFirstName']")).SendKeys(lastname); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); } else { driver.FindElement(By.XPath("//*[@id='tboxLastName']")).SendKeys(ownername); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); } gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "MO", "Saint Louis"); driver.SwitchTo().DefaultContent(); iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement1); Thread.Sleep(3000); try { string count = driver.FindElement(By.XPath("//*[@id='labelTotalRows']")).Text.Trim(); string getcount = WebDriverTest.Before(count, "Record Found").Trim(); int igetcount = Convert.ToInt16(getcount); if (igetcount <= 10) { if (count != "1 Record Found") { Multi_Parcel_Search(orderNumber); driver.Quit(); return("MultiParcel"); } } else { HttpContext.Current.Session["multiparcel_StLouis_count"] = "Maximum"; return("Maximum"); } } catch { } try { string count = driver.FindElement(By.XPath("//*[@id='labelTotalRows']")).Text.Trim(); string getcount = WebDriverTest.Before(count, "Records Found").Trim(); int igetcount = Convert.ToInt16(getcount); if (igetcount <= 10) { if (count != "1 Records Found") { Multi_Parcel_Search(orderNumber); driver.Quit(); return("MultiParcel"); } } else { HttpContext.Current.Session["multiparcel_StLouis_count"] = "Maximum"; return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='panelData']")).Text; if (nodata.Contains("No records were found")) { HttpContext.Current.Session["Nodata_StLouis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Amrock Mapping Amrock amc = new Amrock(); //Thread.Sleep(3000); //driver.SwitchTo().DefaultContent(); //iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); //driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("/html/body/form/div[3]/center/table/tbody/tr[3]/td/table/tbody/tr[2]/td[3]/img")).Click(); driver.SwitchTo().DefaultContent(); Thread.Sleep(1000); //owner ship and legal information // Property Details Table. IWebElement iframeElement2 = driver.FindElement(By.XPath("/html/frameset/frame")); driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(3000); //assessment details locator_no = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labLocatorNum']")).Text; amc.TaxId = locator_no; int k = 0, j = 0; IWebElement TBAssessment = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[3]/td/form/table/tbody/tr/td[2]/div[3]/div[4]/div[2]/div[1]/div[2]/table/tbody")); IList <IWebElement> TRAssessment = TBAssessment.FindElements(By.TagName("tr")); IList <IWebElement> TDAssessment; foreach (IWebElement row1 in TRAssessment) { TDAssessment = row1.FindElements(By.TagName("td")); if (TDAssessment.Count != 0 && !row1.Text.Contains("Appraised Values") && !row1.Text.Contains("Year")) { try { //click expnad the year IList <IWebElement> expand = TBAssessment.FindElements(By.XPath("//tr[contains(@id,'trAsmt')]/td[1]/img")); foreach (IWebElement exe in expand) { if (j > 0 && j < 3) { IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", exe); Thread.Sleep(1000); } j++; } } catch { } //store the values IList <IWebElement> residential_values = TBAssessment.FindElements(By.XPath("//tr[contains(@id,'trAsmt')]")); foreach (IWebElement rv in residential_values) { try { if (k > 0 && k < 4) { //insert details TDAssessment = rv.FindElements(By.TagName("td")); string assessment_details = TDAssessment[1].Text.Trim() + "~" + TDAssessment[3].Text.Trim() + "~" + TDAssessment[4].Text.Trim() + "~" + TDAssessment[5].Text.Trim() + "~" + TDAssessment[7].Text.Trim() + "~" + TDAssessment[8].Text.Trim() + "~" + TDAssessment[9].Text.Trim(); gc.insert_date(orderNumber, locator_no, 23, assessment_details, 1, DateTime.Now); } k++; } catch (Exception e) { } } gc.CreatePdf(orderNumber, locator_no, "Assessment Details", driver, "MO", "Saint Louis"); } } // Property Details Table. owner_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labOwnerName']")).Text; taxing_address = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labTaxAddr']")).Text; city_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labCityName']")).Text; subdivison_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labSubdivisionName']")).Text; legal_description = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labLegalDesc']")).Text; driver.FindElement(By.ClassName("RevDeptContentLink")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, locator_no, "PropertyDetails", driver, "MO", "Saint Louis"); Thread.Sleep(2000); try { year_built = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_DwellingDataRes_labYearBuilt']")).Text; } catch { } string property_details = owner_name + "~" + taxing_address + "~" + city_name + "~" + subdivison_name + "~" + legal_description + "~" + year_built; if (property_details.Contains("\r\n")) { property_details = property_details.Replace("\r\n", ""); gc.insert_date(orderNumber, locator_no, 22, property_details, 1, DateTime.Now); //db.ExecuteQuery("insert into data_value_master (Order_no,parcel_no,Data_Field_Text_Id,Data_Field_value,Is_Table) values ('" + orderNumber + "','" + multirowTD[0].Text.Trim() + "',19 ,'" + multi + "',1)"); } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); Thread.Sleep(2000); //Tax amount due driver.FindElement(By.XPath("//*[@id='ctl00_LeftMargin_MarginLinks_aTaxDue']")).SendKeys(Keys.Enter); Thread.Sleep(3000); //need to add tax authority try { IWebElement TBTaxDue = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[3]/td/form/table/tbody/tr/td[2]/div[5]/div[2]/div[1]/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> TRTaxDue = TBTaxDue.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxDue; int i = 0; int count = TRTaxDue.Count; //Amcrock int assess = 0; //if condition used for display two tables foreach (IWebElement row1 in TRTaxDue) { if (!row1.Text.Contains("Locator Number") && !row1.Text.Contains("Tax Year")) { TDTaxDue = row1.FindElements(By.TagName("td")); int TDcount = TDTaxDue.Count(); if (TDcount == 8) { //insert details string Tax_details = TDTaxDue[0].Text.Trim() + "~" + TDTaxDue[1].Text.Trim() + "~" + TDTaxDue[2].Text.Trim() + "~" + TDTaxDue[3].Text.Trim() + "~" + TDTaxDue[4].Text.Trim() + "~" + TDTaxDue[5].Text.Trim() + "~" + TDTaxDue[6].Text.Trim() + "~" + TDTaxDue[7].Text.Trim() + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, locator_no, 24, Tax_details, 1, DateTime.Now); //Amcrock if (assess < 2 && row1.Text.Contains("Total:")) { assess++; if (assess == 1) { //amc.Land = TDTaxDue[5].Text.Trim(); //amc.Building = TDTaxDue[6].Text.Trim(); //amc.Assess = TDTaxDue[7].Text.Trim(); } } } if (TDcount == 6 || TDcount == 2) { if (i < count - 3) { //insert details string Tax_details = TDTaxDue[0].Text.Trim() + "~" + TDTaxDue[1].Text.Trim() + "~" + TDTaxDue[2].Text.Trim() + "~" + TDTaxDue[3].Text.Trim() + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + TDTaxDue[4].Text.Trim() + "~" + TDTaxDue[5].Text.Trim(); gc.insert_date(orderNumber, locator_no, 24, Tax_details, 1, DateTime.Now); } if (i == count - 3) { //insert details string Tax_details = TDTaxDue[0].Text.Replace(">>", "").Trim() + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + TDTaxDue[1].Text.Trim(); gc.insert_date(orderNumber, locator_no, 24, Tax_details, 1, DateTime.Now); } i++; } } } gc.CreatePdf(orderNumber, locator_no, "tax Details", driver, "MO", "Saint Louis"); } catch (Exception e) { } driver.Navigate().Back(); Thread.Sleep(3000); //Tax History driver.SwitchTo().DefaultContent(); Thread.Sleep(3000); IWebElement iframeElement21 = driver.FindElement(By.XPath("/html/frameset/frame")); driver.SwitchTo().Frame(iframeElement21); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_LeftMargin_MarginLinks_aTaxHistory")).SendKeys(Keys.Enter); Thread.Sleep(3000); locator_num = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_labelLocatorNum']")).Text; owner_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_labelOwner']")).Text; prop_location = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_labelLocation']")).Text; IWebElement TBTax_History = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_tableTaxHistory']/tbody")); IList <IWebElement> TRTax_History = TBTax_History.FindElements(By.TagName("tr")); IList <IWebElement> TDTax_History; int a = 0; foreach (IWebElement row1 in TRTax_History) { if (!row1.Text.Contains("Tax Year")) { if (a < 3) { TDTax_History = row1.FindElements(By.TagName("td")); //insert details string TaxHistory_details = owner_name + "~" + prop_location + "~" + TDTax_History[0].Text.Trim() + "~" + TDTax_History[2].Text.Trim() + "~" + TDTax_History[3].Text.Trim() + "~" + TDTax_History[4].Text.Trim() + "~" + TDTax_History[5].Text.Trim() + "~" + TDTax_History[6].Text.Trim() + "~" + TDTax_History[7].Text.Trim() + "~" + tax_authority + "~" + "-"; gc.insert_date(orderNumber, locator_num, 25, TaxHistory_details, 1, DateTime.Now); } a++; } } driver.Navigate().Back(); Thread.Sleep(3000); //Tax Due driver.SwitchTo().DefaultContent(); Thread.Sleep(3000); IWebElement iframeEle = driver.FindElement(By.XPath("/html/frameset/frame")); driver.SwitchTo().Frame(iframeEle); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_LeftMargin_MarginLinks_aTaxDue")).SendKeys(Keys.Enter); Thread.Sleep(3000); //Amcrock Tax Details string TaxesDueStatus = driver.FindElement(By.Id("ctl00_MainContent_TaxesDueData1_labelPageHeader")).Text; int countdue = 0; IWebElement ITaxes = null; try { ITaxes = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_TaxesDueData1_tableTaxPaidRE']/tbody")); } catch { } try { ITaxes = driver.FindElement(By.Id("ctl00_MainContent_TaxesDueData1_panelTaxesDueRE")); } catch { } IList <IWebElement> TRITaxes = ITaxes.FindElements(By.TagName("tr")); IList <IWebElement> TDITaxes; foreach (IWebElement row1 in TRITaxes) { TDITaxes = row1.FindElements(By.XPath("td")); if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 8 && TRITaxes.Count == 3) { string taxyear = TDITaxes[0].Text; string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; if (Interest == ("$0.00") && penality == ("$0.00")) { amc.Instamount1 = TDITaxes[5].Text; //Total Tax amc.Instamountpaid1 = TDITaxes[6].Text; //Amount Paid } if (TaxesDueStatus.Contains("No Taxes Are Due")) { amc.InstPaidDue1 = "Paid"; amc.IsDelinquent = "No"; } } if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 6 && TRITaxes.Count >= 3) { string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; string total = TDITaxes[5].Text; if (Interest != ("$0.00") && penality != ("$0.00") && !total.Contains("$0.00")) { countdue++; } } if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 6 && TRITaxes.Count == 3) { string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; string total = TDITaxes[5].Text; if (Interest == ("$0.00") && penality == ("$0.00") && !total.Contains("$0.00")) { amc.Instamountpaid1 = TDITaxes[6].Text; //Amount Paid amc.InstPaidDue1 = "Due"; amc.IsDelinquent = "No"; } } if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 8 && TRITaxes.Count == 3) { string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; if (Interest != ("$0.00") && penality != ("$0.00") && TaxesDueStatus.Contains("No Taxes Are Due")) { amc.IsDelinquent = "Yes"; } } } if (countdue > 0) { amc.IsDelinquent = "Yes"; } if (amc.IsDelinquent == "Yes") { gc.InsertAmrockTax(orderNumber, amc.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amc.IsDelinquent); } if (amc.IsDelinquent == "No") { gc.InsertAmrockTax(orderNumber, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); } gc.CreatePdf(orderNumber, locator_no, "Tax_History", driver, "MO", "Saint Louis"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MO", "Saint Louis", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MO", "Saint Louis"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_CAYolo(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", AssessTakenTime = "", TaxTakentime = "", CityTaxtakentime = ""; string TotaltakenTime = ""; List <string> strTaxRealestate1 = new List <string>(); string address1 = "", Assess = "", fee_parcel = "", Tra = ""; string Roll_Category = "", Address = "", Tax_year = "", First_Installment_Paid_Status = "", First_Installment_Paid_Date = "", First_Installment_Total_Due = "", First_Installment_Total_Paid = "", First_Installment_Balance = "", Second_Installment_Paid_Status = "", Second_Installment_Paid_Date = "", Second_Installment_Total_Due = "", Second_Installment_Total_Paid = "", Second_Installment_Balance = "", FirstandSecondInstallment_Total_Due = "", FirstandSecondInstallment_Total_Paid = "", FirstandSecondInstallment_Total_Balance = ""; string Assessor_ID_Number = "", Tax_Rate_Area = ""; string Default_Number = "", Pay_Plan_in_Effect = "", Annual_Payment = "", Balance = ""; 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()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://common1.mptsweb.com/megabytecommonsite/(S(gasfooqiev2vcpdvowte0ahe))/PublicInquiry/Inquiry.aspx?CN=yolo&SITE=Public&DEPT=Asr&PG=Search"); Thread.Sleep(4000); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, address, "CA", "Yolo"); parcelNumber = GlobalClass.global_parcelNo; 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_CAYolo"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { var Select = driver.FindElement(By.Id("idSitus")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Begins with"); driver.FindElement(By.XPath(" /html/body/form/center/table/tbody/tr[5]/td[3]/input")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CA", "Yolo"); driver.FindElement(By.XPath("/html/body/form/center/p/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "CA", "Yolo"); Thread.Sleep(6000); IWebElement tbmulti = driver.FindElement(By.XPath("/html/body/form/center/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int maxCheck = 0; if (TRmulti.Count > 6) { IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (maxCheck <= 25) { if (!row.Text.Contains("Assessment No.")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count == 3 && TDmulti[0].Text.Trim() != "") { Assess = TDmulti[0].Text; fee_parcel = TDmulti[1].Text; Tra = TDmulti[2].Text; } if (TDmulti.Count == 1 && TDmulti[0].Text.Trim() != "") { address1 = TDmulti[0].Text; string multi1 = Assess + "~" + Tra + "~" + address1; gc.insert_date(orderNumber, fee_parcel, 518, multi1, 1, DateTime.Now); //Assessment Id~Tra~Address } } maxCheck++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_CAYolo_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_CAYolo"] = "Yes"; } driver.Quit(); gc.mergpdf(orderNumber, "CA", "Yolo"); return("MultiParcel"); } } else if (searchType == "parcel") { if ((HttpContext.Current.Session["titleparcel"] != null && HttpContext.Current.Session["titleparcel"].ToString() != "")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } var Select = driver.FindElement(By.Id("idfeeparcel")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Begins with"); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } string a = parcelNumber.Substring(0, 3); string b = parcelNumber.Substring(3, 3); string c = parcelNumber.Substring(6, 3); string d = parcelNumber.Substring(9, 3); parcelNumber = a + "-" + b + "-" + c + "-" + d; driver.FindElement(By.XPath("/html/body/form/center/table/tbody/tr[4]/td[3]/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "CA", "Yolo"); driver.FindElement(By.XPath("/html/body/form/center/p/input[1]")).SendKeys(Keys.Enter); } try { IWebElement Inodata = driver.FindElement(By.XPath("/html/body/form/center/table/tbody")); if (Inodata.Text.Contains("Field") && Inodata.Text.Contains("Search Type") && Inodata.Text.Contains("Value") && Inodata.Text.Contains("Assessor Inquiry: Please enter search criteria")) { HttpContext.Current.Session["Nodata_CAYolo"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } IWebElement runButton = driver.FindElement(By.XPath("/html/body/form/center/table/tbody/tr[2]/td[1]/a")); runButton.Click(); Thread.Sleep(4000); //property details string Parcel_id = "", owner_name = "", ImprovementValue = "", totalValue = "", Bussiness_property = ""; string fulltabletext = driver.FindElement(By.XPath(" / html / body / form / center / table / tbody")).Text.Trim().Replace("\r\n", ""); Parcel_id = gc.Between(fulltabletext, "Assessor Parcel Number (APN)", "Assessment Number").Trim(); gc.CreatePdf(orderNumber, Parcel_id, "Property details", driver, "CA", "Yolo"); Assessor_ID_Number = gc.Between(fulltabletext, "Assessment Number", "Tax Rate Area (TRA)").Trim(); Tax_Rate_Area = gc.Between(fulltabletext, "Tax Rate Area (TRA)", "Current Document Number").Trim(); owner_name = gc.Between(fulltabletext, "Owner", "Lot Size").Trim(); string prop = Assessor_ID_Number + "~" + Tax_Rate_Area + "~" + owner_name; // Assessment Number~Tax Rate Area~Owner Name gc.insert_date(orderNumber, Parcel_id, 513, prop, 1, DateTime.Now); //Assessment details string Land = "", Fixtures = "", Growing = "", Personal_Property = "", Homeowners_Exemption = "", Other_Exemption = "", Net_Assessment = ""; Land = gc.Between(fulltabletext, "Land", "Structure").Trim(); ImprovementValue = gc.Between(fulltabletext, "Structure", "Fixtures").Trim(); Fixtures = gc.Between(fulltabletext, "Fixtures", "Growing").Trim(); Growing = gc.Between(fulltabletext, "Growing", "Total Land and Improvements").Trim(); totalValue = gc.Between(fulltabletext, "Total Land and Improvements", "Personal Property").Trim(); Personal_Property = gc.Between(fulltabletext, "Personal Property", "Business Property").Trim(); Bussiness_property = gc.Between(fulltabletext, "Business Property", "Homeowners Exemption (HOX)").Trim(); Homeowners_Exemption = gc.Between(fulltabletext, "Homeowners Exemption (HOX)", "Other Exemptions").Trim(); Other_Exemption = gc.Between(fulltabletext, "Other Exemptions", "Net Assessment").Trim(); Net_Assessment = WebDriverTest.After(fulltabletext, "Net Assessment"); Net_Assessment = WebDriverTest.Before(Net_Assessment, "NavigationNew Search"); string assess = Land + "~" + ImprovementValue + "~" + Fixtures + "~" + Growing + "~" + totalValue + "~" + Personal_Property + "~" + Bussiness_property + "~" + Homeowners_Exemption + "~" + Other_Exemption + "~" + Net_Assessment; gc.insert_date(orderNumber, Parcel_id, 514, assess, 1, DateTime.Now); //Land Value~Improvement Value~Fixtures~Growing~Total Value~Personal Property~Business Property~Homeowners Exemption~Other Exemptions~Net Assessment AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax details driver.Navigate().GoToUrl("https://common2.mptsweb.com/MBC/yolo/tax/search"); for (int k = 1; k < 4; k++) { if (k == 1) { //select year var year = driver.FindElement(By.Id("SelTaxYear")); var selectElement1 = new SelectElement(year); selectElement1.SelectByIndex(0); //searchBy var searchby = driver.FindElement(By.Id("SearchVal")); var selectElement2 = new SelectElement(searchby); selectElement2.SelectByText("FEE PARCEL"); driver.FindElement(By.XPath("//*[@id='SearchValue']")).SendKeys(Parcel_id); driver.FindElement(By.XPath("//*[@id='SearchSubmit']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_id, "tax1", driver, "CA", "Yolo"); } else if (k == 2) { //select year var year = driver.FindElement(By.Id("SelTaxYear")); var selectElement1 = new SelectElement(year); selectElement1.SelectByIndex(1); //searchBy var searchby = driver.FindElement(By.Id("SearchVal")); var selectElement2 = new SelectElement(searchby); selectElement2.SelectByText("FEE PARCEL"); driver.FindElement(By.XPath("//*[@id='SearchSubmit']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_id, "tax2", driver, "CA", "Yolo"); } else if (k == 3) { //select year var year = driver.FindElement(By.Id("SelTaxYear")); var selectElement1 = new SelectElement(year); selectElement1.SelectByIndex(2); //searchBy var searchby = driver.FindElement(By.Id("SearchVal")); var selectElement2 = new SelectElement(searchby); selectElement2.SelectByText("FEE PARCEL"); driver.FindElement(By.XPath("//*[@id='SearchSubmit']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_id, "tax3", driver, "CA", "Yolo"); } int j; //Current Tax Details Table try { int divCount = driver.FindElements(By.XPath("//*[@id='ResultDiv']/div")).Count; for (j = 1; j <= divCount; j++) { IWebElement Itaxstmt = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div[" + j + "]/div/div/div/a")); string stmt1 = Itaxstmt.GetAttribute("href"); strTaxRealestate1.Add(stmt1); } } catch { } } foreach (string real in strTaxRealestate1) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); string pdfassess = driver.FindElement(By.XPath(" /html/body/div[2]/section/div/div/div/div[6]/div/div[1]/div[1]/div[2]")).Text; string pdfyear = driver.FindElement(By.XPath("/html/body/div[2]/section/div/div/div/div[6]/div/div[1]/div[3]/div[2]")).Text; string pdf = pdfassess + " " + pdfyear; string fulltabletextTax1 = driver.FindElement(By.XPath("//*[@id='h2tab1']/div[1]/div[1]/dl")).Text.Trim().Replace("\r\n", ""); if (fulltabletextTax1.Contains("Delinq. Date")) { First_Installment_Paid_Status = gc.Between(fulltabletextTax1, "Paid Status", "Delinq. Date").Trim(); First_Installment_Paid_Date = gc.Between(fulltabletextTax1, "Delinq. Date", "Total Due").Trim(); } else { First_Installment_Paid_Status = gc.Between(fulltabletextTax1, "Paid Status", "Paid Date").Trim(); First_Installment_Paid_Date = gc.Between(fulltabletextTax1, "Paid Date", "Total Due").Trim(); } First_Installment_Total_Due = gc.Between(fulltabletextTax1, "Total Due", "Total Paid").Trim(); First_Installment_Total_Paid = gc.Between(fulltabletextTax1, "Total Paid", "Balance").Trim(); First_Installment_Balance = WebDriverTest.After(fulltabletextTax1, "Balance"); string fulltabletextTax2 = driver.FindElement(By.XPath("//*[@id='h2tab1']/div[1]/div[2]/dl")).Text.Trim().Replace("\r\n", ""); if (fulltabletextTax2.Contains("Delinq. Date")) { Second_Installment_Paid_Status = gc.Between(fulltabletextTax2, "Paid Status", "Delinq. Date").Trim(); Second_Installment_Paid_Date = gc.Between(fulltabletextTax2, "Delinq. Date", "Total Due").Trim(); } else { Second_Installment_Paid_Status = gc.Between(fulltabletextTax2, "Paid Status", "Paid Date").Trim(); Second_Installment_Paid_Date = gc.Between(fulltabletextTax2, "Paid Date", "Total Due").Trim(); } Second_Installment_Total_Due = gc.Between(fulltabletextTax2, "Total Due", "Total Paid").Trim(); Second_Installment_Total_Paid = gc.Between(fulltabletextTax2, "Total Paid", "Balance").Trim(); Second_Installment_Balance = WebDriverTest.After(fulltabletextTax2, "Balance"); string fulltabletextTax3 = driver.FindElement(By.XPath("//*[@id='h2tab1']/div[2]/dl")).Text.Trim().Replace("\r\n", ""); FirstandSecondInstallment_Total_Due = gc.Between(fulltabletextTax3, "Total Due", "Total Paid").Trim(); FirstandSecondInstallment_Total_Paid = gc.Between(fulltabletextTax3, "Total Paid", "Total Balance").Trim(); FirstandSecondInstallment_Total_Balance = WebDriverTest.After(fulltabletextTax3, "Total Balance"); gc.CreatePdf(orderNumber, Parcel_id, "Taxes" + pdf, driver, "CA", "Yolo"); driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/ul/li[2]/a")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_id, "Assess info" + pdf, driver, "CA", "Yolo"); string fulltabletextTax4 = driver.FindElement(By.XPath("//*[@id='h2tab2']/dl")).Text.Trim().Replace("\r\n", ""); string assessment = gc.Between(fulltabletextTax4, "Assessment", "Taxyear").Trim(); Tax_year = gc.Between(fulltabletextTax4, "Taxyear", "Parcel Number").Trim(); Roll_Category = gc.Between(fulltabletextTax4, "Roll Category", "Doc Num").Trim(); Address = WebDriverTest.After(fulltabletextTax4, "Address"); string tax = assessment + "~" + Roll_Category + "~" + Address + "~" + Tax_year + "~" + First_Installment_Paid_Status + "~" + First_Installment_Paid_Date + "~" + First_Installment_Total_Due + "~" + First_Installment_Total_Paid + "~" + First_Installment_Balance + "~" + Second_Installment_Paid_Status + "~" + Second_Installment_Paid_Date + "~" + Second_Installment_Total_Due + "~" + Second_Installment_Total_Paid + "~" + Second_Installment_Balance + "~" + FirstandSecondInstallment_Total_Due + "~" + FirstandSecondInstallment_Total_Paid + "~" + FirstandSecondInstallment_Total_Balance; gc.insert_date(orderNumber, Parcel_id, 515, tax, 1, DateTime.Now); // Assessment~Roll Category~Address~Tax year~First Installment Paid Status~First Installment Paid Date~First Installment Total Due~First Installment Total Paid~First Installment Balance~Second Installment Paid Status~Second Installment Paid Date~Second Installment Total Due~Second Installment Total Paid~Second Installment Balance~First and Second Installment Total Due~First and Second Installment Total Paid~First and Second Installment Total Balance //download taxbill try { IWebElement Itaxbill = driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/div/div[1]/div[4]/div/a")); string URL1 = Itaxbill.GetAttribute("href"); gc.downloadfile(URL1, orderNumber, Parcel_id, "TaxBill" + pdf, "CA", "Yolo"); gc.CreatePdf(orderNumber, Parcel_id, "TaxBill Tax code" + pdf, driver, "CA", "Yolo"); } catch { } //Taxcode Info driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/ul/li[3]/a")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_id, "Tax code" + pdf, driver, "CA", "Yolo"); driver.SwitchTo().Window(driver.WindowHandles.Last()); int count = driver.FindElements(By.XPath("//*[@id='h2tab3']/div")).Count; int divCount2 = count + 1; string[] TaxCode = new string[divCount2]; string[] description = new string[divCount2]; string[] rate = new string[divCount2]; string[] Istinstall = new string[divCount2]; string[] IIndinstall = new string[divCount2]; string[] total = new string[divCount2]; string[] phone = new string[divCount2]; for (int i = 1; i <= count; i++) { string Description1 = driver.FindElement(By.XPath(" //*[@id='h2tab3']/div[" + i + "]/div/div/dl")).Text.Trim().Replace("\r\n", ""); TaxCode[i] = gc.Between(Description1, "Tax Code", "Description").Trim(); description[i] = gc.Between(Description1, "Description", "Rate").Trim(); rate[i] = gc.Between(Description1, "Rate", "1st Installment").Trim(); Istinstall[i] = gc.Between(Description1, "1st Installment", "2nd Installment").Trim(); IIndinstall[i] = gc.Between(Description1, "2nd Installment", "Total").Trim(); total[i] = gc.Between(Description1, "Total", "Phone").Trim(); phone[i] = WebDriverTest.After(Description1, "Phone"); string taxcode = Tax_year + "~" + TaxCode[i] + "~" + description[i] + "~" + rate[i] + "~" + Istinstall[i] + "~" + IIndinstall[i] + "~" + total[i] + "~" + phone[i]; gc.insert_date(orderNumber, Parcel_id, 516, taxcode, 1, DateTime.Now); } //Tax Year~Tax Code~Description~Rate~1st Installment~2nd Installment~Total~Phone //Default Tax try { driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/ul/li[4]/a")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_id, "Default Tax" + pdf, driver, "CA", "Yolo"); Default_Number = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[1]/div[2]")).Text; Pay_Plan_in_Effect = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[2]/div[2]")).Text; Annual_Payment = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[3]/div[2]")).Text; Balance = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[4]/div[2]")).Text; string default_tax = Tax_year + "~" + Default_Number + "~" + Pay_Plan_in_Effect + "~" + Annual_Payment + "~" + Balance; gc.insert_date(orderNumber, Parcel_id, 517, default_tax, 1, DateTime.Now); } //Tax Year~Default Number~Pay Plan in Effect~Annual Payment~Balance catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Yolo", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CA", "Yolo"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_WVBerkeley(string houseno, string housedir, string sname, string sttype, string unitno, string parcelNumber, string searchType, string orderno, string ownername, string directParcel) { GlobalClass.global_orderNo = orderno; HttpContext.Current.Session["orderNo"] = orderno; GlobalClass.global_parcelNo = parcelNumber; string District = "", Map = "", Pacel = "", SubParcel = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { //driver = new ChromeDriver(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string titleaddress = houseno + " " + sname; gc.TitleFlexSearch(orderno, "", "", titleaddress, "WV", "Berkeley"); 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_WVBerkeley"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://taxinq.berkeleywv.org/index.html"); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", "").Replace(" ", "").Replace(".", ""); } string CommonParcel = parcelNumber; if (CommonParcel.Length == 11) { District = parcelNumber.Substring(0, 2); Map = parcelNumber.Substring(2, 1); Pacel = parcelNumber.Substring(3, 4); SubParcel = parcelNumber.Substring(7, 4); } if (CommonParcel.Length == 12) { District = parcelNumber.Substring(0, 2); Map = parcelNumber.Substring(2, 2); Pacel = parcelNumber.Substring(4, 4); SubParcel = parcelNumber.Substring(8, 4); } if (CommonParcel.Length == 13) { District = parcelNumber.Substring(0, 2); Map = parcelNumber.Substring(2, 3); Pacel = parcelNumber.Substring(5, 4); SubParcel = parcelNumber.Substring(9, 4); } if (CommonParcel.Length == 14) { District = parcelNumber.Substring(0, 2); Map = parcelNumber.Substring(2, 4); Pacel = parcelNumber.Substring(6, 4); SubParcel = parcelNumber.Substring(10, 4); } if (CommonParcel.Length == 17) { District = parcelNumber.Substring(0, 2); Map = parcelNumber.Substring(2, 3); Pacel = parcelNumber.Substring(5, 4); SubParcel = parcelNumber.Substring(9, 4); try { string SubParcel1 = parcelNumber.Substring(13, 4); } catch { } } var SelectDistrict = driver.FindElement(By.Name("DIST")); var SelectDistrict1 = new SelectElement(SelectDistrict); SelectDistrict1.SelectByValue(District); var SelectMap = driver.FindElement(By.Name("MAP")); var SelectMap1 = new SelectElement(SelectMap); SelectMap1.SelectByText(Map); var SelectParcel = driver.FindElement(By.Name("PARC")); var SelectParcel1 = new SelectElement(SelectParcel); SelectParcel1.SelectByText(Pacel); var SelectSubParcel = driver.FindElement(By.Name("SPAR")); var SelectSubParcel1 = new SelectElement(SelectSubParcel); SelectSubParcel1.SelectByText(SubParcel); gc.CreatePdf(orderno, parcelNumber, "Parcel search", driver, "WV", "Berkeley"); driver.FindElement(By.XPath("/html/body/center/table[2]/tbody/tr[4]/td[2]/form/input[4]")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderno, parcelNumber, "Multi Parcel search", driver, "WV", "Berkeley"); //Parcel Search List <string> ParcelSearch = new List <string>(); try { IWebElement ParcelTB = driver.FindElement(By.XPath("//*[@id='inside']/div/div[1]/table[1]/tbody")); IList <IWebElement> ParcelTR = ParcelTB.FindElements(By.TagName("tr")); IList <IWebElement> ParcelTD; gc.CreatePdf_WOP(orderno, "Parcel MultiParcel search", driver, "WV", "Berkeley"); int i = 0; foreach (IWebElement Parcel in ParcelTR) { if (i > 2) { ParcelTD = Parcel.FindElements(By.TagName("td")); if (ParcelTD.Count != 0 && !Parcel.Text.Contains("PP")) { IWebElement ParcelBill_link = ParcelTD[0].FindElement(By.TagName("a")); string Parcelurl = ParcelBill_link.GetAttribute("href"); ParcelSearch.Add(Parcelurl); } } i++; } foreach (string Parcelbill in ParcelSearch) { driver.Navigate().GoToUrl(Parcelbill); Thread.Sleep(3000); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(3000); //Tax Information try { Tax_Authority = driver.FindElement(By.XPath("/html/body/div[1]/center/div[1]/table/tbody/tr[4]/td/table/tbody/tr/td/font")).Text.Replace("\r\n", ""); Tax_Year = driver.FindElement(By.XPath("//*[@id='body']/div[1]/div")).Text; Ticket_Numbet = driver.FindElement(By.XPath("//*[@id='body']/table[1]/tbody/tr[1]/td[2]")).Text; try { Tax_Class = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[3]/td/table/tbody/tr/td[2]")).Text; Spl_Desp = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[3]/td/table/tbody/tr/td[12]")).Text; if (Spl_Desp == "Delinquent") { Home_Exp = "Yes"; Back_Tax = "Yes"; Exoneration = "Yes"; Propr_del = "Yes"; } else { Home_Exp = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[3]/td/table/tbody/tr/td[4]")).Text; Back_Tax = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[3]/td/table/tbody/tr/td[6]")).Text; Exoneration = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[3]/td/table/tbody/tr/td[8]")).Text; Propr_del = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[3]/td/table/tbody/tr/td[10]")).Text; } } catch { } First_Half = driver.FindElement(By.XPath("//*[@id='body']/div[2]/table/tbody/tr/td[3]")).Text.Replace("\r\n", ""); Second_Half = driver.FindElement(By.XPath("//*[@id='body']/div[2]/table/tbody/tr/td[5]")).Text.Replace("\r\n", ""); Total_Due = driver.FindElement(By.XPath("//*[@id='body']/div[2]/table/tbody/tr/td[7]")).Text.Replace("\r\n", ""); Tax_Details = Tax_Year + "~" + Ticket_Numbet + "~" + Tax_Class + "~" + Home_Exp + "~" + Back_Tax + "~" + Exoneration + "~" + Propr_del + "~" + Spl_Desp + "~" + First_Half + "~" + Second_Half + "~" + Total_Due + "~" + Tax_Authority; gc.insert_date(orderno, parcelNumber, 571, Tax_Details, 1, DateTime.Now); } catch { } //Payment Details try { IWebElement PaymentTB = driver.FindElement(By.XPath("//*[@id='body']/table[3]/tbody/tr/td[3]/table/tbody")); IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> PaymentTD; foreach (IWebElement Payment in PaymentTR) { PaymentTD = Payment.FindElements(By.TagName("td")); if (PaymentTD.Count != 0 && !Payment.Text.Contains("First Half")) { Installment = PaymentTD[0].Text; FirstHlf = PaymentTD[1].Text; Scndhlf = PaymentTD[2].Text; Payment_details = Installment + "~" + FirstHlf + "~" + Scndhlf; gc.insert_date(orderno, parcelNumber, 572, Payment_details, 1, DateTime.Now); } } } catch { } } } catch { } } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://taxinq.berkeleywv.org/index.html"); Thread.Sleep(2000); driver.FindElement(By.Name("TPNAME")).SendKeys(ownername); driver.FindElement(By.XPath("/html/body/center/table[2]/tbody/tr[1]/td[2]/form/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); List <string> OwnerSearch = new List <string>(); try { IWebElement OwnerTB = driver.FindElement(By.XPath("//*[@id='inside']/div/div[1]/table[1]/tbody")); IList <IWebElement> OwnerTR = OwnerTB.FindElements(By.TagName("tr")); IList <IWebElement> OwnerTD; gc.CreatePdf_WOP(orderno, "Multi Owner search", driver, "WV", "Berkeley"); int maxCheck = 0; foreach (IWebElement Owner in OwnerTR) { OwnerTD = Owner.FindElements(By.TagName("td")); if (OwnerTD.Count != 0 && !Owner.Text.Contains("PP")) { IWebElement Bill_link = OwnerTD[0].FindElement(By.TagName("a")); string url = Bill_link.GetAttribute("href"); OwnerSearch.Add(url); } } foreach (string bill in OwnerSearch) { if (maxCheck <= 25) { driver.Navigate().GoToUrl(bill); Thread.Sleep(3000); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(3000); string Dis = driver.FindElement(By.XPath("//*[@id='body']/table[1]/tbody/tr[2]/td[2]")).Text; Dis = WebDriverTest.Before(Dis, "-").Replace(" ", ""); string mp = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table/tbody/tr[1]/td[2]")).Text; string Pa = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table/tbody/tr[1]/td[4]")).Text; string a = Pa.Substring(0, 4); string b = Pa.Substring(5, 5); string c = Pa.Substring(11, 5); Pa = a + b + c; parcelNumber = Dis + "-" + mp + "-" + Pa; TaxPyrName = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[1]/td[2]")).Text; Address = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[2]")).Text; Type = "RE"; string MultiOwner_details = Type + "~" + TaxPyrName + "~" + Address; gc.insert_date(orderno, parcelNumber, 573, MultiOwner_details, 1, DateTime.Now); } maxCheck++; } if (OwnerTR.Count > 25) { HttpContext.Current.Session["multiParcel_Berkeley_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Berkeley"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } } else if (searchType == "block") { driver.Navigate().GoToUrl("http://taxinq.berkeleywv.org/index.html"); Thread.Sleep(2000); driver.FindElement(By.Name("TPACCT")).SendKeys(unitno); driver.FindElement(By.XPath("/html/body/center/table[2]/tbody/tr[2]/td[2]/form/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); List <string> AccountSearch = new List <string>(); try { IWebElement AccountTB = driver.FindElement(By.XPath("//*[@id='inside']/div/div[1]/table[1]/tbody")); IList <IWebElement> AccountTR = AccountTB.FindElements(By.TagName("tr")); IList <IWebElement> AccountTD; gc.CreatePdf_WOP(orderno, "Account Owner search", driver, "WV", "Berkeley"); int maxCheck = 0; foreach (IWebElement Account in AccountTR) { AccountTD = Account.FindElements(By.TagName("td")); if (AccountTD.Count != 0 && !Account.Text.Contains("PP")) { IWebElement AccountBill_link = AccountTD[0].FindElement(By.TagName("a")); string Accounturl = AccountBill_link.GetAttribute("href"); AccountSearch.Add(Accounturl); } } foreach (string Accountbill in AccountSearch) { if (maxCheck <= 25) { driver.Navigate().GoToUrl(Accountbill); Thread.Sleep(3000); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(3000); string Dis1 = driver.FindElement(By.XPath("//*[@id='body']/table[1]/tbody/tr[2]/td[2]")).Text; Dis1 = WebDriverTest.Before(Dis1, "-").Replace(" ", ""); string mp1 = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table/tbody/tr[1]/td[2]")).Text; string Pa1 = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table/tbody/tr[1]/td[4]")).Text; string a1 = Pa1.Substring(0, 4); string b1 = Pa1.Substring(5, 5); string c1 = Pa1.Substring(11, 5); Pa1 = a1 + b1 + c1; parcelNumber = Dis1 + "-" + mp1 + "-" + Pa1; TaxPyrName = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[1]/td[2]")).Text; Address = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[2]")).Text; Type = "RE"; string MultiAccount_details = Type + "~" + TaxPyrName + "~" + Address; gc.insert_date(orderno, parcelNumber, 573, MultiAccount_details, 1, DateTime.Now); } maxCheck++; } if (AccountTR.Count > 25) { HttpContext.Current.Session["multiParcel_Berkeley_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } else if (AccountTR.Count <= 25 && AccountTR.Count > 1) { HttpContext.Current.Session["multiparcel_Berkeley"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(3000); try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='inside']/div/div[1]/table[1]")); IList <IWebElement> INodataRow = INodata.FindElements(By.TagName("td")); foreach (IWebElement data in INodataRow) { if (data.Text.Contains("No matches found.")) { HttpContext.Current.Session["Nodata_WVBerkeley"] = "Zero"; driver.Quit(); return("No Data Found"); } } if (INodataRow.Count <= 1) { HttpContext.Current.Session["Nodata_WVBerkeley"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details try { Account_Number = driver.FindElement(By.XPath("//*[@id='body']/table[1]/tbody/tr[1]/td[4]")).Text; Pro_District = driver.FindElement(By.XPath("//*[@id='body']/table[1]/tbody/tr[2]/td[2]")).Text; Owner_Name = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[1]/td[2]")).Text; Pro_Address = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[2]")).Text; Legel_Desp1 = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[2]/table/tbody/tr[1]/td[2]")).Text; Legel_Desp2 = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[1]/td[2]/table/tbody/tr[2]/td")).Text; Legel_Desp = Legel_Desp1 + Legel_Desp2; Pro_Map = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table/tbody/tr[1]/td[2]")).Text; Property_Details = Account_Number + "~" + Pro_District + "~" + Pro_Map + "~" + Owner_Name + "~" + Pro_Address + "~" + Legel_Desp; gc.CreatePdf(orderno, parcelNumber, "Property Details", driver, "WV", "Berkeley"); gc.insert_date(orderno, parcelNumber, 569, Property_Details, 1, DateTime.Now); } catch { } //Assessment Details try { IWebElement PropertyTB = driver.FindElement(By.XPath("//*[@id='body']/table[3]/tbody/tr/td[1]/table/tbody")); IList <IWebElement> PropertyTR = PropertyTB.FindElements(By.TagName("tr")); IList <IWebElement> PropertyTD; foreach (IWebElement Property in PropertyTR) { PropertyTD = Property.FindElements(By.TagName("td")); if (PropertyTD.Count != 0 && !Property.Text.Contains("Assessment")) { Assessment = PropertyTD[0].Text; Gross = PropertyTD[1].Text; Net = PropertyTD[2].Text; Assessment_details = Assessment + "~" + Gross + "~" + Net; gc.insert_date(orderno, parcelNumber, 570, Assessment_details, 1, DateTime.Now); } } } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderno, "WV", "Berkeley", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderno, "WV", "Berkeley"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderno); throw; } } }
public void taxdetails_previousyear(string orderno, string parcelno) { //*[@id="Table5"] IWebElement taxbilltable = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_tblBills']")); IList <IWebElement> taxbilltableRow = taxbilltable.FindElements(By.TagName("tr")); int rowcount = taxbilltableRow.Count; IList <IWebElement> taxbillrowTD; List <string> listurl = new List <string>(); foreach (IWebElement rownew in taxbilltableRow) { taxbillrowTD = rownew.FindElements(By.TagName("a")); if (taxbillrowTD.Count != 0 && !rownew.Text.Contains("Installment")) { string url = taxbillrowTD[0].GetAttribute("href"); if (!url.Contains("pdf")) { listurl.Add(url); } } } foreach (string URL in listurl) { driver.Navigate().GoToUrl(URL); Thread.Sleep(2000); string bill_number = "", fiscal_year = "", tax_rate_area1 = "", total_amount_due = "", bill_type = "", prop_address1 = ""; string inst = "", delinq_date = "", amount = "", statuss = "", paid_amount = "", paid_date = "", penalty1 = "", penalty = ""; string inst1 = "", delinq_date1 = "", amount1 = "", status1 = "", paid_amount1 = "", paid_date1 = "", comment = ""; try { bill_number = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblBillNumber")).Text.Trim(); fiscal_year = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblTaxYear")).Text.Trim(); fiscal_year = WebDriverTest.After(fiscal_year, "For the fiscal year").Trim(); tax_rate_area1 = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblTaxRateArea")).Text.Trim(); total_amount_due = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblTotalAmountDue")).Text.Trim(); bill_type = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblBillType")).Text.Trim(); prop_address1 = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblAddress")).Text.Trim(); if (prop_address1.Contains("\r\n")) { prop_address1 = prop_address1.Replace("\r\n", ","); } gc.CreatePdf(orderno, parcelno, "TaxSummary_" + fiscal_year + "_" + bill_number, driver, "CA", "Kern"); IWebElement insttable = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_tblInstallments']")); IList <IWebElement> insttableRow = insttable.FindElements(By.TagName("tr")); int instrowcount = insttableRow.Count; IList <IWebElement> instrowTD; int i = 1; foreach (IWebElement rownew1 in insttableRow) { instrowTD = rownew1.FindElements(By.TagName("td")); if (instrowTD.Count != 0) { try { if (instrowTD[0].Text.Contains("Please note")) { } if (instrowTD[1].Text.Contains("Bill was cancelled")) { comment = instrowTD[1].Text.Trim(); if (comment.Contains("\r\n")) { comment = comment.Replace("\r\n", ""); } } if (instrowTD[1].Text.Contains("Bill has been redeemed")) { comment = instrowTD[1].Text.Trim(); if (comment.Contains("\r\n")) { comment = comment.Replace("\r\n", ""); } } if (instrowTD[1].Text.Contains("This property has had multiple owners during the year")) { comment = instrowTD[1].Text.Trim(); if (comment.Contains("\r\n")) { comment = comment.Replace("\r\n", ""); } } if (instrowTD[1].Text.Contains("First")) { string bulk_status = instrowTD[4].Text.Trim(); statuss = WebDriverTest.Before(bulk_status, "$").Trim(); if (statuss.Contains("Paid")) { inst = instrowTD[1].Text.Trim(); delinq_date = instrowTD[2].Text.Trim(); amount = instrowTD[3].Text.Trim(); paid_amount = gc.Between(bulk_status, "Paid", "on").Trim(); paid_date = WebDriverTest.After(bulk_status, "on").Trim(); } inst = instrowTD[1].Text.Trim(); delinq_date = instrowTD[2].Text.Trim(); amount = instrowTD[3].Text.Trim(); } if (instrowTD[1].Text.Contains("Second")) { string bulk_status1 = instrowTD[4].Text.Trim(); status1 = WebDriverTest.Before(bulk_status1, "$").Trim(); if (status1.Contains("Paid")) { inst1 = instrowTD[1].Text.Trim(); delinq_date1 = instrowTD[2].Text.Trim(); amount1 = instrowTD[3].Text.Trim(); paid_amount1 = gc.Between(bulk_status1, "Paid", "on").Trim(); paid_date1 = WebDriverTest.After(bulk_status1, "on").Trim(); } inst1 = instrowTD[1].Text.Trim(); delinq_date1 = instrowTD[2].Text.Trim(); amount1 = instrowTD[3].Text.Trim(); } if (instrowTD[1].Text.Contains("Second") && instrowTD[4].Text.Contains("Unpaid")) { inst1 = instrowTD[1].Text.Trim(); delinq_date1 = instrowTD[2].Text.Trim(); amount1 = instrowTD[3].Text.Trim(); string bulk_stat = instrowTD[4].Text.Trim(); status1 = WebDriverTest.Before(bulk_stat, "$").Trim(); } if (instrowTD[0].Text.Contains("Penalty if Delinquent")) { delinq_date1 = delinq_date1 + "(Penalty if Delinquent)"; penalty1 = instrowTD[1].Text.Trim(); } if (instrowTD[1].Text.Contains("Includes Late Penalty")) { delinq_date1 = delinq_date1 + "(Includes Late Penalty)"; penalty1 = instrowTD[1].Text.Trim(); } try { if (instrowTD[2].Text.Contains("Single")) { inst = instrowTD[1].Text.Trim(); delinq_date = instrowTD[2].Text.Trim(); amount = instrowTD[3].Text.Trim(); } } catch { } i++; } catch { } } } //Property Address~TRA~Bill Number~Tax Year~total_amount_due~Bill Type~Installment1~Due Dat1e~Amount Due1~Penalty1~Paid Amount1~Paid Date1~Total Due1~Installment2~Due Dat2e~Amount Due2~Penalty2~Paid Amount2~Paid Date2~Total Due2~Comments string inst_details = prop_address1 + "~" + tax_rate_area1 + "~" + bill_number + "~" + fiscal_year + "~" + total_amount_due + "~" + bill_type + "~" + inst + "~" + delinq_date + "~" + amount + "~" + penalty + "~" + statuss + "~" + paid_amount + "~" + paid_date + "~" + inst1 + "~" + delinq_date1 + "~" + amount1 + "~" + penalty1 + "~" + status1 + "~" + paid_amount1 + "~" + paid_date1 + "~" + comment; gc.insert_date(orderno, parcelno, 79, inst_details, 1, DateTime.Now); } catch { } } }
public void taxdetails(string orderno, string parcelno) { //*[@id="Table5"] IWebElement taxbilltable = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_tblBills']")); IList <IWebElement> taxbilltableRow = taxbilltable.FindElements(By.TagName("tr")); int rowcount = taxbilltableRow.Count; IList <IWebElement> taxbillrowTD; List <string> listurl = new List <string>(); foreach (IWebElement rownew in taxbilltableRow) { taxbillrowTD = rownew.FindElements(By.TagName("a")); if (taxbillrowTD.Count != 0 && !rownew.Text.Contains("Installment")) { string url = taxbillrowTD[0].GetAttribute("href"); listurl.Add(url); } } int a = 0; foreach (string URL in listurl) { driver.Navigate().GoToUrl(URL); Thread.Sleep(2000); string bill_number = "", fiscal_year = "", tax_rate_area1 = "", total_amount_due = "", bill_type = "", prop_address1 = ""; string inst = "", delinq_date = "", amount = "", statuss = "", paid_amount = "", paid_date = "", penalty = "", penalty1 = ""; string inst1 = "", delinq_date1 = "", amount1 = "", status1 = "", paid_amount1 = "", paid_date1 = "", comment = ""; try { bill_number = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblBillNumber")).Text.Trim(); fiscal_year = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblTaxYear")).Text.Trim(); fiscal_year = WebDriverTest.After(fiscal_year, "For the fiscal year").Trim(); tax_rate_area1 = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblTaxRateArea")).Text.Trim(); total_amount_due = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblTotalAmountDue")).Text.Trim(); bill_type = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblBillType")).Text.Trim(); prop_address1 = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblAddress")).Text.Trim(); if (prop_address1.Contains("\r\n")) { prop_address1 = prop_address1.Replace("\r\n", ","); } string land = "", imp = "", minerals = "", perprop = "", otherimp = "", exem = "", netassvalue = ""; if (a == 0) { land = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblLand")).Text.Trim(); imp = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblImprovements")).Text.Trim(); minerals = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblMinerals")).Text.Trim(); perprop = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblPersonalProperty")).Text.Trim(); otherimp = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblOtherImprovements")).Text.Trim(); exem = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblExemptions")).Text.Trim(); netassvalue = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_lblNetAssessedValue")).Text.Trim(); string ass = fiscal_year + "~" + land + "~" + imp + "~" + minerals + "~" + perprop + "~" + otherimp + "~" + exem + "~" + netassvalue; gc.insert_date(orderno, parcelno, 77, ass, 1, DateTime.Now); string prop = prop_address1 + "~" + tax_rate_area1; gc.insert_date(orderno, parcelno, 75, prop, 1, DateTime.Now); } gc.CreatePdf(orderno, parcelno, "TaxSummary_" + fiscal_year + "_" + bill_number, driver, "CA", "Kern"); IWebElement insttable = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_tblInstallments']")); IList <IWebElement> insttableRow = insttable.FindElements(By.TagName("tr")); int instrowcount = insttableRow.Count; IList <IWebElement> instrowTD; int i = 1; foreach (IWebElement rownew1 in insttableRow) { instrowTD = rownew1.FindElements(By.TagName("td")); if (instrowTD.Count != 0) { try { if (instrowTD[1].Text.Contains("Bill was cancelled")) { comment = instrowTD[1].Text.Trim(); if (comment.Contains("\r\n")) { comment = comment.Replace("\r\n", ""); } } if (instrowTD[1].Text.Contains("Bill has been redeemed")) { comment = instrowTD[1].Text.Trim(); if (comment.Contains("\r\n")) { comment = comment.Replace("\r\n", ""); } } if (instrowTD[1].Text.Contains("Please note")) { } //This property has had multiple owners during the year if (instrowTD[1].Text.Contains("This property has had multiple owners during the year")) { comment = instrowTD[1].Text.Trim(); if (comment.Contains("\r\n")) { comment = comment.Replace("\r\n", ""); } } if (instrowTD[1].Text.Contains("First")) { string bulk_status = instrowTD[4].Text.Trim(); statuss = WebDriverTest.Before(bulk_status, "$").Trim(); if (statuss.Contains("Paid")) { inst = instrowTD[1].Text.Trim(); delinq_date = instrowTD[2].Text.Trim(); amount = instrowTD[3].Text.Trim(); paid_amount = gc.Between(bulk_status, "Paid", "on").Trim(); paid_date = WebDriverTest.After(bulk_status, "on").Trim(); } inst = instrowTD[1].Text.Trim(); delinq_date = instrowTD[2].Text.Trim(); amount = instrowTD[3].Text.Trim(); } if (instrowTD[1].Text.Contains("Second")) { string bulk_status1 = instrowTD[4].Text.Trim(); status1 = WebDriverTest.Before(bulk_status1, "$").Trim(); if (status1.Contains("Paid")) { inst1 = instrowTD[1].Text.Trim(); delinq_date1 = instrowTD[2].Text.Trim(); amount1 = instrowTD[3].Text.Trim(); paid_amount1 = gc.Between(bulk_status1, "Paid", "on").Trim(); paid_date1 = WebDriverTest.After(bulk_status1, "on").Trim(); } inst1 = instrowTD[1].Text.Trim(); delinq_date1 = instrowTD[2].Text.Trim(); amount1 = instrowTD[3].Text.Trim(); } if (instrowTD[1].Text.Contains("Second") && instrowTD[4].Text.Contains("Unpaid")) { inst1 = instrowTD[1].Text.Trim(); delinq_date1 = instrowTD[2].Text.Trim(); amount1 = instrowTD[3].Text.Trim(); string bulk_stat = instrowTD[4].Text.Trim(); status1 = WebDriverTest.Before(bulk_stat, "$").Trim(); } if (instrowTD[0].Text.Contains("Penalty if Delinquent")) { delinq_date1 = delinq_date1 + "(Penalty if Delinquent)"; penalty1 = instrowTD[1].Text.Trim(); } if (instrowTD[1].Text.Contains("Includes Late Penalty")) { delinq_date1 = delinq_date1 + "(Includes Late Penalty)"; penalty1 = instrowTD[1].Text.Trim(); } try { if (instrowTD[2].Text.Contains("Single")) { inst = instrowTD[1].Text.Trim(); delinq_date = instrowTD[2].Text.Trim(); amount = instrowTD[3].Text.Trim(); } } catch { } i++; } catch { } } } //Property Address~TRA~Bill Number~Tax Year~total_amount_due~Bill Type~Installment1~Due Dat1e~Amount Due1~Penalty1~Paid Amount1~Paid Date1~Total Due1~Installment2~Due Dat2e~Amount Due2~Penalty2~Paid Amount2~Paid Date2~Total Due2~Comments string inst_details = prop_address1 + "~" + tax_rate_area1 + "~" + bill_number + "~" + fiscal_year + "~" + total_amount_due + "~" + bill_type + "~" + inst + "~" + delinq_date + "~" + amount + "~" + penalty + "~" + statuss + "~" + paid_amount + "~" + paid_date + "~" + inst1 + "~" + delinq_date1 + "~" + amount1 + "~" + penalty1 + "~" + status1 + "~" + paid_amount1 + "~" + paid_date1 + "~" + comment; gc.insert_date(orderno, parcelno, 79, inst_details, 1, DateTime.Now); } catch { } //bill details a++; driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_btnDetails")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderno, parcelno, "TaxBreakdowns_" + fiscal_year + "_" + bill_number, driver, "CA", "Kern"); IWebElement breaktable = driver.FindElement(By.XPath("//*[@id='Table5']/tbody/tr[2]/td/table")); IList <IWebElement> breaktableRow = breaktable.FindElements(By.TagName("tr")); int breakrowcount = breaktableRow.Count; IList <IWebElement> breakrowTD; int j = 0; try { foreach (IWebElement rowneww in breaktableRow) { breakrowTD = rowneww.FindElements(By.TagName("td")); if (breakrowTD.Count != 0 && !rowneww.Text.Contains("Taxing Agency")) { //Taxing Agency~Telephone~Rate~Amount if (j < breakrowcount - 3) { string breakdet = breakrowTD[0].Text.Trim() + "~" + breakrowTD[1].Text.Trim() + "~" + breakrowTD[2].Text.Trim() + "~" + breakrowTD[3].Text.Trim(); gc.insert_date(orderno, parcelno, 80, breakdet, 1, DateTime.Now); } else if (j == breakrowcount - 3) { string breakdet = breakrowTD[0].Text.Trim() + "~" + "-" + "~" + breakrowTD[1].Text.Trim() + "~" + "-"; gc.insert_date(orderno, parcelno, 80, breakdet, 1, DateTime.Now); } else if (j == breakrowcount - 2) { string breakdet = breakrowTD[0].Text.Trim() + "~" + "-" + "~" + "-" + "~" + breakrowTD[1].Text.Trim(); gc.insert_date(orderno, parcelno, 80, breakdet, 1, DateTime.Now); } else if (j == breakrowcount - 1) { string breakdet = breakrowTD[0].Text.Trim() + "~" + "-" + "~" + "-" + "~" + breakrowTD[1].Text.Trim(); gc.insert_date(orderno, parcelno, 80, breakdet, 1, DateTime.Now); } } j++; } } catch (Exception ex) { } } }
public string FTP_ARPinal(string houseno, string housedir, string sname, string sttype, string unitno, 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 = ""; //IWebElement iframeElement1; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { // driver = new ChromeDriver(); string Owner_name = "-", parcel_no = "-", property_Address = "-", Legal_Description = "-", UseCode = "-", TaxAreaCode = "-", TaxYear = "-", Mailing_address = "-", prop_use = "-", year_built = "-"; string FullCashValue = "-", RealPropertyRatio = "-", LimitedValue = "-", AssessedFCV = "-", AssessedLPV = "-"; string tax_amountIst = "-", tax_amountIInd = "-", tax_amountTotal = "-", interest_feesIst = "-", interest_feesIInd = "-", interest_feesTotal = "-"; string paid_amountIst = "-", paid_amountIInd = "-", paid_amountTotal = "-", total_dueIst = "-", total_dueIInd = "-", total_duetTotal = "-"; string status = "-", applied_interest = "-", year = "-", multi = "-", total = "-", amount = "-"; try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://www.pinalcountyaz.gov/Assessor/Pages/ParcelSearch.aspx"); if (searchType == "address") { driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Number")).SendKeys(houseno); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_ddl_Direction")).SendKeys(housedir); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Name")).SendKeys(sname); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_ddl_Suffix")).SendKeys(sttype); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "AZ", "Pinal"); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_btn_GoPA")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "AZ", "Pinal"); string mul = ""; // string mul = driver.FindElement(By.XPath("//*[@id='ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl03_lbl_SearchResults']")).Text; //*[@id="tblTitle"]/tbody/tr/td[2] try { mul = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl03_lbl_SearchResults")).Text; mul = WebDriverTest.Before(mul, " Entries"); mul = WebDriverTest.After(mul, "(").Trim(); } catch { } if ((mul != "1") && (mul != "0") && (mul != "")) { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("/html/body/form/placeholder/table/tbody/tr[3]/td/table[2]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr/td/div/div[2]/div[1]/div/div[2]/div/div/div[2]/div/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int maxCheck = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (maxCheck <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 149, multi1, 1, DateTime.Now); } maxCheck++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Pinal_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Pinal"] = "Yes"; } driver.Quit(); return("MultiParcel"); } // CreatePdf_WOP(orderNumber, "Multiparcel Address Search"); } if (searchType == "titleflex") { string titleaddress = houseno + " " + housedir + " " + sname + " " + sttype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "AZ", "Pinal"); 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_AZPinal"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { Thread.Sleep(3000); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } if (GlobalClass.titleparcel.Contains(".") || GlobalClass.titleparcel.Contains("-")) { parcelNumber = GlobalClass.titleparcel.Replace(".", "").Replace("-", ""); } if (parcelNumber.Replace(" ", "").Replace("-", "").Count() == 9) { string strparcelNumber = parcelNumber.Replace(" ", "").Replace("-", ""); string strParcelBook = strparcelNumber.Substring(0, 3); string strParcelMap = strparcelNumber.Substring(3, 2); string strParcelNo = strparcelNumber.Substring(5, 4); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Book")).SendKeys(strParcelBook); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Map")).SendKeys(strParcelMap); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Parcel")).SendKeys(strParcelNo); } else if (parcelNumber.Replace(" ", "").Replace("-", "").Count() == 8) { string strparcelNumber = parcelNumber.Replace(" ", "").Replace("-", ""); string strParcelBook = strparcelNumber.Substring(0, 3); string strParcelMap = strparcelNumber.Substring(3, 2); string strParcelNo = strparcelNumber.Substring(5, 3); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Book")).SendKeys(strParcelBook); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Map")).SendKeys(strParcelMap); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Parcel")).SendKeys(strParcelNo); } gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "AZ", "Pinal"); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_btn_GoParcel")).SendKeys(Keys.Enter); Thread.Sleep(3000); } if (searchType == "ownername") { Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_txt_Owner")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner Name search", driver, "AZ", "Pinal"); driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_btn_GoOwner")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner Name search result", driver, "AZ", "Pinal"); string mul = ""; try { mul = driver.FindElement(By.XPath("//*[@id='ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl03_lbl_SearchResults']")).Text; mul = WebDriverTest.Before(mul, " Entries"); mul = WebDriverTest.After(mul, "(").Trim(); } catch { } if ((mul != "1") && (mul != "0") && (mul != "")) { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("/html/body/form/placeholder/table/tbody/tr[3]/td/table[2]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr/td/div/div[2]/div[1]/div/div[2]/div/div/div[2]")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); // int iRowsCount = driver.FindElements(By.XPath("//*[@id='ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl04_gv_Results']/tbody/tr")).Count; IList <IWebElement> TDmulti; int maxCheck = 0; foreach (IWebElement row in TRmulti) { if (maxCheck <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count == 4 && TDmulti[0].Text.Trim() != "") { string multi1 = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 149, multi1, 1, DateTime.Now); } maxCheck++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Pinal_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Pinal"] = "Yes"; } driver.Quit(); return("MultiParcel"); } gc.CreatePdf_WOP(orderNumber, "Owner Name search result", driver, "AZ", "Pinal"); } try { IWebElement Inodata = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl02_lbl_NoResults")); if (Inodata.Text.Contains("Your search returned 0 results, please try again.")) { HttpContext.Current.Session["Nodata_AZPinal"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } //property_details Thread.Sleep(5000); // gc.CreatePdf_WOP(orderNumber, "Parcel search result", driver, "AZ", "Pinal"); // Thread.Sleep(3000); parcel_no = driver.FindElement(By.XPath("//*[@id='ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_ParcelNumber']")).Text.Trim(); gc.CreatePdf(orderNumber, parcel_no, "Parcel search result", driver, "AZ", "Pinal"); Owner_name = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_Owner1")).Text.Trim(); property_Address = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_PropertyAddress")).Text.Trim().Replace("\r\n", ""); property_Address = WebDriverTest.Before(property_Address, "Property Address refers to"); string address = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_Address")).Text.Trim(); string city = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_City")).Text.Trim(); string state = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_State")).Text.Trim(); string zipcode = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_ZipCode")).Text.Trim(); Mailing_address = address + " " + city + " " + state + " " + zipcode.Trim(); Legal_Description = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_LegalInformation")).Text.Trim(); year_built = driver.FindElement(By.XPath("//*[@id='ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_acc_Search']/div[4]/div/div[3]/table[4]/tbody/tr/td/table[1]/tbody/tr[2]/td/table/tbody/tr[1]/td[2]/span/span")).Text.Trim(); TaxAreaCode = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_hyp_TaxAreaCode")).Text.Trim(); UseCode = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_hyp_UseCode")).Text.Trim(); string property_details = Owner_name + "~" + property_Address + "~" + Mailing_address + "~" + Legal_Description + "~" + year_built + "~" + TaxAreaCode + "~" + UseCode; gc.insert_date(orderNumber, parcel_no, 140, property_details, 1, DateTime.Now); //Assessment Details //select tax type from drop down var SerachTax = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_ddl_TaxYear")); var selectElement1 = new SelectElement(SerachTax); selectElement1.SelectByIndex(2); try { IAlert alert = driver.SwitchTo().Alert(); alert.Accept(); } catch { } gc.CreatePdf(orderNumber, parcel_no, "Assessment search result1", driver, "AZ", "Pinal"); TaxYear = driver.FindElement(By.XPath("//*[@id='ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_ddl_TaxYear']/option[@selected='selected']")).Text.Trim(); FullCashValue = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_FullCashValue")).Text.Trim(); LimitedValue = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_LimitedValue")).Text.Trim(); RealPropertyRatio = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_RealPropertyRatio")).Text.Trim(); AssessedFCV = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_AssessedFCV")).Text.Trim(); AssessedLPV = driver.FindElement(By.Id("ctl00_m_g_e7e24a7d_b298_4c40_8411_c65d5498a997_ctl00_ctl06_lbl_AssessLPV")).Text.Trim(); string assessment = TaxYear + "~" + FullCashValue + "~" + LimitedValue + "~" + RealPropertyRatio + "~" + AssessedFCV + "~" + AssessedLPV; gc.insert_date(orderNumber, parcel_no, 141, assessment, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details driver.Navigate().GoToUrl("https://treasurer.pinalcountyaz.gov/ParcelInquiry/"); Thread.Sleep(3000); string strparcelNumber1 = parcel_no.Replace(" ", "").Replace("-", ""); driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/div/div[1]/form/div/div/span/span/input")).SendKeys(strparcelNumber1); gc.CreatePdf(orderNumber, parcel_no, "Tax iformation", driver, "AZ", "Pinal"); driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/div/div[1]/form/div/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); //tax history or tax summary gc.CreatePdf(orderNumber, parcel_no, "Tax iformation result", driver, "AZ", "Pinal"); List <string> lstrAZ = new List <string>(); IWebElement multitableElement = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div[1]/table/tbody")); IList <IWebElement> multitableRow = multitableElement.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD; foreach (IWebElement row in multitableRow) { multirowTD = row.FindElements(By.TagName("td")); status = multirowTD[2].Text.Trim(); applied_interest = multirowTD[4].Text.Trim(); year = multirowTD[1].Text.Trim(); multi = multirowTD[1].Text.Trim() + "~" + multirowTD[2].Text.Trim() + "~" + multirowTD[3].Text.Trim() + "~" + multirowTD[4].Text.Trim() + "~" + multirowTD[5].Text.Trim() + "~" + multirowTD[6].Text.Trim(); gc.insert_date(orderNumber, multirowTD[0].Text.Trim(), 145, multi, 1, DateTime.Now); total = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div[1]/table/tfoot/tr/td[6]")).Text.Trim(); amount = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div[1]/table/tfoot/tr/td[7]")).Text.Trim(); IWebElement dt11 = driver.FindElement(By.XPath("//*[@id='interestDate']")); string interest_date = dt11.GetAttribute("value"); string date1 = interest_date.Substring(0, 2); string date2 = interest_date.Substring(3, 2); string date3 = interest_date.Substring(6, 4); if (status.Contains("AZ") || status.Contains("SBPU") || status.Contains("REDC") || status.Contains("PUR")) { if (!applied_interest.Contains("$0.00")) { string strAZURL = "https://treasurer.pinalcountyaz.gov/ParcelInquiry/Parcel/TaxYearDue?parcelNumber=" + parcelNumber + "&taxYear=" + year + "&interestDate=" + date1 + "%2F" + date2 + "%2F" + date3 + "%2000%3A00%3A00"; lstrAZ.Add(strAZURL); } } } //Thread.Sleep(4000); foreach (string URL in lstrAZ) { driver.Navigate().GoToUrl(URL); Thread.Sleep(3000); IWebElement dt1 = driver.FindElement(By.XPath("//*[@id='interestDate']")); string interest_date = dt1.GetAttribute("value"); string year1 = driver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/form/table/tbody/tr/td[2]/span/span/span[1]")).Text; gc.CreatePdf(orderNumber, parcel_no, "Tax certificate" + year1, driver, "AZ", "Pinal"); IWebElement multitableElement2 = driver.FindElement(By.XPath("//*[@id='CertificateGrid']/table/tbody")); IList <IWebElement> multitableRow2 = multitableElement2.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD2; foreach (IWebElement row1 in multitableRow2) { multirowTD2 = row1.FindElements(By.TagName("td")); string tax_certificate = year1 + "~" + multirowTD2[0].Text.Trim() + "~" + interest_date + "~" + multirowTD2[1].Text.Trim() + "~" + multirowTD2[2].Text.Trim() + "~" + multirowTD2[3].Text.Trim(); gc.insert_date(orderNumber, strparcelNumber1, 150, tax_certificate, 1, DateTime.Now); } // display text // string certificate = driver.FindElement(By.XPath("//*[@id='CertificateGrid']/table/tfoot/tr/td[3]/div")).Text.Trim(); // certificate = certificate.Replace("\r\n", ""); // certificate = WebDriverTest.Before(certificate, ":** 2016 Total Due:"); // certificate = WebDriverTest.After(certificate, "* ").Trim(); // string total_due = driver.FindElement(By.XPath("//*[@id='CertificateGrid']/table/tfoot/tr/td[3]/div")).Text.Trim(); // total_due = total_due.Replace("\r\n", ""); // total_due = WebDriverTest.After(total_due, ":** 2016"); //values string certificate_due_amount = driver.FindElement(By.XPath("//*[@id='CertificateGrid']/table/tfoot/tr/td[4]/div")).Text.Trim(); certificate_due_amount = certificate_due_amount.Replace("\r\n", ","); string s = certificate_due_amount; string[] words = s.Split(','); string first = "", second = ""; first = words[0]; second = words[1]; // certificate_due_amount = certificate_due_amount.Replace("\r\n", ""); string certificate_value = first; string certificate_due_amount_value = second; string certificate_amount = year1 + "~" + "Certificate " + "~" + interest_date + "~" + " " + "~" + " " + "~" + certificate_value; gc.insert_date(orderNumber, strparcelNumber1, 150, certificate_amount, 1, DateTime.Now); string total_amount = year1 + "~" + "Total Due: " + "~" + interest_date + "~" + " " + "~" + " " + "~" + certificate_due_amount_value; gc.insert_date(orderNumber, strparcelNumber1, 150, total_amount, 1, DateTime.Now); } string multi_amount = " " + "~" + " " + "~" + " " + "~" + " " + "~" + total + "~" + amount; gc.insert_date(orderNumber, strparcelNumber1, 145, multi_amount, 1, DateTime.Now); //tax year due driver.FindElement(By.XPath(" /html/body/div[1]/section/table/tbody/tr/td[1]/ul/li[1]/ul/li[3]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_no, "Tax year due", driver, "AZ", "Pinal"); string deli = driver.FindElement(By.XPath("//*[@id='Grid']/table/tbody/tr[2]/td[4]/a")).Text; if (deli == "$0.00") { IWebElement dt = driver.FindElement(By.XPath("//*[@id='interestDate']")); 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(); driver.FindElement(By.Id("interestDate")).SendKeys(date); } Thread.Sleep(2000); tax_amountIst = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[1]/td[2]")).Text.Trim(); tax_amountIInd = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[1]/td[3]")).Text.Trim(); tax_amountTotal = driver.FindElement(By.XPath(" /html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[1]/td[4]")).Text.Trim(); interest_feesIst = driver.FindElement(By.XPath(" /html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[2]/td[2]")).Text.Trim(); interest_feesIInd = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[2]/td[3]")).Text.Trim(); interest_feesTotal = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[2]/td[4]")).Text.Trim(); paid_amountIst = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[3]/td[2]")).Text.Trim(); paid_amountIInd = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[3]/td[3]")).Text.Trim(); paid_amountTotal = driver.FindElement(By.XPath(" /html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody/tr[3]/td[4]")).Text.Trim(); total_dueIst = driver.FindElement(By.XPath(" /html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tfoot/tr/td[2]")).Text.Trim(); total_dueIInd = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tfoot/tr/td[3]")).Text.Trim(); total_duetTotal = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tfoot/tr/td[4]")).Text.Trim(); string tax_info = Owner_name + "~" + tax_amountIst + "~" + tax_amountIInd + "~" + tax_amountTotal + "~" + interest_feesIst + "~" + interest_feesIInd + "~" + interest_feesTotal + "~" + paid_amountIst + "~" + paid_amountIInd + "~" + paid_amountTotal + "~" + total_dueIst + "~" + total_dueIInd + "~" + total_duetTotal; gc.insert_date(orderNumber, strparcelNumber1, 144, tax_info, 1, DateTime.Now); // View Bill 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://treasurer.pinalcountyaz.gov/ParcelInquiry/"); chDriver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/div/div[1]/form/div/div/span/span/input")).SendKeys(strparcelNumber1); chDriver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/div/div[1]/form/div/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(1000); chDriver.FindElement(By.XPath("//*[@id='PanelBar']/li[1]/ul/li[3]/a")).Click(); Thread.Sleep(1000); string parcelURL = chDriver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/form/table/tbody/tr/td[5]/a")).GetAttribute("href"); string parNo = "", yr = "", fileName = ""; parNo = GlobalClass.After(parcelURL, "parcelNumber"); parNo = GlobalClass.Before(parNo, "&").Replace("=", "_"); yr = GlobalClass.After(parcelURL, "taxYear").Replace("=", "_"); fileName = "TaxBill" + parNo + yr + ".pdf"; chDriver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/form/table/tbody/tr/td[5]/a")).Click(); Thread.Sleep(3000); gc.AutoDownloadFile(orderNumber, parcelNumber, "Pinal", "AZ", fileName); chDriver.Quit(); } catch (Exception ex) { } // WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); // wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/table/tbody/tr/td[5]/a"))).Click(); //string Url = Itaxbill.GetAttribute("href"); //string outputPath = ConfigurationManager.AppSettings["screenShotPath-Pinal"]; //outputPath = outputPath + orderNumber + "\\TaxBill.pdf"; //WebClient downloadTaxBills = new WebClient(); //downloadTaxBills.DownloadFile(Url, outputPath); //IWebElement Itaxbill = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/table/tbody/tr/td[5]/a")); //string URL1 = Itaxbill.GetAttribute("href"); //string billpdf = outputPath + "Taxpinal_PayBill.pdf"; //WebClient downloadpdf = new WebClient(); //downloadpdf.DownloadFile(URL1, billpdf); //IWebElement export = driver.FindElement(By.XPath("//*[@id='main']/table/tbody/tr/td[2]/form/table/tbody/tr/td[5]/a")); //Actions saction = new Actions(driver); //saction.Click(export).Perform(); //AutoItX3 autoit = new AutoItX3(); //autoit.WinActivate("Opening GPO Plan.xlsx"); //Thread.Sleep(3000); //autoit.Send("{ALTDOWN}s{ALTUP}"); //autoit.Send("{Enter}"); //Thread.Sleep(3000); //autoit.WinActivate("C:\\SeleniumDownloads"); //autoit.Send("{Enter}"); //Tax Payment History Details Table Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[1]/ul/li[1]/ul/li[4]/a")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcel_no, "Tax payment history", driver, "AZ", "Pinal"); driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/table/tbody/tr/td[2]/span")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("//li[contains(text(),'All')]")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_no, "Tax payment history All", driver, "AZ", "Pinal"); IWebElement multitableElement1 = driver.FindElement(By.XPath("/html/body/div[1]/section/table/tbody/tr/td[2]/form/div/table/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { multirowTD1 = row.FindElements(By.TagName("td")); string tax_Payment = multirowTD1[2].Text.Trim() + "~" + multirowTD1[3].Text.Trim() + "~" + multirowTD1[4].Text.Trim() + "~" + multirowTD1[5].Text.Trim() + "~" + multirowTD1[6].Text.Trim(); gc.insert_date(orderNumber, strparcelNumber1, 146, tax_Payment, 1, DateTime.Now); } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "AZ", "Pinal", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); GlobalClass.titleparcel = ""; gc.mergpdf(orderNumber, "AZ", "Pinal"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); 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_GAFayette(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername) { string Parcelno = "", Owner = "", Property_Address = "", Legal_Desp = "", MultiOwner_details = "", MultiAddress_details = ""; string Parcel_ID = "", Location = "", Legal = "", Property_Class = "", Nighbrhod = "", Tax_Dis = "", Zoing = "", Acres = "", Homestd = "", Exemption = "", Overall_OwnMailAdd = "", Year_Built = ""; string property = "", yblt = "", Mailing_Address2 = "", Mailing_Address1 = "", Owner1 = "", Owner2 = "", Exemp = "", Home = "", Acrs = "", Zone = "", tx_Dis = "", Nhg = "", Pro_Cls = "", Lg_Des = "", Loc = "", Par = ""; string Year1 = "", Year2 = "", Year3 = "", Year4 = "", Assemnt_Details1 = "", Assemnt_Details2 = "", Assemnt_Details3 = "", Assemnt_Details4 = "", total = "", Total_Payments = "", Convey = "", Convey_Fee = "", Paid = "", Total_Paid = "", TaxPayment_details1 = "", TaxPayment_details = "", Balnce_Due = "", Tax_Bill = "", Tax_year = ""; string Taxy = "", Total_DUE = "", Last_PAYDATE = "", Tax_P = "", Tax_Payer = "", Map = "", Map_Code = "", Desk = "", Desk_Pro = "", Locy = "", Tax_Location = "", Bl_No = "", Tax_Billno = "", Disti = "", Tax_Dist = "", Build_Val = "", Land_Val = "", Tax_Acres = "", FrMkt_Val = "", Tax_DueDate = "", Tax_Exmpions = "", TaxInfo_Details = ""; string Cu_Du = "", Penalt = "", In_Tx = "", Oth_Fe = "", Pre_Pay = "", Bc_Tx = "", Tl_Du = "", Cur_Due = "", Tax_Penalty = "", Int_Rest = "", Other_Fees = "", Previous_Payments = "", Back_Taxes = "", TaxToal_Due = "", DueTaxInfo_Details = ""; string Entity = "", FMV = "", Net_Assmnt = "", Exmpl = "", Taxble_Value = "", Millage_Rate = "", Grs_Tax = "", Cretit = "", NetTax = "", CityPayment_details = "", Taxble_Value1 = "", Millage_Rate1 = "", Grs_Tax1 = "", Cretit1 = "", NetTax1 = ""; string Tax_Auth1 = "", Tax_Auth2 = "", Tax_Authotiry = "", TaxAuthority_Details = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "GA", "Fayette"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_GAFayette"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?AppID=942&LayerID=18406&PageTypeID=2&PageID=8204"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "GA", "Fayette"); driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "GA", "Fayette"); int AddressmaxCheck = 0; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0) { Parcelno = MultiAddressTD[1].Text; Owner = MultiAddressTD[2].Text; Property_Address = MultiAddressTD[3].Text; Legal_Desp = MultiAddressTD[4].Text; MultiAddress_details = Owner + "~" + Property_Address + "~" + Legal_Desp; gc.insert_date(orderNumber, Parcelno, 784, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_GAFayette_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_GAFayette"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?AppID=942&LayerID=18406&PageTypeID=2&PageID=8204"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } if (parcelNumber.Contains(" ") || parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace(" ", "").Replace("-", ""); } string CommonParcel = parcelNumber; if (CommonParcel.Length == 9) { driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "GA", "Fayette"); driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); } if (CommonParcel.Length == 7) { driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "GA", "Fayette"); driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); } } if (searchType == "ownername") { driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?AppID=942&LayerID=18406&PageTypeID=2&PageID=8204"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "GA", "Fayette"); driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { IWebElement MultiOwnerTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "GA", "Fayette"); int AddressmaxCheck = 0; foreach (IWebElement MultiOwner in MultiOwnerTR) { if (AddressmaxCheck <= 25) { MultiOwnerTD = MultiOwner.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0) { Parcelno = MultiOwnerTD[1].Text; Owner = MultiOwnerTD[2].Text; Property_Address = MultiOwnerTD[3].Text; Legal_Desp = MultiOwnerTD[4].Text; MultiOwner_details = Owner + "~" + Property_Address + "~" + Legal_Desp; gc.insert_date(orderNumber, Parcelno, 784, MultiOwner_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiOwnerTR.Count > 25) { HttpContext.Current.Session["multiParcel_GAFayette_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_GAFayette"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } } try { IWebElement Inodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")); if (Inodata.Text.Contains("No results match your search criteria")) { HttpContext.Current.Session["Nodata_GAFayette"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details IWebElement PropertyTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/table[1]/tbody")); IList <IWebElement> PropertyTR = PropertyTB.FindElements(By.TagName("tr")); IList <IWebElement> PropertyTD; foreach (IWebElement Property in PropertyTR) { PropertyTD = Property.FindElements(By.TagName("td")); if (PropertyTD.Count != 0) { Par = PropertyTD[0].Text; if (Par.Contains("Parcel Number")) { Parcel_ID = PropertyTD[1].Text; } Loc = PropertyTD[0].Text; if (Loc.Contains("Location Address")) { Location = PropertyTD[1].Text; } Lg_Des = PropertyTD[0].Text; if (Lg_Des.Contains("Legal Description")) { Legal = PropertyTD[1].Text; } Pro_Cls = PropertyTD[0].Text; if (Pro_Cls.Contains("Property Class")) { Property_Class = PropertyTD[1].Text; } Nhg = PropertyTD[0].Text; if (Nhg.Contains("Neighborhood")) { Nighbrhod = PropertyTD[1].Text; } tx_Dis = PropertyTD[0].Text; if (tx_Dis.Contains("Tax District")) { Tax_Dis = PropertyTD[1].Text; } Zone = PropertyTD[0].Text; if (Zone.Contains("Zoning")) { Zoing = PropertyTD[1].Text; } Acrs = PropertyTD[0].Text; if (Acrs.Contains("Acres")) { Acres = PropertyTD[1].Text; } Home = PropertyTD[0].Text; if (Home.Contains("Homestead")) { Homestd = PropertyTD[1].Text; } Exemp = PropertyTD[0].Text; if (Exemp.Contains("Exemptions")) { Exemption = PropertyTD[1].Text; } } } try { Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch']")).Text; Owner2 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblOwnerName2")).Text; Mailing_Address1 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text; Mailing_Address2 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text; Overall_OwnMailAdd = Owner1 + " " + Owner2 + " & " + Mailing_Address1 + " " + Mailing_Address2; } catch { } try { Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lblSearch']")).Text; Mailing_Address1 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text; Mailing_Address2 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text; Overall_OwnMailAdd = Owner1 + " & " + Mailing_Address1 + " " + Mailing_Address2; } catch { } try { Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_ctl01_lnkOwnerName1_lnkSearch']")).Text; Mailing_Address1 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblAddress1")).Text; Mailing_Address2 = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblCityStZip")).Text; Overall_OwnMailAdd = Owner1 + " & " + Mailing_Address1 + " " + Mailing_Address2; } catch { } try { IWebElement Yeartb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl04_mSection']/div/div/div[1]/table/tbody")); IList <IWebElement> YearTR = Yeartb.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Tax4 in YearTR) { YearTD = Tax4.FindElements(By.TagName("td")); if (YearTD.Count != 0) { yblt = YearTD[0].Text; if (yblt.Contains("Year Built")) { Year_Built = YearTD[1].Text; } } } } catch { } property = Location + "~" + Legal + "~" + Property_Class + "~" + Nighbrhod + "~" + Tax_Dis + "~" + Zoing + "~" + Acres + "~" + Homestd + "~" + Exemption + "~" + Overall_OwnMailAdd + "~" + Year_Built; gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "GA", "Fayette"); gc.insert_date(orderNumber, Parcel_ID, 785, property, 1, DateTime.Now); //Assessment Details IWebElement AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_ctl01_grdValuation']/thead")); IList <IWebElement> AssmThTr = AssmThTb.FindElements(By.TagName("tr")); IList <IWebElement> AssmTh; foreach (IWebElement Assm in AssmThTr) { AssmTh = Assm.FindElements(By.TagName("th")); if (AssmTh.Count != 0) { Year1 = AssmTh[0].Text; Year2 = AssmTh[1].Text; Year3 = AssmTh[2].Text; Year4 = AssmTh[3].Text; } } IWebElement AssmTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_ctl01_grdValuation']/tbody")); IList <IWebElement> AssmTr = AssmTb.FindElements(By.TagName("tr")); IList <IWebElement> AssmTd; int j = 0; List <string> LUC = new List <string>(); List <string> Class = new List <string>(); List <string> Land_Value = new List <string>(); List <string> Build_Value = new List <string>(); List <string> Total_Value = new List <string>(); List <string> Assed_Value = new List <string>(); foreach (IWebElement Assmrow in AssmTr) { AssmTd = Assmrow.FindElements(By.TagName("td")); if (AssmTd.Count != 0) { if (j == 0) { LUC.Add(AssmTd[2].Text); LUC.Add(AssmTd[3].Text); LUC.Add(AssmTd[4].Text); LUC.Add(AssmTd[5].Text); } else if (j == 1) { Class.Add(AssmTd[2].Text); Class.Add(AssmTd[3].Text); Class.Add(AssmTd[4].Text); Class.Add(AssmTd[5].Text); } else if (j == 2) { Land_Value.Add(AssmTd[2].Text); Land_Value.Add(AssmTd[3].Text); Land_Value.Add(AssmTd[4].Text); Land_Value.Add(AssmTd[5].Text); } else if (j == 3) { Build_Value.Add(AssmTd[2].Text); Build_Value.Add(AssmTd[3].Text); Build_Value.Add(AssmTd[4].Text); Build_Value.Add(AssmTd[5].Text); } else if (j == 4) { Total_Value.Add(AssmTd[2].Text); Total_Value.Add(AssmTd[3].Text); Total_Value.Add(AssmTd[4].Text); Total_Value.Add(AssmTd[5].Text); } else if (j == 6) { Assed_Value.Add(AssmTd[2].Text); Assed_Value.Add(AssmTd[3].Text); Assed_Value.Add(AssmTd[4].Text); Assed_Value.Add(AssmTd[5].Text); } j++; } } Assemnt_Details1 = Year1 + "~" + LUC[0] + "~" + Class[0] + "~" + Land_Value[0] + "~" + Build_Value[0] + "~" + Total_Value[0] + "~" + Assed_Value[0]; Assemnt_Details2 = Year2 + "~" + LUC[1] + "~" + Class[1] + "~" + Land_Value[1] + "~" + Build_Value[1] + "~" + Total_Value[1] + "~" + Assed_Value[1]; Assemnt_Details3 = Year3 + "~" + LUC[2] + "~" + Class[2] + "~" + Land_Value[2] + "~" + Build_Value[2] + "~" + Total_Value[2] + "~" + Assed_Value[2]; Assemnt_Details4 = Year4 + "~" + LUC[3] + "~" + Class[3] + "~" + Land_Value[3] + "~" + Build_Value[3] + "~" + Total_Value[3] + "~" + Assed_Value[3]; gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details1, 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details2, 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details3, 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_ID, 791, Assemnt_Details4, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); try { //Tax Details driver.Navigate().GoToUrl("http://www.fayettecountytaxcomm.com/taxbillsearch.aspx"); driver.FindElement(By.Id("Body_MapParcelID1")).SendKeys(Parcel_ID); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_ID, "Tax Parcel Search", driver, "GA", "Fayette"); driver.FindElement(By.Id("Body_MapParcelIDGo")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_ID, "Tax Site", driver, "GA", "Fayette"); driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(3000); //Tax Payment Details try { IWebElement TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody")); IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxPaymentTD; foreach (IWebElement TaxPayment in TaxPaymentTR) { TaxPaymentTD = TaxPayment.FindElements(By.TagName("td")); if (TaxPaymentTD.Count != 0 && !TaxPayment.Text.Contains("Year")) { Tax_year = TaxPaymentTD[0].Text; Tax_Bill = TaxPaymentTD[1].Text; Balnce_Due = TaxPaymentTD[2].Text; TaxPayment_details = Tax_year + "~" + Tax_Bill + "~" + Balnce_Due; gc.CreatePdf(orderNumber, Parcel_ID, "Tax Payment Details", driver, "GA", "Fayette"); gc.insert_date(orderNumber, Parcel_ID, 792, TaxPayment_details, 1, DateTime.Now); } } } catch { } try { IWebElement Tax2TB = driver.FindElement(By.XPath("//*[@id='form1']/div[3]/div/table/tbody")); IList <IWebElement> Tax2TR = Tax2TB.FindElements(By.TagName("tr")); IList <IWebElement> Tax2TD; foreach (IWebElement Tax2 in Tax2TR) { Tax2TD = Tax2.FindElements(By.TagName("td")); if (Tax2TD.Count != 0) { total = Tax2TD[0].Text; if (total.Contains("Total Payments Pending:")) { Total_Payments = Tax2TD[1].Text; } Convey = Tax2TD[0].Text; if (Convey.Contains("Convenience Fee:")) { Convey_Fee = Tax2TD[1].Text; } Paid = Tax2TD[0].Text; if (Paid.Contains("Total Amount to be paid:")) { Total_Paid = Tax2TD[1].Text; } } } TaxPayment_details1 = "" + "~" + "" + "~" + "" + "~" + Total_Payments + "~" + Convey_Fee + "~" + Total_Paid; gc.insert_date(orderNumber, Parcel_ID, 792, TaxPayment_details1, 1, DateTime.Now); } catch { } //Tax Info Details List <string> TaxInfoSearch = new List <string>(); IWebElement TaxInfoTB = driver.FindElement(By.XPath("//*[@id='Body_GridView1']/tbody")); IList <IWebElement> TaxInfoTR = TaxInfoTB.FindElements(By.TagName("tr")); TaxInfoTR.Reverse(); int rows_count = TaxInfoTR.Count; for (int row = 0; row < rows_count; row++) { if (row == rows_count - 1 || row == rows_count - 2 || row == rows_count - 3) { IList <IWebElement> Columns_row = TaxInfoTR[row].FindElements(By.TagName("td")); int columns_count = Columns_row.Count; for (int column = 0; column < columns_count; column++) { if (column == columns_count - 2) { IWebElement ParcelBill_link = Columns_row[1].FindElement(By.TagName("a")); string Parcelurl = ParcelBill_link.GetAttribute("href"); TaxInfoSearch.Add(Parcelurl); } } } } foreach (string TaxInfobill in TaxInfoSearch) { driver.Navigate().GoToUrl(TaxInfobill); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); try { Taxy = driver.FindElement(By.Id("PropertyTaxLabel")).Text; Taxy = WebDriverTest.Before(Taxy, " Property Tax Statement"); Total_DUE = driver.FindElement(By.Id("TotalDueTopText")).Text; Last_PAYDATE = driver.FindElement(By.Id("LastPaymentTopText")).Text; Last_PAYDATE = WebDriverTest.After(Last_PAYDATE, "Last payment made on: "); } catch { } try { IWebElement IntrestTB = driver.FindElement(By.XPath("//*[@id='TaxPayerInfo']/tbody")); IList <IWebElement> IntrestTR = IntrestTB.FindElements(By.TagName("tr")); IList <IWebElement> IntrestTD; foreach (IWebElement Intrest in IntrestTR) { IntrestTD = Intrest.FindElements(By.TagName("td")); if (IntrestTD.Count != 0) { Tax_P = IntrestTD[0].Text; if (Tax_P.Contains("Tax Payer:")) { Tax_Payer = IntrestTD[1].Text; } Map = IntrestTD[0].Text; if (Map.Contains("Map Code:")) { Map_Code = IntrestTD[1].Text; } Desk = IntrestTD[0].Text; if (Desk.Contains("Description:")) { Desk_Pro = IntrestTD[1].Text; } Locy = IntrestTD[0].Text; if (Locy.Contains("Location:")) { Tax_Location = IntrestTD[1].Text; } Bl_No = IntrestTD[0].Text; if (Bl_No.Contains("Bill No:")) { Tax_Billno = IntrestTD[1].Text; } Disti = IntrestTD[0].Text; if (Disti.Contains("District:")) { Tax_Dist = IntrestTD[1].Text; } } } } catch { } try { IWebElement CinfoTB = driver.FindElement(By.XPath("//*[@id='BottomTable']/tbody")); IList <IWebElement> CinfoTR = CinfoTB.FindElements(By.TagName("tr")); IList <IWebElement> CinfoTD; foreach (IWebElement Cinfo in CinfoTR) { CinfoTD = Cinfo.FindElements(By.TagName("td")); if (CinfoTD.Count != 0 && !Cinfo.Text.Contains("Building Value") && Cinfo.Text != "") { Build_Val = CinfoTD[0].Text; Land_Val = CinfoTD[1].Text; Tax_Acres = CinfoTD[2].Text; FrMkt_Val = CinfoTD[3].Text; Tax_DueDate = CinfoTD[4].Text; Tax_Exmpions = CinfoTD[7].Text; } } } catch { } gc.CreatePdf(orderNumber, Parcel_ID, "Tax Info Details" + " " + Taxy, driver, "GA", "Fayette"); TaxInfo_Details = Taxy + "~" + Tax_Payer + "~" + Map_Code + "~" + Desk_Pro + "~" + Tax_Location + "~" + Tax_Billno + "~" + Tax_Dist + "~" + Last_PAYDATE + "~" + Build_Val + "~" + Land_Val + "~" + Tax_Acres + "~" + FrMkt_Val + "~" + Tax_Exmpions + "~" + Tax_DueDate + "~" + Total_DUE; gc.insert_date(orderNumber, Parcel_ID, 793, TaxInfo_Details, 1, DateTime.Now); Tax_Payer = ""; Map_Code = ""; Desk_Pro = ""; Tax_Location = ""; Tax_Billno = ""; Tax_Dist = ""; Last_PAYDATE = ""; Build_Val = ""; Land_Val = ""; Tax_Acres = ""; FrMkt_Val = ""; Tax_Exmpions = ""; Tax_DueDate = ""; Total_DUE = ""; try { IWebElement DueTaxTB = driver.FindElement(By.XPath("//*[@id='CurrentDueTable']/tbody")); IList <IWebElement> DueTaxTR = DueTaxTB.FindElements(By.TagName("tr")); IList <IWebElement> DueTaxTD; foreach (IWebElement DueTax in DueTaxTR) { DueTaxTD = DueTax.FindElements(By.TagName("td")); if (DueTaxTD.Count != 0 && DueTaxTD.Count != 1 && DueTaxTD.Count != 8 && DueTaxTD.Count != 9) { Cu_Du = DueTaxTD[1].Text; if (Cu_Du.Contains("Current Due")) { Cur_Due = DueTaxTD[2].Text; } Penalt = DueTaxTD[1].Text; if (Penalt.Contains("Penalty")) { Tax_Penalty = DueTaxTD[2].Text; } In_Tx = DueTaxTD[1].Text; if (In_Tx.Contains("Interest")) { Int_Rest = DueTaxTD[2].Text; } Oth_Fe = DueTaxTD[1].Text; if (Oth_Fe.Contains("Other Fees")) { Other_Fees = DueTaxTD[2].Text; } Pre_Pay = DueTaxTD[1].Text; if (Pre_Pay.Contains("Previous Payments")) { Previous_Payments = DueTaxTD[2].Text; } Bc_Tx = DueTaxTD[1].Text; if (Bc_Tx.Contains("Back Taxes")) { Back_Taxes = DueTaxTD[2].Text; } Tl_Du = DueTaxTD[1].Text; if (Tl_Du.Contains("Total Due")) { TaxToal_Due = DueTaxTD[2].Text; } } } DueTaxInfo_Details = Taxy + "~" + Cur_Due + "~" + Tax_Penalty + "~" + Int_Rest + "~" + Other_Fees + "~" + Previous_Payments + "~" + Back_Taxes + "~" + TaxToal_Due; gc.insert_date(orderNumber, Parcel_ID, 802, DueTaxInfo_Details, 1, DateTime.Now); } catch { } try { IWebElement CityTaxPaymentTB = driver.FindElement(By.XPath("//*[@id='EntityTable']/tbody")); IList <IWebElement> CityTaxPaymentTR = CityTaxPaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> CityTaxPaymentTD; foreach (IWebElement CityTaxPayment in CityTaxPaymentTR) { CityTaxPaymentTD = CityTaxPayment.FindElements(By.TagName("td")); if (CityTaxPaymentTD.Count != 0 && !CityTaxPayment.Text.Contains("Entity") && !CityTaxPayment.Text.Contains("Totals: ")) { Entity = CityTaxPaymentTD[0].Text; FMV = CityTaxPaymentTD[1].Text; Net_Assmnt = CityTaxPaymentTD[2].Text; Exmpl = CityTaxPaymentTD[3].Text; Taxble_Value = CityTaxPaymentTD[4].Text; Millage_Rate = CityTaxPaymentTD[5].Text; Grs_Tax = CityTaxPaymentTD[6].Text; Cretit = CityTaxPaymentTD[7].Text; NetTax = CityTaxPaymentTD[8].Text; CityPayment_details = Entity + "~" + FMV + "~" + Net_Assmnt + "~" + Exmpl + "~" + Taxble_Value + "~" + Millage_Rate + "~" + Grs_Tax + "~" + Cretit + "~" + NetTax; gc.insert_date(orderNumber, Parcel_ID, 803, CityPayment_details, 1, DateTime.Now); } } } catch { } try { IWebElement CityTaxPaymentTB1 = driver.FindElement(By.XPath("//*[@id='EntityTable']/tbody")); IList <IWebElement> CityTaxPaymentTR1 = CityTaxPaymentTB1.FindElements(By.TagName("tr")); IList <IWebElement> CityTaxPaymentTD1; foreach (IWebElement CityTaxPayment1 in CityTaxPaymentTR1) { CityTaxPaymentTD1 = CityTaxPayment1.FindElements(By.TagName("td")); if (CityTaxPaymentTD1.Count != 0 && CityTaxPayment1.Text.Contains("Totals: ")) { Taxble_Value1 = CityTaxPaymentTD1[0].Text; Millage_Rate1 = CityTaxPaymentTD1[1].Text; Grs_Tax1 = CityTaxPaymentTD1[2].Text; Cretit1 = CityTaxPaymentTD1[3].Text; NetTax1 = CityTaxPaymentTD1[4].Text; CityPayment_details = "" + "~" + "" + "~" + "" + "~" + "" + "~" + Taxble_Value1 + "~" + Millage_Rate1 + "~" + Grs_Tax1 + "~" + Cretit1 + "~" + NetTax1; gc.insert_date(orderNumber, Parcel_ID, 803, CityPayment_details, 1, DateTime.Now); } } } catch { } } } catch { } //Tax Avthority driver.Navigate().GoToUrl("http://www.fayettecountytaxcomm.com/"); Thread.Sleep(2000); Tax_Auth1 = driver.FindElement(By.XPath("/html/body/div/table/tbody/tr[3]/td[3]/p[19]")).Text.Replace("Suite 109 (Motor Vehicles)", ""); Tax_Auth2 = driver.FindElement(By.XPath("/html/body/div/table/tbody/tr[3]/td[3]/p[15]")).Text; Tax_Authotiry = Tax_Auth1 + " & " + Tax_Auth2; TaxAuthority_Details = Tax_Authotiry; gc.CreatePdf(orderNumber, Parcel_ID, "Tax Authority Details", driver, "GA", "Fayette"); gc.insert_date(orderNumber, Parcel_ID, 804, TaxAuthority_Details, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "GA", "Fayette", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "GA", "Fayette"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
public string FTP_Jefferson(string address, string ownername, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass gc = new GlobalClass(); 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") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "LA", "Jefferson"); 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_LAJefferson"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://www.jpassessor.com/property-search"); Thread.Sleep(4000); if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='radio-address']")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='address']")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "LA", "Jefferson"); driver.FindElement(By.Id("btn-search-address")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "LA", "Jefferson"); mul = driver.FindElement(By.XPath("//*[@id='panel-results']/div[2]/div[3]/div/span")).Text.Trim(); mul = WebDriverTest.Before(mul, " of"); List <string> searchlist = new List <string>(); IWebElement checksingle = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRchecksingle = checksingle.FindElements(By.TagName("tr")); int j = 1; IList <IWebElement> TDchecksingle; foreach (IWebElement row in TRchecksingle) { if (j <= 25) { TDchecksingle = row.FindElements(By.TagName("td")); if (TDchecksingle.Count != 0 && row.Text.Contains(address.ToUpper())) { if (TDchecksingle[2].Text == address.ToUpper()) { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr[" + j + "]/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); break; } } j++; } } try { if (mul != "1 - 1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int k = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (k <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0 && row.Text.Contains(address.ToUpper())) { if (TDmulti[2].Text == address.ToUpper()) { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr[" + k + "]/td[1]/a")).Click(); break; } else { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 245, multi1, 1, DateTime.Now); } searchlist.Add(TDmulti[0].Text); } k++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum"; } if (searchlist.Count > 1) { HttpContext.Current.Session["multiParcel_Jefferson"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { try { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='radio-parcel']")).Click(); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.XPath("//*[@id='parcel']")).SendKeys(parcelNumber); driver.FindElement(By.XPath("//*[@id='btn-search-parcel']")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "LA", "Jefferson"); mul = driver.FindElement(By.XPath("//*[@id='panel-results']/div[2]/div[3]/div/span")).Text.Trim(); mul = WebDriverTest.Before(mul, " of"); if (mul != "1 - 1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int l = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (l <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 245, multi1, 1, DateTime.Now); } l++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Jefferson"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { try { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } } } else if (searchType == "ownername") { driver.FindElement(By.XPath("//*[@id='radio-owner']")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='owner']")).SendKeys(ownername); driver.FindElement(By.XPath("//*[@id='btn-search-owner']")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner search result", driver, "LA", "Jefferson"); mul = driver.FindElement(By.XPath("//*[@id='panel-results']/div[2]/div[3]/div/span")).Text.Trim(); mul = WebDriverTest.Before(mul, " of"); if (mul != "1 - 1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int l = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (l <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 245, multi1, 1, DateTime.Now); } l++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Jefferson"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { try { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } } } try { string nodata = driver.FindElement(By.XPath("//*[@id='panel-results']")).Text; if (nodata.Contains("0 - 0 of 0 items")) { HttpContext.Current.Session["Nodata_LAJefferson"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details string Parcel_no = "", Ward_no = "", Owner_Name = "", Improvement_Address = "", Homestead_Exemption_Status = "", Subdivision = "", Legal_Description = "", Land_Assessment = "", Improvement_Assessment = "", Total_Assessment = ""; //gc.CreatePdf_WOP(orderNumber, "propert search result", driver); Parcel_no = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[1]/td[2]/span")).Text.Trim(); gc.CreatePdf(orderNumber, Parcel_no, "property search result", driver, "LA", "Jefferson"); Ward_no = driver.FindElement(By.XPath(" /html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); Owner_Name = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); Improvement_Address = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); Homestead_Exemption_Status = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[3]/td[4]")).Text.Trim(); Subdivision = driver.FindElement(By.XPath(" / html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[4]/td[4]")).Text.Trim(); Legal_Description = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[5]/td[4]")).Text.Trim(); string assessment_details = Ward_no + "~" + Owner_Name + "~" + Improvement_Address + "~" + Homestead_Exemption_Status + "~" + Subdivision + "~" + Legal_Description; gc.insert_date(orderNumber, Parcel_no, 246, assessment_details, 1, DateTime.Now); //Assessment details Land_Assessment = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text.Trim(); Improvement_Assessment = driver.FindElement(By.XPath(" / html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); Total_Assessment = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[3]")).Text.Trim(); string property_details = Land_Assessment + "~" + Improvement_Assessment + "~" + Total_Assessment; gc.insert_date(orderNumber, Parcel_no, 247, property_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); string add1 = "200 Derbigny St.Suite 1200 Gretna, LA 70053", add2 = "504-363-5637", add3 = "504-363-5644"; string taxauthority_address = add1 + " PH:" + add2 + " FAX: " + add3; driver.Navigate().GoToUrl("https://propertytax.jpso.com/PropertyTax/propsrch.aspx#result"); Thread.Sleep(3000); var Select = driver.FindElement(By.Id("ContentPlaceHolder1_body_cboSearchBy")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Parcel #"); driver.FindElement(By.Id("ContentPlaceHolder1_body_txtParcel_In")).SendKeys(Parcel_no); gc.CreatePdf(orderNumber, Parcel_no, "property tax search ", driver, "LA", "Jefferson"); driver.FindElement(By.Id("ContentPlaceHolder1_body_btSearch")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_no, "property tax search result", driver, "LA", "Jefferson"); string Hex = "", Parcel_no1 = "", Notice_no = "", Assessment = "", Tax_Due = "", Tax_Year = ""; Hex = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblHEX")).Text.Trim(); Parcel_no1 = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblParcel")).Text.Trim(); Notice_no = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblBillNum")).Text.Trim(); Assessment = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblAssessAmt")).Text.Trim(); Tax_Due = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblTaxAmt")).Text.Trim(); Tax_Year = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblTaxYear")).Text.Trim(); string taxinfo_details = Hex + "~" + Assessment + "~" + Tax_Due + "~" + Tax_Year + "~" + taxauthority_address; gc.insert_date(orderNumber, Parcel_no, 240, taxinfo_details, 1, DateTime.Now); // Tax Notices and Payments Details Table: driver.FindElement(By.Id("ContentPlaceHolder1_body_btViewHistory")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_no, "View history", driver, "LA", "Jefferson"); IWebElement multitableElement1 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_body_dgHistory']/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { if (!row.Text.Contains("Tax Year")) { multirowTD1 = row.FindElements(By.TagName("td")); string tax_payment = multirowTD1[0].Text.Trim() + "~" + multirowTD1[1].Text.Trim() + "~" + multirowTD1[2].Text.Trim() + "~" + multirowTD1[3].Text.Trim() + "~" + multirowTD1[4].Text.Trim() + "~" + multirowTD1[5].Text.Trim() + "~" + multirowTD1[6].Text.Trim(); gc.insert_date(orderNumber, Parcel_no, 248, tax_payment, 1, DateTime.Now); } } driver.FindElement(By.XPath("//*[@id='MAIN_OUTLINE_TABLE']/div[1]/div/div[2]/a")).Click(); Thread.Sleep(3000); driver.FindElement(By.Id("ContentPlaceHolder1_body_btViewMilage")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_no, "View millage", driver, "LA", "Jefferson"); string Bill_year = "", Bill_no = "", Tax_Due1 = ""; Bill_year = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblYear")).Text.Trim(); Bill_no = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblBillnumber")).Text.Trim(); Tax_Due1 = driver.FindElement(By.Id("ContentPlaceHolder1_body_LblTaxDue")).Text.Trim(); string tax_Milege1 = Bill_year + "~" + Bill_no + "~" + Tax_Due1 + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Parcel_no, 257, tax_Milege1, 1, DateTime.Now); try { IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_body_dgMileage']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; foreach (IWebElement row in multitableRow11) { if (!row.Text.Contains("Category")) { multirowTD11 = row.FindElements(By.TagName("td")); string tax_Milege = "-" + "~" + "-" + "~" + "-" + "~" + multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim() + "~" + multirowTD11[3].Text.Trim(); gc.insert_date(orderNumber, Parcel_no, 257, tax_Milege, 1, DateTime.Now); } } } catch { } // State Tax Commission information can be obtained through the link. driver.Navigate().GoToUrl("http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx"); Thread.Sleep(3000); //address search var Select1 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddParish")); var selectElement11 = new SelectElement(Select1); selectElement11.SelectByText("JEFFERSON PARISH"); Thread.Sleep(1000); var Select11 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddYear")); var selectElement12 = new SelectElement(Select11); selectElement12.SelectByIndex(2); // selectElement12.SelectByText("2017"); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_rbSearchField_0")).Click(); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_txtSearch")).SendKeys(Improvement_Address); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_btnSubmitSearch")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_gvResults']/tbody/tr[2]/td[5]/a")).Click(); Thread.Sleep(3000); //DOWNLOAD REPORT IWebElement Itaxbill = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_lblReport']/a[1]")); string URL1 = Itaxbill.GetAttribute("href"); gc.downloadfile(URL1, orderNumber, Parcel_no, "REPORT.pdf", "LA", "Jefferson"); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_lbReset")).Click(); Thread.Sleep(3000); var Select13 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddParish")); var selectElement13 = new SelectElement(Select13); selectElement13.SelectByText("JEFFERSON PARISH"); Thread.Sleep(1000); var Select14 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddYear")); var selectElement14 = new SelectElement(Select14); selectElement14.SelectByIndex(2); //selectElement14.SelectByText("2017"); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_rbSearchField_1")).Click(); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_txtSearch")).SendKeys(Bill_no); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_btnSubmitSearch")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_gvResults']/tbody/tr[2]/td[5]/a")).Click(); Thread.Sleep(3000); //DOWNLOAD REPORT IWebElement Itaxbill1 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_lblReport']/a[1] ")); string URL11 = Itaxbill1.GetAttribute("href"); gc.downloadfile(URL11, orderNumber, Parcel_no, "Assessment_REPORT.pdf", "LA", "Jefferson"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "LA", "Jefferson", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "LA", "Jefferson"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_OKTulsa(string houseno, string sname, string direction, string sttype, string parcelNumber, string searchType, string accountnumber, 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 = ""; sname = sname + sttype; var driverService = PhantomJSDriverService.CreateDefaultService(); IJavaScriptExecutor js = driver as IJavaScriptExecutor; driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) //driver = new ChromeDriver(); { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + direction + " " + sname + " " + accountnumber; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "OK", "Tulsa"); 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_OKTulsa"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://www.assessor.tulsacounty.org/assessor-property-search.php"); try { driver.FindElement(By.XPath("//*[@id='content']/form/button[1]")).SendKeys(Keys.Enter); } catch { } if (searchType == "address") { IWebElement add = driver.FindElement(By.XPath("//*[@id='srchaddr']/label")); add.Click(); driver.FindElement(By.Id("streetno")).SendKeys(houseno); driver.FindElement(By.XPath("//*[@id='propertysearches']/div[2]/p[1]/select[1]")).SendKeys(direction); driver.FindElement(By.Id("streetname")).SendKeys(sname); driver.FindElement(By.Id("bttnaddr")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "OK", "Tulsa"); try { string mul = driver.FindElement(By.XPath("//*[@id='pickone_info']")).Text; mul = WebDriverTest.After(mul, "to"); mul = WebDriverTest.Before(mul, "of").Trim(); if ((mul != "1") && (mul != "0")) { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='pickone']/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) { string multi = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text + "~" + TDmulti[5].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 109, multi, 1, DateTime.Now); } } gc.CreatePdf_WOP(orderNumber, "Multiparcel Address Search", driver, "OK", "Tulsa"); HttpContext.Current.Session["multiparcel_Tulsa"] = "Yes"; if (TRmulti.Count > 25) { HttpContext.Current.Session["multiparcel_Tulsa_count"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='srchprcl']")).Click(); driver.FindElement(By.Id("parcel")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "OK", "Tulsa"); driver.FindElement(By.Id("bttnprcl")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "OK", "Tulsa"); } else if (searchType == "block") { driver.FindElement(By.XPath("//*[@id='srchacct']/label")).Click(); driver.FindElement(By.Id("account")).SendKeys(accountnumber); gc.CreatePdf_WOP(orderNumber, "Account Number search", driver, "OK", "Tulsa"); driver.FindElement(By.Id("bttnacct")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Account Number result search", driver, "OK", "Tulsa"); } else if (searchType == "ownername") { string[] on = ownername.Split(' '); string first = on[0]; string second = on[1]; //ownername = second + " " + first; driver.FindElement(By.XPath("//*[@id='srchprsn']/label")).Click(); driver.FindElement(By.Id("ln")).SendKeys(first); driver.FindElement(By.Id("fn")).SendKeys(second); gc.CreatePdf_WOP(orderNumber, "Owner Name search", driver, "OK", "Tulsa"); driver.FindElement(By.Id("bttnprsn")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Owner Name search result", driver, "OK", "Tulsa"); try { string mul = driver.FindElement(By.XPath("//*[@id='pickone_info']")).Text; mul = WebDriverTest.After(mul, "to"); mul = WebDriverTest.Before(mul, "of").Trim(); if ((mul != "1") && (mul != "0")) { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='pickone']/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) { string multi = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text + "~" + TDmulti[5].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 109, multi, 1, DateTime.Now); } } } gc.CreatePdf_WOP(orderNumber, " Multi Parcel Owner Name search", driver, "OK", "Tulsa"); HttpContext.Current.Session["multiparcel_Tulsa"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='content']/p[4]")); if (INodata.Text.Contains("No properties were found")) { HttpContext.Current.Session["Nodata_OKTulsa"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } Thread.Sleep(4000); //Assessment Information string Parcel_No = "-", Account_No = "-", Owner_Name = "-", Property_Address = "-", Mailing_Address = "-", Legal_Description = "-", Year_Built = "-"; string fullqucikfacts = driver.FindElement(By.XPath("//*[@id='quick']/table/tbody")).Text; //Parcel_No = driver.FindElement(By.XPath("//*[@id='quick']/table/tbody/tr[1]/td[2]")).Text; Parcel_No = gc.Between(fullqucikfacts, "Parcel #", "Situs address").Trim(); amck.TaxId = Parcel_No; //Account_No = driver.FindElement(By.XPath("//*[@id='quick']/table/tbody/tr[1]/td[2]")).Text; Account_No = gc.Between(fullqucikfacts, "Account #", "Parcel #").Trim(); //Owner_Name = driver.FindElement(By.XPath("//*[@id='quick']/table/tbody/tr[4]/td[2]")).Text; Owner_Name = gc.Between(fullqucikfacts, "Owner name", "Fair cash").Trim(); //Property_Address = driver.FindElement(By.XPath("//*[@id='quick']/table/tbody/tr[3]/td[2]/text()")).Text; Property_Address = gc.Between(fullqucikfacts, "Situs address", "Owner name").Trim(); Legal_Description = GlobalClass.After(fullqucikfacts, "Legal description"); string legalmailtext = driver.FindElement(By.XPath("//*[@id='general']/table/tbody")).Text; // Mailing_Address = driver.FindElement(By.XPath("//*[@id='general']/table/tbody/tr[3]/td[2]/text()[1]")).Text; Mailing_Address = gc.Between(legalmailtext, "Owner mailing address", "Land area"); //Legal_Description = driver.FindElement(By.XPath("//*[@id='quick']/table/tbody/tr[7]/td[2]/text()[2]")).Text; try { Year_Built = driver.FindElement(By.XPath("//*[@id='improvements']/table/tbody/tr/td[5]")).Text; } catch { } if (Mailing_Address.Contains("\r\n")) { Mailing_Address = Mailing_Address.Replace("\r\n", ""); } if (Legal_Description.Contains("\r\n")) { Legal_Description = Legal_Description.Replace("\r\n", ""); } string prop = Account_No + "~" + Owner_Name + "~" + Property_Address + "~" + Mailing_Address + "~" + Legal_Description + "~" + Year_Built; gc.insert_date(orderNumber, Parcel_No, 111, prop, 1, DateTime.Now); //Assessment information //insert year string AssessedYear = "", MarketValue = "", Totaltaxablevalue = "", AssessmentRatio = "", GrossAssessed = "", Exemptions = "", NetAssessed = "", LandValue = "", Improvementsvalue = "", Homestead = "", AdditionalHomestead = "", SeniorValuationLimitation = "", Veteran = ""; IWebElement TBTax = driver.FindElement(By.XPath("//*[@id='tax']/table")); IList <IWebElement> TRTax = TBTax.FindElements(By.TagName("tr")); IList <IWebElement> THTax; foreach (IWebElement row1 in TRTax) { THTax = row1.FindElements(By.TagName("th")); if (THTax.Count != 0) { AssessedYear = THTax[1].Text + "~" + THTax[2].Text; } else { THTax = row1.FindElements(By.TagName("td")); if (THTax.Count != 0 && THTax.Count != 1 && THTax.Count != 2) { MarketValue = THTax[1].Text + "~" + THTax[2].Text; Totaltaxablevalue = THTax[1].Text + "~" + THTax[2].Text; AssessmentRatio = THTax[1].Text + "~" + THTax[2].Text; GrossAssessed = THTax[1].Text + "~" + THTax[2].Text; Exemptions = THTax[1].Text + "~" + THTax[2].Text; NetAssessed = THTax[1].Text + "~" + THTax[2].Text; } } } IWebElement TBTax1 = driver.FindElement(By.XPath("//*[@id='value']/table")); IList <IWebElement> TRTax1 = TBTax1.FindElements(By.TagName("tr")); IList <IWebElement> THTax1; foreach (IWebElement row1 in TRTax1) { THTax1 = row1.FindElements(By.TagName("th")); if (THTax1.Count != 0) { AssessedYear = THTax1[1].Text + "~" + THTax1[2].Text; } else { THTax1 = row1.FindElements(By.TagName("td")); if (THTax1.Count != 0) { LandValue = THTax1[1].Text + "~" + THTax1[2].Text; Improvementsvalue = THTax1[1].Text + "~" + THTax1[2].Text; } } } IWebElement TBTax2 = driver.FindElement(By.XPath("//*[@id='adjustments']/table")); IList <IWebElement> TRTax2 = TBTax2.FindElements(By.TagName("tr")); IList <IWebElement> THTax2; foreach (IWebElement row1 in TRTax1) { THTax2 = row1.FindElements(By.TagName("th")); if (THTax2.Count != 0) { AssessedYear = THTax2[1].Text + "~" + THTax2[2].Text; } else { THTax2 = row1.FindElements(By.TagName("td")); if (THTax2.Count != 0) { Homestead = THTax2[1].Text + "~" + THTax2[2].Text; AdditionalHomestead = THTax2[1].Text + "~" + THTax2[2].Text; SeniorValuationLimitation = THTax2[1].Text + "~" + THTax2[2].Text; Veteran = THTax2[1].Text + "~" + THTax2[2].Text; } } } var split1 = AssessedYear.Split('~'); var split2 = MarketValue.Split('~'); var split3 = Totaltaxablevalue.Split('~'); var split4 = AssessmentRatio.Split('~'); var split5 = GrossAssessed.Split('~'); var split6 = Exemptions.Split('~'); var split7 = NetAssessed.Split('~'); var split8 = LandValue.Split('~'); var split9 = Improvementsvalue.Split('~'); var split10 = Homestead.Split('~'); var split11 = AdditionalHomestead.Split('~'); var split12 = SeniorValuationLimitation.Split('~'); var split13 = Veteran.Split('~'); for (int I = 0; split1.Length > I; I++) { string AssessDetail = split1[I] + "~" + split2[I] + "~" + split3[I] + "~" + split4[I] + "~" + split5[I] + "~" + split6[I] + "~" + split7[I] + "~" + split8[I] + "~" + split9[I] + "~" + split10[I] + "~" + split11[I] + "~" + split12[I] + "~" + split13[I]; gc.insert_date(orderNumber, Parcel_No, 112, AssessDetail, 1, DateTime.Now); } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //insert tax information of assessment //IWebElement TBTax3 = driver.FindElement(By.XPath("//*[@id='tax']/table/tbody")); //IList<IWebElement> TRTax3 = TBTax1.FindElements(By.TagName("tr")); //IList<IWebElement> TDTax3; //foreach (IWebElement row1 in TRTax3) //{ // if (!row1.Text.Contains("Tax rate") && !row1.Text.Contains("Estimated taxes") && !row1.Text.Contains("Most recent")) // { // TDTax3 = row1.FindElements(By.TagName("td")); // string t_val = TDTax3[0].Text + "~" + TDTax3[1].Text + "~" + TDTax3[2].Text; // gc.insert_date(orderNumber, Parcel_No, 112, t_val, 1, DateTime.Now); // } //} //Values //IWebElement TBval = driver.FindElement(By.XPath("//*[@id='value']/table/tbody")); //IList<IWebElement> TRVal = TBval.FindElements(By.TagName("tr")); //IList<IWebElement> TDVal; //foreach (IWebElement row1 in TRVal) //{ // TDVal = row1.FindElements(By.TagName("td")); // string val = TDVal[0].Text + "~" + TDVal[1].Text + "~" + TDVal[2].Text; // gc.insert_date(orderNumber, Parcel_No, 112, val, 1, DateTime.Now); //} //Exemptions claimed //IWebElement TBexe = driver.FindElement(By.XPath("//*[@id='adjustments']/table/tbody")); //IList<IWebElement> TRexe = TBexe.FindElements(By.TagName("tr")); //IList<IWebElement> TDexe; //foreach (IWebElement row1 in TRexe) //{ // TDexe = row1.FindElements(By.TagName("td")); // string exe = TDexe[0].Text + "~" + TDexe[1].Text + "~" + TDexe[2].Text; // gc.insert_date(orderNumber, Parcel_No, 112, exe, 1, DateTime.Now); //} //Tax Account Details driver.Navigate().GoToUrl("http://www.treasurer.tulsacounty.org/"); Thread.Sleep(4000); IWebElement iframe = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/iframe")); driver.SwitchTo().Frame(iframe); IWebElement frame1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[1]")); driver.SwitchTo().Frame(frame1); driver.FindElement(By.XPath("/html/body/div[1]/div[6]")).Click(); driver.SwitchTo().DefaultContent(); Thread.Sleep(4000); driver.SwitchTo().Frame(iframe); IWebElement frame2 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame("main_frame"); driver.FindElement(By.XPath("//*[@id='HyperLink1']")).SendKeys(Keys.Enter); Thread.Sleep(4000); if (Parcel_No.Contains("-")) { string[] s = Parcel_No.Split('-'); Parcel_No = s[0] + s[1] + s[2] + s[3]; } driver.FindElement(By.XPath("//*[@id='tb_PN']")).SendKeys(Parcel_No); gc.CreatePdf(orderNumber, Parcel_No, "ImputPassed TaxSearch", driver, "OK", "Tulsa"); driver.FindElement(By.XPath("//*[@id='Button2']")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, Parcel_No, "TaxSearch Result", driver, "OK", "Tulsa"); string Parcel_ID = "-", t_Owner_Name = "-", T_Property_Address = "-", Tax_Year = "-", Tax_Type = "-", Tax_Amount = "-", Tax_Balance = "-", Interest = "-", Costs = "-", Total_Due = "-", Paid_Date = "-", Tax_Amount_Paid = "-", Interest_Paid = "-", Costs_Paid = "-", Total_Paid = "-", Reference_Number = "-", Paid_By = "-", Taxing_Authority = "-"; IWebElement TBtx = driver.FindElement(By.XPath("/html/body/form/div[3]/table[2]/tbody/tr[1]/td/table/tbody")); IList <IWebElement> TRtx = TBtx.FindElements(By.TagName("tr")); int count = TRtx.Count; for (int a = 2; a <= count; a++) { IWebElement tx = driver.FindElement(By.XPath("/html/body/form/div[3]/table[2]/tbody/tr[1]/td/table/tbody/tr[" + a + "]/td[6]/a[1]")); tx.SendKeys(Keys.Enter); Thread.Sleep(3000); Parcel_ID = driver.FindElement(By.XPath("//*[@id='form1']/div[3]/div[2]/table/tbody/tr/td/table[2]/tbody/tr[1]/td/table[1]/tbody/tr/td[2]/span")).Text; t_Owner_Name = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[2]/tbody/tr[3]/td/table/tbody/tr[1]/td[1]/table/tbody/tr[3]/td/span")).Text; T_Property_Address = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[2]/tbody/tr[3]/td/table/tbody/tr[2]/td/table[3]/tbody/tr/td[2]/span")).Text; Tax_Year = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[1]/tbody/tr[1]/td/table/tbody/tr[2]/td/span")).Text; var s = Tax_Year; var firstSpaceIndex = s.IndexOf(" "); var firstString = s.Substring(0, firstSpaceIndex); // INAGX4 var secondString = s.Substring(firstSpaceIndex + 1); Tax_Year = firstString; amck.TaxYear = Tax_Year; gc.CreatePdf(orderNumber, Parcel_No, "Detailed Tax Information" + Tax_Year, driver, "OK", "Tulsa"); try { string taxalert = driver.FindElement(By.XPath("//*[@id='lblmsgtxt']")).Text; if (taxalert.Contains("Please call ")) { gc.insert_date(orderNumber, Parcel_No, 1872, taxalert.Replace("/r/n", ""), 1, DateTime.Now); HttpContext.Current.Session["Taxalert_Tulsa"] = "Yes"; driver.Quit(); // return "'" + taxalert + "'"; return("Data Inserted Successfully"); } } catch { } try { Tax_Type = secondString; Tax_Amount = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td/table/tbody/tr[5]/td[2]/span")).Text; amck.Instamount1 = Tax_Amount; Tax_Balance = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td/table/tbody/tr[9]/td[2]/span")).Text; Interest = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td/table/tbody/tr[10]/td[2]/span")).Text; Costs = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td/table/tbody/tr[11]/td[2]")).Text; Total_Due = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td/table/tbody/tr[12]/td[2]/span")).Text; string ta = driver.FindElement(By.XPath("/html/body/form/div[3]/div[1]/table/tbody/tr[2]/td")).Text; string ta1 = driver.FindElement(By.XPath("/html/body/form/div[3]/div[1]/table/tbody/tr[3]/td")).Text; string ta2 = driver.FindElement(By.XPath("/html/body/form/div[3]/div[1]/table/tbody/tr[4]")).Text; Taxing_Authority = ta + ta1 + ta2; } catch { } int k = 0; string totalpaid1 = "", totalpaid2 = ""; try { IWebElement TBtax = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[4]/tbody/tr[1]/td/table[2]/tbody")); IList <IWebElement> TRtax = TBtax.FindElements(By.TagName("tr")); IList <IWebElement> TDtax; foreach (IWebElement row1 in TRtax) { if (!row1.Text.Contains("Seq#")) { TDtax = row1.FindElements(By.TagName("td")); Paid_Date = TDtax[1].Text; Tax_Amount_Paid = TDtax[2].Text; Interest_Paid = TDtax[3].Text; Costs_Paid = TDtax[4].Text; Total_Paid = TDtax[5].Text; amck.Instamountpaid1 = Total_Paid; Reference_Number = TDtax[6].Text; Paid_By = TDtax[7].Text; string tax_auth = t_Owner_Name + "~" + T_Property_Address + "~" + Tax_Year + "~" + Tax_Type + "~" + Tax_Amount + "~" + Tax_Balance + "~" + Interest + "~" + Costs + "~" + Total_Due + "~" + Taxing_Authority + "~" + Paid_Date + "~" + Tax_Amount_Paid + "~" + Interest_Paid + "~" + Costs_Paid + "~" + Total_Paid + "~" + Reference_Number + "~" + Paid_By; gc.insert_date(orderNumber, Parcel_ID, 116, tax_auth, 1, DateTime.Now); if (k == 0) { totalpaid1 = Total_Paid; } if (k == 1) { totalpaid2 = Total_Paid; if (totalpaid1 == totalpaid2) { amck.IsDelinquent = "Yes"; } } k++; } } } catch { } string Deli_invoice = ""; if (a == 2) { try { Deli_invoice = driver.FindElement(By.XPath("//*[@id='form1']/div[3]/div[2]/table/tbody/tr/td/table[3]/tbody/tr[2]/td/table/tbody/tr[9]/td[3]/span")).Text; } catch { } if (Deli_invoice.Contains("INVOICE-NO")) { amck.IsDelinquent = "Yes"; } else { if (Tax_Amount == Total_Paid) { amck.InstPaidDue1 = "Paid"; amck.IsDelinquent = "No"; } else if (Total_Due != "$0.00" && Total_Due == Tax_Amount) { amck.InstPaidDue1 = "Due"; amck.IsDelinquent = "No"; } else { amck.IsDelinquent = "Yes"; } } 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); } } driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/table/tbody/tr/td/table[2]/tbody/tr[1]/td/table[1]/tbody/tr/td[3]/span/a[1]")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel_No, "Tax History details", driver, "OK", "Tulsa"); //Tax History string Tax_Roll_Number = "-", Tax_Amount_T = "-", Tax_Balance_Due = "-", Interest_Due = "-", Cost = "-", Tax_Total_Due = "-"; IWebElement TBtax_history = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td/table[2]/tbody")); IList <IWebElement> TRtax_history = TBtax_history.FindElements(By.TagName("tr")); IList <IWebElement> TDtax_history; foreach (IWebElement row1 in TRtax_history) { if (!row1.Text.Contains("Tax Roll Number")) { TDtax_history = row1.FindElements(By.TagName("td")); Tax_Roll_Number = TDtax_history[0].Text; Tax_Amount_T = TDtax_history[1].Text; Tax_Balance_Due = TDtax_history[2].Text; Interest_Due = TDtax_history[3].Text; Cost = TDtax_history[4].Text; Tax_Total_Due = TDtax_history[5].Text; string tax_history = Tax_Year + "~" + Tax_Roll_Number + "~" + Tax_Amount_T + "~" + Tax_Balance_Due + "~" + Interest_Due + "~" + Cost + "~" + Tax_Total_Due; gc.insert_date(orderNumber, Parcel_ID, 117, tax_history, 1, DateTime.Now); } } driver.FindElement(By.XPath("//*[@id='HyperLink2']")).SendKeys(Keys.Enter); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='HyperLink2']")).SendKeys(Keys.Enter); Thread.Sleep(3000); } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OK", "Tulsa", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OK", "Tulsa"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Harrison(string houseno, string sname, string sttype, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel, string account) { string NAME = "", PROPERTY = "", ADDRESS = "", PARCEL = ""; string Parcel_No = "-", Owner_Name = "-", Property_Address = "-", Legal_Description = "-", Exempt_Code = "-", Homestead_Code = "-", PPIN = "-", Section = "-", Township = "-", Range = "-"; string Tax_Year = "-", Assessed_Land_Value = "-", Assessed_Improvement_Value = "-", Total_Value = "-", Assessed = "-"; List <string> Li = new List <string>(); IWebElement link; string mp = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string addr = sname + " " + sttype; string address = houseno + addr; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (HttpContext.Current.Session["MobileTax_harrison"] == null) { if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "MS", "Harrison"); 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_HarrisonMS"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/plinkquerym.html"); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[2]/td[2]/input[1]")).SendKeys(houseno); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[2]/td[2]/input[2]")).SendKeys(addr); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "MS", "Harrison"); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "MS", "Harrison"); Thread.Sleep(3000); IWebElement tb = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR = tb.FindElements(By.TagName("tr")); string Address = houseno + " " + addr; int a = 1; bool value = false; foreach (IWebElement row1 in TR) { if ((row1.Text.Contains(Address.ToUpper().Trim())) && (!row1.Text.Contains("PROPERTY"))) { mp = "/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a"; value = true; //multiparcel NAME = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[3]/font")).Text; ADDRESS = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a/font")).Text; PARCEL = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[2]/font")).Text; Li.Add(NAME); string multi = NAME + "~" + ADDRESS; gc.insert_date(orderNumber, PARCEL, 87, multi, 1, DateTime.Now); //break; } a++; } //Multi parcel if (Li.Count > 1) { HttpContext.Current.Session["multiparcel_harrison"] = "Yes"; gc.CreatePdf_WOP(orderNumber, "Address MultiParcel", driver, "MS", "Harrison"); driver.Quit(); return("MultiParcel"); } else if (mp != "") { link = driver.FindElement(By.XPath(mp)); link.SendKeys(Keys.Enter); } if (!value) { int b = 1; driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/a[1]")).SendKeys(Keys.Enter); IWebElement tb1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR1 = tb1.FindElements(By.TagName("tr")); foreach (IWebElement row2 in TR1) { if ((row2.Text.Contains(Address.ToUpper().Trim())) && (!row2.Text.Contains("PROPERTY"))) { driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + b + "]/td[1]/a")).SendKeys(Keys.Enter); break; } b++; } } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/plinkquerym.html"); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "MS", "Harrison"); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", "").Trim(); } if (parcelNumber.Contains(".")) { parcelNumber = parcelNumber.Replace(".", "").Trim(); } string first = parcelNumber.Substring(0, 5); string second = parcelNumber.Substring(5, 2); string third = parcelNumber.Substring(7, 3); string fourth = parcelNumber.Substring(10, 3); parcelNumber = first + "-" + second + "-" + third + "." + fourth; driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[3]/td[2]/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "MS", "Harrison"); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); IWebElement tb = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR = tb.FindElements(By.TagName("tr")); int a = 1; foreach (IWebElement row1 in TR) { if ((row1.Text.Contains(parcelNumber.Trim())) && (!row1.Text.Contains("PROPERTY"))) { driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a")).SendKeys(Keys.Enter); break; } a++; } } else if (searchType == "ownername") { HttpContext.Current.Session["multiparcel_harrison"] = "Yes"; driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/plinkquerym.html"); gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "MS", "Harrison"); string[] on = ownername.Split(' '); string first = on[0]; string second = on[1]; ownername = first + " " + second; driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[1]/td[2]/input[4]")).SendKeys(ownername); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Owner Search result", driver, "MS", "Harrison"); Thread.Sleep(3000); IWebElement tb = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR = tb.FindElements(By.TagName("tr")); int a = 1; foreach (IWebElement row1 in TR) { if ((row1.Text.Contains(ownername.ToUpper().Trim())) && (!row1.Text.Contains("PROPERTY"))) { NAME = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a/font")).Text; PROPERTY = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[2]/font")).Text; ADDRESS = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[3]/font")).Text; PARCEL = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[4]/font")).Text; ADDRESS = PROPERTY + ADDRESS; string multi = NAME + "~" + ADDRESS; gc.insert_date(orderNumber, PARCEL, 87, multi, 1, DateTime.Now); } a++; } driver.Quit(); return("MultiParcel"); } Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Property and Tax details result", driver, "MS", "Harrison"); //Property Details Parcel_No = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[6]/td[2]/font")).Text.Trim(); Owner_Name = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[1]/td[2]/font")).Text.Trim(); Property_Address = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[7]/td[2]/font")).Text.Trim(); Legal_Description = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[1]/td[4]/font")).Text.Trim(); string ab = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[2]/td[4]/font")).Text.Trim(); string ac = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[3]/td[4]/font")).Text.Trim(); string ad = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[4]/td[4]/font")).Text.Trim(); Legal_Description = Legal_Description + ab + ac + ad.Trim(); Exempt_Code = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[2]/td[2]/font")).Text.Trim(); Homestead_Code = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[3]/td[2]/font")).Text.Trim(); PPIN = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[4]/td[2]/font")).Text.Trim(); Section = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[5]/td[2]/font")).Text.Trim(); Township = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[6]/td[2]/font")).Text.Trim(); Range = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[7]/td[2]/font")).Text.Trim(); string prop = Owner_Name + "~" + Property_Address + "~" + Legal_Description + "~" + Exempt_Code + "~" + Homestead_Code + "~" + PPIN + "~" + Section + "~" + Township + "~" + Range; gc.insert_date(orderNumber, Parcel_No, 88, prop, 1, DateTime.Now); //Assessment details Tax_Year = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[1]/tbody/tr[3]/td[2]/font[1]/b")).Text; Tax_Year = WebDriverTest.After(Tax_Year, "Year "); Assessed_Land_Value = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[2]/td[4]/font")).Text; Assessed_Improvement_Value = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[3]/td[4]/font")).Text; Total_Value = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[4]/td[4]/font")).Text; Assessed = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[5]/td[4]/font")).Text; string assessment = Tax_Year + "~" + Assessed_Land_Value + "~" + Assessed_Improvement_Value + "~" + Total_Value + "~" + Assessed; gc.insert_date(orderNumber, Parcel_No, 89, assessment, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax details string YEAR_2017 = "-", TAX_DUE = "-", PAID = "-", BALANCE = "-", Mail_Payments_To = "-", LAST_PAYMENT_DATE = "-"; try { Mail_Payments_To = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[6]/td[4]/font/b/p")).Text; } catch { } try { LAST_PAYMENT_DATE = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[7]/td[2]/font")).Text; } catch { } try { if (Mail_Payments_To.Trim() == "") { Mail_Payments_To = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[7]/td[4]/font/b/p")).Text; } } catch { } try { if (LAST_PAYMENT_DATE.Trim() == "") { LAST_PAYMENT_DATE = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[8]/td[2]/font")).Text; } } catch { } if (Mail_Payments_To.Contains("\r\n")) { Mail_Payments_To = Mail_Payments_To.Replace("\r\n", ""); } IWebElement TBTax = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody")); IList <IWebElement> TRTax = TBTax.FindElements(By.TagName("tr")); IList <IWebElement> TDTax; // int count = TRTax.Count - 2; // int i = 1; foreach (IWebElement row1 in TRTax) { if (!row1.Text.Contains("YEAR") && !row1.Text.Contains("Mail") && !row1.Text.Contains("LAST PAYMENT DATE") && !row1.Text.Contains("DELINQUENT PRIOR")) { TDTax = row1.FindElements(By.TagName("td")); YEAR_2017 = TDTax[0].Text; TAX_DUE = TDTax[1].Text; PAID = TDTax[2].Text; BALANCE = TDTax[3].Text; string tax = Owner_Name + "~" + Tax_Year + "~" + YEAR_2017 + "~" + TAX_DUE + "~" + PAID + "~" + BALANCE + "~" + Mail_Payments_To + "~" + LAST_PAYMENT_DATE; gc.insert_date(orderNumber, Parcel_No, 90, tax, 1, DateTime.Now); } // i++; } //tax history details string Year = "-", Owner = "-", Total_Tax = "=", PaidYN = "-", Last_Payment_Date = "-"; IWebElement TBTax_History = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table")); IList <IWebElement> TRTax_History = TBTax_History.FindElements(By.TagName("tr")); IList <IWebElement> TDTax_History; foreach (IWebElement row1 in TRTax_History) { if (row1.Text.Contains("LAST PAYMENT DATE")) { TDTax_History = row1.FindElements(By.TagName("td")); Year = TDTax_History[0].Text; Owner = TDTax_History[1].Text; Total_Tax = TDTax_History[2].Text; PaidYN = TDTax_History[3].Text; Last_Payment_Date = WebDriverTest.After(PaidYN, "DATE "); PaidYN = WebDriverTest.Before(PaidYN, "LAST"); if (PaidYN.Contains("\r\n")) { PaidYN = PaidYN.Replace("\r\n", "").Trim(); } string tax_history = Year + "~" + Owner + "~" + Total_Tax + "~" + PaidYN + "~" + Last_Payment_Date; gc.insert_date(orderNumber, Parcel_No, 91, tax_history, 1, DateTime.Now); } } } //Mobile tax string ACCOUNT = "", Mobile_tax_Onwer_NAME = "", MAKE = "", strTaxesFees = ""; string Account = "-", Receipt = "-", Due_Date = "-", Landroll_PPIN = "-", Court_Code = "-", Court_Lot = "-", Trailer_Make = "-", Number_of_Stories = "-", Number_of_Owners = "-", Width = "-", Length = "-", Model_Year = "-", Color = "-", MobileTax_Owner_Name = "-", MobileTax_Address = "-"; string Millage_Tax_Year = "-", Value_Table_Year = "-", Tax_District1 = "-", Tax_District2 = "-", Tax_District3 = "-", Judicial_District = "-", Full_Value = "-", MobileTax_Total_Value = "-", Prorated_Value = "-", County_Tax_Rate = "-", County_Tax_Due = "-", City_Tax_Rate = "-", City_Tax_Due = "-", School_Tax_Due = "-", School_Tax_Rate = "-", Total_Due = "-", TAXES_PAID = "-", Estimated_Balance_Due = "-"; driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/mhinquirym2.html"); gc.CreatePdf_WOP(orderNumber, "Mobile Tax", driver, "MS", "Harrison"); if (Parcel_No == "-") { driver.FindElement(By.XPath("//*[@id='HTMPARCEL']")).SendKeys(parcelNumber); } else { driver.FindElement(By.XPath("//*[@id='HTMPARCEL']")).SendKeys(Parcel_No); } driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/div/table/tbody/tr[9]/td[2]/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Mobile Homes Result", driver, "MS", "Harrison"); IWebElement TB_mobiletax = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TRmobiletax = TB_mobiletax.FindElements(By.TagName("tr")); IList <IWebElement> TDmobiletax; if (account == "") { foreach (IWebElement row2 in TRmobiletax) { if (!row2.Text.Contains("ACCOUNT") && row2.Text.Contains(Parcel_No)) { TDmobiletax = row2.FindElements(By.TagName("td")); ACCOUNT = TDmobiletax[0].Text; Mobile_tax_Onwer_NAME = TDmobiletax[1].Text; MAKE = TDmobiletax[2].Text; HttpContext.Current.Session["MobileTax_harrison"] = "Yes"; string mb = ACCOUNT + "~" + Mobile_tax_Onwer_NAME + "~" + MAKE; gc.insert_date(orderNumber, Parcel_No, 92, mb, 1, DateTime.Now); try { string deli = TDmobiletax[7].Text; if (deli.Contains("Delinquent")) { HttpContext.Current.Session["deliquent_harrison"] = "Yes"; } } catch { } } } } else { int d = 1; string mobile_Prop = ""; string mobile_tax = ""; foreach (IWebElement row2 in TRmobiletax) { if (row2.Text.Contains(account)) { IWebElement element = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + d + "]/td[1]/a/font")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", element); gc.CreatePdf_WOP(orderNumber, "Mobile Homes Tax and property Result", driver, "MS", "Harrison"); Thread.Sleep(3000); //Mobile tax property details IWebElement TB_mobile = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TRmobile = TB_mobile.FindElements(By.TagName("tr")); IList <IWebElement> TDmobile; foreach (IWebElement row3 in TRmobile) { TDmobile = row3.FindElements(By.TagName("td")); if (row3.Text.Contains("Account")) { Account = TDmobile[2].Text.ToString(); Account = WebDriverTest.Before(Account, " Year"); } if (row3.Text.Contains("Receipt")) { Receipt = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Due Date")) { Due_Date = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Landroll PPIN")) { Landroll_PPIN = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Court Code")) { Court_Code = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Court Lot")) { Court_Lot = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Trailer Make")) { Trailer_Make = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Number of Stories")) { Number_of_Stories = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Number of Owners")) { Number_of_Owners = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Width")) { Width = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Length")) { Length = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Model Year")) { Model_Year = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Color")) { Color = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Name")) { MobileTax_Owner_Name = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Address 1")) { MobileTax_Address = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Zip")) { string city1 = TDmobile[2].Text.ToString(); MobileTax_Address = MobileTax_Address + city1; } mobile_Prop = Account + "~" + Receipt + "~" + Due_Date + "~" + Landroll_PPIN + "~" + Court_Code + "~" + Court_Lot + "~" + Trailer_Make + "~" + Number_of_Stories + "~" + Number_of_Owners + "~" + Width + "~" + Length + "~" + Model_Year + "~" + Color + "~" + MobileTax_Owner_Name + "~" + MobileTax_Address; //Mobile Home Current Tax & Fees Details if (row3.Text.Contains("TAXES & FEES")) { strTaxesFees = "TAXES & FEES"; } if (row3.Text.Contains("Millage")) { Millage_Tax_Year = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Value Table Year")) { Value_Table_Year = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Tax District 1")) { Tax_District1 = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Tax District 2")) { Tax_District2 = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Tax District 3")) { Tax_District3 = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Judicial District")) { Judicial_District = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Full Value")) { Full_Value = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Total Value")) { MobileTax_Total_Value = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Prorated Value")) { Prorated_Value = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("County")) { County_Tax_Rate = TDmobile[2].Text.ToString(); County_Tax_Due = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("City") && strTaxesFees == "TAXES & FEES") { City_Tax_Rate = TDmobile[2].Text.ToString(); City_Tax_Due = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("School")) { School_Tax_Due = TDmobile[2].Text.ToString(); School_Tax_Rate = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("Total Due")) { Total_Due = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("Taxes Paid")) { TAXES_PAID = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("Estimated Balance Due")) { Estimated_Balance_Due = TDmobile[3].Text.ToString(); } mobile_tax = Millage_Tax_Year + "~" + Value_Table_Year + "~" + Tax_District1 + "~" + Tax_District2 + "~" + Tax_District3 + "~" + Judicial_District + "~" + Full_Value + "~" + MobileTax_Total_Value + "~" + Prorated_Value + "~" + County_Tax_Rate + "~" + County_Tax_Due + "~" + City_Tax_Rate + "~" + City_Tax_Due + "~" + School_Tax_Due + "~" + School_Tax_Rate + "~" + Total_Due + "~" + TAXES_PAID + "~" + Estimated_Balance_Due; } gc.insert_date(orderNumber, parcelNumber, 94, mobile_Prop, 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 95, mobile_tax, 1, DateTime.Now); break; } d++; } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MS", "Harrison", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MS", "Harrison"); return("Data Inserted Successfully"); } catch (NoSuchElementException ex1) { driver.Quit(); throw ex1; } } }
public string FTP_NCGuilford(string houseno, string sname, string sttype, string unitno, 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 = ""; //IWebElement iframeElement1; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://taxcama.guilfordcountync.gov/camapwa/SearchProperty.aspx"); if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='panelSummary']/li[2]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetNumberTextBox")).SendKeys(houseno); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetNameTextBox")).SendKeys(sname.Trim()); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "NC", "Guilford"); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_AddressButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "NC", "Guilford"); //try { // string mul = driver.FindElement(By.Id("ctl00_SearchPageHeader_SearchResultDetailsLabel")).Text; // mul = WebDriverTest.Before(mul, " Records"); // if ((mul != "1") && (mul != "0")) // { // //multi parcel // try // { // tbmulti3 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder2_ParcelStreetsGridView']/tbody")); // } // catch { } // try // { // tbmulti3 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder2_streetDictionaryResultsGridView']/tbody")); // } // catch { } // IList<IWebElement> TRmulti3 = tbmulti3.FindElements(By.TagName("tr")); // int maxCheck = 0; // IList<IWebElement> TDmulti3; // foreach (IWebElement row in TRmulti3) // { // if (maxCheck <= 25) // { // TDmulti3 = row.FindElements(By.TagName("td")); // if (TDmulti3.Count != 0) // {//Parcel Number~Address~Owner Name // string multi1 = TDmulti3[1].Text + " " + TDmulti3[4].Text + " " + TDmulti3[5].Text + "~" + TDmulti3[8].Text; // gc.insert_date(orderNumber, TDmulti3[0].Text, 597, multi1, 1, DateTime.Now); // } // maxCheck++; // } // } // if (TRmulti3.Count > 25) // { // HttpContext.Current.Session["multiParcel_Guilford_Multicount"] = "Maximum"; // } // else // { // HttpContext.Current.Session["multiparcel_Guilford"] = "Yes"; // } // driver.Quit(); // return "MultiParcel"; // } // else // { // driver.FindElement(By.XPath(" //*[@id='ctl00_ContentPlaceHolder2_ParcelStreetsGridView']/tbody/tr[2]/td[1]/a")).Click(); // Thread.Sleep(2000); // try // { // driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder2_streetDictionaryResultsGridView']/tbody")).Click(); // } // catch { } // } //} //catch { } // CreatePdf_WOP(orderNumber, "Multiparcel Address Search"); try { 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", "Guilford"); 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 == houseno || houseno == "0") { gc.insert_date(orderNumber, TDmulti2[0].Text, 597, multi1, 1, DateTime.Now); } // Owner~address } } } driver.Navigate().Back(); Thread.Sleep(1000); } if (multiparcel.Count > 1) { HttpContext.Current.Session["multiparcel_Guilford"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { foreach (string real in multiparcel) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); } } } else { driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); } } catch { } } if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + sttype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "NC", "Guilford"); 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_NCGuilford"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { Thread.Sleep(3000); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.FindElement(By.XPath("//*[@id='panelSummary']/li[3]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_REIDTextBox")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "NC", "Guilford"); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_ReidButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); } if (searchType == "block") { driver.FindElement(By.Id("__tab_ctl00_ContentPlaceHolder1_Tabs_PinTabPanel")).Click(); Thread.Sleep(2000); string unitNum = unitno.Replace(" ", ""); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_Tabs_PinTabPanel_PINNumberTextBox")).SendKeys(sttype); gc.CreatePdf_WOP(orderNumber, "block Search", driver, "NC", "Guilford"); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_Tabs_PinTabPanel_PinButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); } if (searchType == "ownername") { driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_OwnerTextBox")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "NC", "Guilford"); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_OwnerButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { string mul = driver.FindElement(By.Id("//*[@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"); if ((mul != "1") && (mul != "0")) { //multi parcel //*[@id="ctl00_ContentPlaceHolder2_OwnerSearchResultsGridView"]/tbody IWebElement tbmulti4 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder2_OwnerSearchResultsGridView']/tbody")); IList <IWebElement> TRmulti4 = tbmulti4.FindElements(By.TagName("tr")); int maxCheck = 0; IList <IWebElement> TDmulti4; foreach (IWebElement row in TRmulti4) { if (maxCheck <= 25) { TDmulti4 = row.FindElements(By.TagName("td")); if (TDmulti4.Count != 0) { string multi1 = TDmulti4[1].Text + "~" + TDmulti4[2].Text; gc.insert_date(orderNumber, TDmulti4[0].Text, 597, multi1, 1, DateTime.Now); } maxCheck++; } } if (TRmulti4.Count > 25) { HttpContext.Current.Session["multiParcel_Guilford_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Guilford"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_OwnerSearchResultsGridView']/tbody/tr[2]/td[3]/a")).Click(); } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table")); if (INodata.Text.Contains("0 Records Matched Search Criteria")) { HttpContext.Current.Session["Nodata_NCGuilford"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property_details //PIN #~Location Address~Property Description~Property Owner~City~Land Class~Acreage~Year Built string parcel_no = "", pin = "", location_address = "", PropertyDescription = "", PropertyOwner = ""; string city = "", Land_class = "", Acreage = "", year_built = ""; string reid = driver.FindElement(By.Id("ctl00_PageHeader1_ReidLabelInfo")).Text.Trim(); parcel_no = driver.FindElement(By.Id("ctl00_PageHeader1_ReidLabelInfo")).Text.Trim(); gc.CreatePdf(orderNumber, parcel_no, "property details", driver, "NC", "Guilford"); pin = driver.FindElement(By.Id("ctl00_PageHeader1_PinLabelInfo")).Text.Trim(); location_address = driver.FindElement(By.Id("ctl00_PageHeader1_LocationAddressLabelInfo")).Text.Trim(); PropertyDescription = driver.FindElement(By.Id("ctl00_PageHeader1_PropertyDescriptionLabelInfo")).Text.Trim(); PropertyOwner = driver.FindElement(By.Id("ctl00_PageHeader1_DetailsView1")).Text.Trim(); string bulkpropertytext = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_DetailsView5']/tbody")).Text; city = gc.Between(bulkpropertytext, "City", "Fire District").Trim(); Land_class = gc.Between(bulkpropertytext, "Land Class", "History REID 1").Trim(); Acreage = gc.Between(bulkpropertytext, "Acreage", "Permit Date").Trim(); driver.FindElement(By.Id("ctl00_PageHeader1_BuildingsHyperLink")).Click(); gc.CreatePdf(orderNumber, parcel_no, "Building details", driver, "NC", "Guilford"); try { year_built = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_DetailsView4_Label1")).Text.Trim(); //year_built = gc.Between(year_built, "", "").Trim(); } catch { } string Land_Value = "", Building_Value = "", Outbuilding_Value = "", Appraised_Value = "", OtherExemptions = "", UseValueDeferred = "", Historic_Value_Deferred = "", Total_Deferred_Value = "", Total_Assessed_Value = ""; string bulkassessmenttext = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_table8']/tbody")).Text;; 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, parcel_no, "Assessment Details", driver, "NC", "Guilford"); 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 = '" + 599 + "'"); gc.insert_date(orderNumber, parcel_no, 599, assessvalue, 1, DateTime.Now); // Total Appraised Land Value~Total Appraised Building Value~Total Appraised Outbuilding Value~Total Appraised Value~Other Exemptions~Use Value Deferred~Historic Value Deferred~Total Deferred Value~Total Assessed Value //Land_Value = gc.Between(bulkassessmenttext, "TotalAppraisedLandValue", "TotalAppraisedBuildingValue").Trim(); //Building_Value = gc.Between(bulkassessmenttext, "TotalAppraisedBuildingValue", "TotalAppraisedOutbuildingValue").Trim(); //Outbuilding_Value = gc.Between(bulkassessmenttext, "TotalAppraisedOutbuildingValue", "TotalAppraisedValue").Trim(); //Appraised_Value = gc.Between(bulkassessmenttext, "TotalAppraisedValue", "OtherExemptions").Trim(); //OtherExemptions = gc.Between(bulkassessmenttext, "OtherExemptions", "UseValueDeferred").Trim(); //UseValueDeferred = gc.Between(bulkassessmenttext, "UseValueDeferred", "HistoricValueDeferred").Trim(); //Historic_Value_Deferred = gc.Between(bulkassessmenttext, "HistoricValueDeferred", "TotalDeferredValue").Trim(); //Total_Deferred_Value = gc.Between(bulkassessmenttext, "TotalDeferredValue", "TotalAssessedValue").Trim(); //Total_Assessed_Value = GlobalClass.After(bulkassessmenttext, "TotalAssessedValue").Trim(); string property_details = pin + "~" + location_address + "~" + PropertyDescription + "~" + PropertyOwner + "~" + city + "~" + Land_class + "~" + Acreage + "~" + year_built; gc.insert_date(orderNumber, parcel_no, 598, property_details, 1, DateTime.Now); //string assessment_details = Land_Value + "~" + Building_Value + "~" + Outbuilding_Value + "~" + Appraised_Value + "~" + OtherExemptions + "~" + UseValueDeferred + "~" + Historic_Value_Deferred + "~" + Total_Deferred_Value + "~" + Total_Assessed_Value; //gc.insert_date(orderNumber, parcel_no, 599, assessment_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details driver.Navigate().GoToUrl("http://taxweb.guilfordcountync.gov/publicwebaccess/BillSearchResults.aspx?ParcelNum=" + reid); //IWebElement Itaxstmt = driver.FindElement(By.XPath("//*[@id='ctl00_PageHeader1_TaxBillHyperLink']")); //string stmt1 = Itaxstmt.GetAttribute("href"); //driver.Navigate().GoToUrl(stmt1); //Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_no, "Tax bill table", driver, "NC", "Guilford"); //Transaction payment Details Table: //Bill#~Old Bill #~Parcel #~Name~Location~Bill Flags~Current Due~Total: IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='G_dgResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; IList <IWebElement> THmulti; int b = 0; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); THmulti = row.FindElements(By.TagName("th")); if (b < 3 && TDmulti.Count != 0) { IWebElement ITaxBillCount = TDmulti[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); b++; } if (TDmulti.Count == 7) { string transpay1 = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text + "~" + TDmulti[5].Text + "~" + TDmulti[6].Text; gc.insert_date(orderNumber, parcel_no, 601, transpay1, 1, DateTime.Now); } if (THmulti.Count != 0) { string transhistory11 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "Total" + "~" + THmulti[7].Text; gc.insert_date(orderNumber, parcel_no, 601, transhistory11, 1, DateTime.Now); } } int k = 1; foreach (string real in strTaxRealestate) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); if (k == 1) { //Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_no, "Tax bill1", driver, "NC", "Guilford"); string owner_name = "", Description = "", Location = "", Parcel = "", Lender = "", RealValue = "", DeferredValue = "", UseValue = "", PersonalValue = "", ExemptValue = "", TotalAssessedValue = ""; //Owner Name~Description~Location~Lender~Real Value~Deferred Value~Use Value~Personal Value~Exempt & Exclusion Value~Total Assessed Value~Bill Status~Bill Flag~Bill Number~Old Bill Number~Old Account Number~Due Date~Interest Begins~Rate~Tax Districts~Descriptions~Amount~Interest Amount~Total Amount Due~Tax Authority owner_name = driver.FindElement(By.Id("txtName")).Text.Trim(); Description = driver.FindElement(By.Id("lblDescr")).Text.Trim(); Location = driver.FindElement(By.Id("lblPropAddr")).Text.Trim(); Parcel = driver.FindElement(By.Id("lblParcel")).Text.Trim(); Lender = driver.FindElement(By.Id("lblLender")).Text.Trim(); RealValue = driver.FindElement(By.Id("lblRealOriginal")).Text.Trim(); DeferredValue = driver.FindElement(By.Id("lblDeferredOriginal")).Text.Trim(); UseValue = driver.FindElement(By.Id("lblUseOriginal")).Text.Trim(); PersonalValue = driver.FindElement(By.Id("lblPersonalOriginal")).Text.Trim(); ExemptValue = driver.FindElement(By.Id("lblExemptOriginal")).Text.Trim(); TotalAssessedValue = driver.FindElement(By.Id("lblTotalValue")).Text.Trim(); string BillStatus = "", BillFlag = "", Bill = "", OldBill = "", OldAccountNum = "", DueDate = "", InterestBegins = "", TotalAmountDue = "", InterestAmt = ""; BillStatus = driver.FindElement(By.Id("lblBillStatus")).Text.Trim(); BillFlag = driver.FindElement(By.Id("lblBillFlag")).Text.Trim(); Bill = driver.FindElement(By.Id("lblBill")).Text.Trim(); OldBill = driver.FindElement(By.Id("lblLegacyBillNum")).Text.Trim(); OldAccountNum = driver.FindElement(By.Id("lblLegacyAccountNum")).Text.Trim(); DueDate = driver.FindElement(By.Id("lblDueDate")).Text.Trim(); InterestBegins = driver.FindElement(By.Id("lblInterest")).Text.Trim(); Thread.Sleep(5000); InterestAmt = driver.FindElement(By.Id("lblInterestAmt")).Text.Trim(); TotalAmountDue = driver.FindElement(By.Id("lblTotalAmountDue")).Text.Trim(); string TaxBill_details = owner_name + "~" + Description + "~" + Location + "~" + Lender + "~" + RealValue + "~" + DeferredValue + "~" + UseValue + "~" + PersonalValue + "~" + ExemptValue + "~" + TotalAssessedValue + "~" + BillStatus + "~" + BillFlag + "~" + Bill + "~" + OldBill + "~" + OldAccountNum + "~" + DueDate + "~" + InterestBegins + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + InterestAmt + "~" + TotalAmountDue + "~" + " 400 West Market St, Greensboro, North Carolina 27401 Phone: (336) 641 - 3363"; gc.insert_date(orderNumber, parcel_no, 600, TaxBill_details, 1, DateTime.Now); IWebElement tbmulti2 = driver.FindElement(By.XPath("//*[@id='dgShowResultRate']/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti2; foreach (IWebElement row in TRmulti2) { TDmulti2 = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Rate")) { if (TDmulti2.Count == 4) { string transbill = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TDmulti2[0].Text + "~" + TDmulti2[1].Text + "~" + TDmulti2[2].Text + "~" + TDmulti2[3].Text + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcel_no, 600, transbill, 1, DateTime.Now); } } } //Transaction History Details Table: //Date~Type~Paid By~Trans #~Amount~Current Due string CurrentDue = driver.FindElement(By.Id("lblCurrentDue")).Text.Trim(); IWebElement tbmulti1 = driver.FindElement(By.XPath("//*[@id='dgShowResultHistory']/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 == 6) { string transhistory = TDmulti1[0].Text + "~" + TDmulti1[1].Text + "~" + TDmulti1[2].Text + "~" + TDmulti1[3].Text + "~" + TDmulti1[4].Text + "~" + ""; gc.insert_date(orderNumber, parcel_no, 602, transhistory, 1, DateTime.Now); } } string transhistory1 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + CurrentDue; gc.insert_date(orderNumber, parcel_no, 602, transhistory1, 1, DateTime.Now); } if (k == 2) { gc.CreatePdf(orderNumber, parcel_no, "Tax bill2", driver, "NC", "Guilford"); } if (k == 3) { gc.CreatePdf(orderNumber, parcel_no, "Tax bill3", driver, "NC", "Guilford"); } k++; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NC", "Guilford", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); GlobalClass.titleparcel = ""; gc.mergpdf(orderNumber, "NC", "Guilford"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }