public string FTP_CASantaBarbara(string houseno, string sname, string sttype, string parcelNumber, string unitnumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new PhantomJSDriver(); // driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, "", "CA", "Santa Barbara"); if (HttpContext.Current.Session["titleparcel"] != null && ownername.Trim() != "") { string[] strowner = ownername.Split(' '); gc.TitleFlexSearch(orderNumber, parcelNumber, strowner[0], "", "CA", "Santa Barbara"); } 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_CASantaBarbara"] = "Zero"; driver.Quit(); return("No Data Found"); } searchType = "parcel"; parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.sbcvote.com/assessor/search.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("HouseNumberTextBox")).SendKeys(houseno); driver.FindElement(By.Id("StreetNameTextBox")).SendKeys(sname); driver.FindElement(By.Id("UnitNumberTextBox")).SendKeys(unitnumber); //Screen-Shot gc.CreatePdf_WOP(orderNumber, "AddressSearch", driver, "CA", "Santa Barbara"); driver.FindElement(By.Id("SearchButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiParcelTable = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table")); IList <IWebElement> MultiParcelTR = MultiParcelTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiParcelTD; foreach (IWebElement multi in MultiParcelTR) { MultiParcelTD = multi.FindElements(By.TagName("td")); if (multi.Text.Contains("Assessor Parcel Number (APN)")) { strAssess = "MultiParcel"; } if (MultiParcelTD.Count != 0 && strAssess.Trim() == "MultiParcel" && !multi.Text.Contains("Assessor Parcel Number (APN)") && MultiParcelTD.Count != 1 && MultiParcelTD[1].Text != "") { HttpContext.Current.Session["multiParcel_CASantaBarbara"] = "Yes"; parcelNumber = MultiParcelTD[1].Text; Situs_Address = MultiParcelTD[2].Text; MultiParcelData = Situs_Address; gc.insert_date(orderNumber, parcelNumber, 220, MultiParcelData, 1, DateTime.Now); } } if (strAssess == "MultiParcel") { driver.Quit(); return("MultiParcel"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.sbcvote.com/assessor/search.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("APNTextBox")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "CA", "Santa Barbara"); driver.FindElement(By.Id("SearchButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); } try { IWebElement Inodata = driver.FindElement(By.Id("ErrorLabel")); if (Inodata.Text.Contains("There were no properties matching your query")) { HttpContext.Current.Session["Nodata_CASantaBarbara"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } //Scrapped Data //Property Deatails string propdet = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody")).Text.Replace("\r\n", " "); outparcelno = gc.Between(propdet, "Parcel Number:", "Address:").Trim().Replace("Value Notice", ""); outparcelnowoh = outparcelno.Replace("-", "").Trim(); Street_Address = gc.Between(propdet, "Address:", "Transfer Date:").Trim().Replace("Value Notice", ""); TRA = gc.Between(propdet, "TRA:", "Document").Trim(); Transfer_TaxAmount = GlobalClass.After(propdet, "Transfer Tax Amount:").Trim(); string propdet1 = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[3]/td/table")).Text.Replace("\r\n", " "); Use_Description = gc.Between(propdet1, "Use Description:", "Jurisdiction:").Trim(); Jurisdiction = gc.Between(propdet1, "Jurisdiction:", "Acreage:").Trim(); Acreage = gc.Between(propdet1, "Acreage:", "Square Feet:").Trim(); Year_Built = gc.Between(propdet1, "Year Built:", "Bedrooms:").Trim(); gc.CreatePdf(orderNumber, outparcelnowoh, "Assement", driver, "CA", "Santa Barbara"); property_Address = Street_Address + "~" + TRA + "~" + Transfer_TaxAmount + "~" + Use_Description + "~" + Jurisdiction + "~" + Acreage + "~" + Year_Built; gc.insert_date(orderNumber, outparcelno, 221, property_Address, 1, DateTime.Now); //Assessment Details Land_MineralRights = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[6]/td/table/tbody/tr[2]/td[3]")).Text; Improvements = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[6]/td/table/tbody/tr[4]/td[3]")).Text; Personal_Property = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[6]/td/table/tbody/tr[6]/td[3]")).Text; Home_OwnerExemption = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[6]/td/table/tbody/tr[8]/td[3]")).Text; Other_Exemption = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[6]/td/table/tbody/tr[10]/td[3]")).Text; Net_AssessedValue = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[6]/td/table/tbody/tr[12]/td[3]")).Text; assement_details = Land_MineralRights + "~" + Improvements + "~" + Personal_Property + "~" + Home_OwnerExemption + "~" + Other_Exemption + "~" + Net_AssessedValue; gc.insert_date(orderNumber, outparcelno, 222, assement_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Download the pdf for Tax Details String Parent_Window = driver.CurrentWindowHandle; string cururl = driver.Url; //Value_Notice IWebElement ValueNotice = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td[2]/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table/tbody/tr[2]/td[3]/table/tbody/tr/td[2]/span/strong/a")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", ValueNotice); Thread.Sleep(2000); System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); gc.CreatePdf(orderNumber, outparcelnowoh, "Value_Tax.pdf", driver, "CA", "Santa Barbara"); // driver.SwitchTo().Window(Parent_Window); driver.Navigate().GoToUrl(cururl); Thread.Sleep(2000); //Jurisdiction Details try { taxUrl = driver.FindElement(By.XPath("//*[@id='lblAuditorLink']/a")).GetAttribute("href").ToString(); driver.Navigate().GoToUrl(taxUrl); IWebElement SelectOption = driver.FindElement(By.Id("Criteria#001")); IList <IWebElement> Select = SelectOption.FindElements(By.TagName("option")); List <string> option = new List <string>(); string opt = ""; int Check = 0; foreach (IWebElement Op in Select) { if (Check == 1) { //option.Add(Op.Text); opt = Op.Text; break; } Check++; } //foreach (string item in option) //{ var SelectAddress = driver.FindElement(By.Id("Criteria#001")); var SelectAddressTax = new SelectElement(SelectAddress); SelectAddressTax.SelectByText(opt); driver.FindElement(By.Name("Submit")).Click(); Thread.Sleep(2000); IWebElement asstable = driver.FindElement(By.XPath("/html/body/table[5]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td[2]/h1/table[1]/tbody")); IList <IWebElement> asstr = asstable.FindElements(By.TagName("tr")); IList <IWebElement> asstd; foreach (IWebElement tax in asstr) { asstd = tax.FindElements(By.TagName("td")); if (asstd.Count != 0 && asstd.Count == 5 && tax.Text.Trim() != "" && !tax.Text.Contains("Parcel Number") || (tax.Text.Contains("Basic") || tax.Text.Contains("Total") || tax.Text.Contains("Fixed") || tax.Text.Contains("Situs"))) { Taxrate_Area = asstd[2].Text.Trim(); NetAssessed_Value = asstd[4].Text.Trim(); } } gc.CreatePdf(orderNumber, outparcelnowoh, "Property_Tax.pdf", driver, "CA", "Santa Barbara"); NoteTax = Taxrate_Area + "~" + NetAssessed_Value + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 239, NoteTax, 1, DateTime.Now); //} IWebElement TBTax = driver.FindElement(By.XPath("/html/body/table[5]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td[2]/h1/table[2]/tbody")); IList <IWebElement> TRTax = TBTax.FindElements(By.TagName("tr")); IList <IWebElement> TDTax; foreach (IWebElement tax in TRTax) { TDTax = tax.FindElements(By.TagName("td")); if (TDTax.Count != 0 && TDTax.Count != 1 && tax.Text.Trim() != "" && !tax.Text.Contains("Fund") || (tax.Text.Contains("Basic") || tax.Text.Contains("Total") || tax.Text.Contains("Fixed") || tax.Text.Contains("Bonds") || tax.Text.Contains("9801 - County School Srvc Fund"))) { try { Fund = TDTax[0].Text; Amount = TDTax[2].Text; } catch { Amount = "-"; } proprtyTax = "-" + "~" + "-" + "~" + Fund + "~" + Amount; gc.insert_date(orderNumber, parcelNumber, 239, proprtyTax, 1, DateTime.Now); } } } catch { } driver.Navigate().GoToUrl("https://Mytaxes.sbtaxes.org/WebPages/Assistance_ContactUs.aspx"); Thread.Sleep(2000); gc.CreatePdf(orderNumber, outparcelnowoh, "Current_Authority.pdf", driver, "CA", "Santa Barbara"); Tax_Authority = driver.FindElement(By.XPath("//*[@id='ctl00_PageContentBody_ASPxPageControl1_C0']/div/div[1]/div[2]/div/h4")).Text + " " + driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/div/div[2]/div[1]/div/div[1]/div/div[1]/div[2]/div/ul")).Text; //Tax Information driver.Navigate().GoToUrl("http://www.countyofsb.org/ttcpapg/index.aspx"); Thread.Sleep(2000); try { IWebElement TaxInfo = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div[2]/div/a")); IJavaScriptExecutor TI = driver as IJavaScriptExecutor; TI.ExecuteScript("arguments[0].click();", TaxInfo); Thread.Sleep(2000); WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); var element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("/html/body/form/div[3]/div[1]/div[2]/div[2]/div[1]/table/tbody/tr/td[2]"))); Actions action = new Actions(driver); action.MoveToElement(element).Perform(); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/form/div[3]/div[1]/div[2]/div[2]/div[1]/table/tbody/tr/td[2]/div/div[2]/div/ul/li[1]/div/span")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_ASPxCallbackPanel1_combo_Search_I")).SendKeys(outparcelno); gc.CreatePdf(orderNumber, outparcelnowoh, "City_Info.pdf", driver, "CA", "Santa Barbara"); driver.FindElement(By.Id("ctl00_ASPxCallbackPanel1_btn_Search")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, outparcelnowoh, "City_Info_tax.pdf", driver, "CA", "Santa Barbara"); //Tax Bill //Download the pdf for Tax Details //String Parent_Window1 = driver.CurrentWindowHandle; //IWebElement taxbill = driver.FindElement(By.XPath("//*[@id='ctl00_PageContentBody_tabControl_Propertys_gridView_BillDetail_cell1_0_BillMenu_DXI0_T']")); //IJavaScriptExecutor TB = driver as IJavaScriptExecutor; //TB.ExecuteScript("arguments[0].click();", taxbill); //Thread.Sleep(2000); //System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //driver.SwitchTo().Window(driver.WindowHandles.Last()); //Thread.Sleep(4000); //gc.CreatePdf_Chrome(orderNumber, outparcelno, "Tax_Bill.pdf", driver, "CA", "Santa Barbara"); //driver.SwitchTo().Window(Parent_Window1); //Thread.Sleep(2000); } catch { } try { //Current Tax Details Property_Type = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text; try { Current_PropertyAddress = driver.FindElement(By.Id("ctl00_PageContentBody_gridView_Propertys_cell0_2_ASPxSitusAddressLine1")).Text + " " + driver.FindElement(By.Id("ctl00_PageContentBody_gridView_Propertys_cell0_2_ASPxSitusAddressLine2")).Text; } catch { } Property_Remarks = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr[2]/td[4]")).Text; TotalDue = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr[2]/td[6]")).Text; gc.CreatePdf(orderNumber, outparcelnowoh, "Current_Tax.pdf", driver, "CA", "Santa Barbara"); Bill_Tax1 = Property_Type + "~" + Current_PropertyAddress + "~" + Property_Remarks + "~" + TotalDue + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 242, Bill_Tax1, 1, DateTime.Now); IWebElement TBCurrnetTax = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/div[2]/div/div[1]/div/table/tbody/tr/td/table[2]/tbody")); IList <IWebElement> TRCurrnetTax = TBCurrnetTax.FindElements(By.TagName("tr")); IList <IWebElement> TDCurrnetTax; int i = 3; foreach (IWebElement CurrentTax in TRCurrnetTax) { TDCurrnetTax = CurrentTax.FindElements(By.TagName("td")); if (TDCurrnetTax.Count != 0 && !CurrentTax.Text.Contains("Bill Menu") && !CurrentTax.Text.Contains("Paid Bills") && !CurrentTax.Text.Contains("Date") && !CurrentTax.Text.Contains("Year") && !CurrentTax.Text.Contains("Property Address") && !CurrentTax.Text.Contains("First Installment") && !CurrentTax.Text.Contains("Second Installment") && CurrentTax.Text.Trim() != "") { Bill_No = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/div[2]/div/div[1]/div/table/tbody/tr/td/table[2]/tbody/tr[" + i + "]/td[2]/div")).Text; if (Bill_No.Contains("\r\n")) { Bill_No = Bill_No.Replace("\r\n", " "); } Bill_Date = TDCurrnetTax[2].Text; Bill_Year = TDCurrnetTax[3].Text; Bill_PropertyAddress = TDCurrnetTax[4].Text; Bill_FirstInstallment = TDCurrnetTax[5].Text; Bill_SecondInstallment = TDCurrnetTax[6].Text; Bill_Tax = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + Bill_No + "~" + Bill_Date + "~" + Bill_Year + "~" + Bill_PropertyAddress + "~" + Bill_FirstInstallment + "~" + Bill_SecondInstallment + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 242, Bill_Tax, 1, DateTime.Now); i++; } } try { IWebElement Ilink = driver.FindElement(By.Id("ctl00_PageContentBody_tabControl_Propertys_gridView_BillDetail_cell1_0_BillMenu_DXI0_T")); string strLink = "https://mytaxes.sbtaxes.org/WebPages/" + gc.Between(Ilink.GetAttribute("href"), "javascript: PopUpCenter('", "||"); gc.downloadfile(strLink, orderNumber, outparcelnowoh, "TaxBill.pdf", "CA", "Santa Barbara"); } catch { } // driver.Navigate().Back(); // Thread.Sleep(2000); } catch { } try { Taxauthority = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + Tax_Authority; gc.insert_date(orderNumber, outparcelnowoh, 242, Taxauthority, 1, DateTime.Now); } catch { } try { //Taxes and Values Details string Ok = ""; IWebElement Tax_Value = driver.FindElement(By.XPath("//*[@id='ctl00_PageContentBody_tabControl_Propertys_T1T']")); IJavaScriptExecutor TV = driver as IJavaScriptExecutor; TV.ExecuteScript("arguments[0].click();", Tax_Value); Thread.Sleep(2000); List <string> List1 = new List <string>(); List <string> List2 = new List <string>(); List <string> List3 = new List <string>(); List <string> List4 = new List <string>(); int K = 0; IWebElement valuetableElement = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/div[2]/div/div[2]/div/div/table/tbody/tr/td/div[1]/table/tbody")); IList <IWebElement> valuetableRow = valuetableElement.FindElements(By.TagName("tr")); IList <IWebElement> valuerowTD; gc.CreatePdf(orderNumber, outparcelnowoh, "Current_Value.pdf", driver, "CA", "Santa Barbara"); foreach (IWebElement row in valuetableRow) { valuerowTD = row.FindElements(By.TagName("td")); if (valuerowTD.Count != 0 && valuerowTD.Count != 1 && Ok == "OK") { if (valuerowTD.Count == 2) { if (valuerowTD[0].Text.Trim() != "") { string Taxnumber = valuerowTD[0].Text; List4.Add(Taxnumber); } } else { if (valuerowTD[1].Text.Trim() != "" && valuerowTD[2].Text.Trim() != "" && valuerowTD[3].Text.Trim() != "") { string Value1 = valuerowTD[1].Text; List1.Add(Value1); string Value2 = valuerowTD[2].Text; List2.Add(Value2); string Value3 = valuerowTD[3].Text; List3.Add(Value3); } } } if (valuerowTD.Count != 0 && valuerowTD.Count != 1) { if (valuerowTD[0].Text.Contains("Tax Bills")) { if (K == 1) { Ok = "OK"; } K++; } } } Tax_Bills = List4[0] + "~" + List4[1] + "~" + List4[2]; Frow1 = List4[0] + "~" + List1[0] + "~" + List2[0] + "~" + List3[0]; Row1 = ""; for (int X = List1.Count - 1; X >= 0; X--) { Row1 = List1[X] + "~" + Row1; } Row1 = List4[0] + "~" + Row1 + "Wer"; Row1 = Row1.Replace("~Wer", ""); gc.insert_date(orderNumber, outparcelno, 259, Row1, 1, DateTime.Now); Frow2 = List4[0] + "~" + List1[0] + "~" + List2[0] + "~" + List3[0]; Row2 = ""; for (int X = List2.Count - 1; X >= 0; X--) { Row2 = List2[X] + "~" + Row2; } Row2 = List4[1] + "~" + Row2 + "Wer"; Row2 = Row2.Replace("~Wer", ""); gc.insert_date(orderNumber, outparcelno, 259, Row2, 1, DateTime.Now); Frow3 = List4[0] + "~" + List1[0] + "~" + List2[0] + "~" + List3[0]; Row3 = ""; for (int X = List3.Count - 1; X >= 0; X--) { Row3 = List3[X] + "~" + Row3; } Row3 = List4[2] + "~" + Row3 + "Wer"; Row3 = Row3.Replace("~Wer", ""); gc.insert_date(orderNumber, outparcelno, 259, Row3, 1, DateTime.Now); } catch { } //Tax Payment Receipts try { try { Tax_Receipt = driver.FindElement(By.XPath("//*[@id='ctl00_PageContentBody_tabControl_Propertys_T2T']")); } catch { } gc.CreatePdf(orderNumber, outparcelnowoh, "Current_Payment.pdf", driver, "CA", "Santa Barbara"); IJavaScriptExecutor TR = driver as IJavaScriptExecutor; TR.ExecuteScript("arguments[0].click();", Tax_Receipt); Thread.Sleep(2000); int i = 0; IWebElement TBTaxReceipts = driver.FindElement(By.XPath("/html/body/form/div[3]/div[2]/div[2]/div/div[2]/div/div[3]/div/table/tbody/tr/td/table[2]/tbody")); IList <IWebElement> TRTaxReceipts = TBTaxReceipts.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxReceipts; gc.CreatePdf(orderNumber, outparcelno, "Current_Payment.pdf", driver, "CA", "Santa Barbara"); foreach (IWebElement TaxReceipt in TRTaxReceipts) { TDTaxReceipts = TaxReceipt.FindElements(By.TagName("td")); if (TDTaxReceipts.Count == 9) { Payment_Date = TDTaxReceipts[0].Text; Effective_PaymentDate = TDTaxReceipts[1].Text; BillNumber = TDTaxReceipts[2].Text; Year = TDTaxReceipts[3].Text; TaxBill_Type = TDTaxReceipts[4].Text; Installment = TDTaxReceipts[5].Text; Payment_Batch = TDTaxReceipts[6].Text; Payment_Type = TDTaxReceipts[7].Text; Payment_Amount = TDTaxReceipts[8].Text; Tax_Receipts = Payment_Date + "~" + Effective_PaymentDate + "~" + BillNumber + "~" + Year + "~" + TaxBill_Type + "~" + Installment + "~" + Payment_Batch + "~" + Payment_Type + "~" + Payment_Amount; gc.insert_date(orderNumber, outparcelno, 244, Tax_Receipts, 1, DateTime.Now); i++; } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Santa Barbara", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "CA", "Santa Barbara"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_CAContracosta(string houseno, string sname, string stype, string city, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new ChromeDriver(); //driver = new PhantomJSDriver() using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); string taddress = ""; if (searchType == "titleflex") { if (directParcel != null) { taddress = houseno + " " + directParcel + " " + sname; } else { taddress = houseno + " " + directParcel + " " + sname; } gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, taddress, "CA", "Contra Costa"); 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_CAContraCosta"] = "Zero"; driver.Quit(); return("No Data Found"); } searchType = "parcel"; parcelNumber = GlobalClass.global_parcelNo.Replace("-", ""); parcelNumber = parcelNumber.Substring(0, 9); } if (searchType == "address") { driver.Navigate().GoToUrl("https://taxcolp.cccounty.us/taxpaymentrev3/lookup/"); Thread.Sleep(4000); var SelectAddress = driver.FindElement(By.Id("searchtypeselect")); Thread.Sleep(4000); var SelectAddressTax = new SelectElement(SelectAddress); SelectAddressTax.SelectByText("Property Address"); if (directParcel == null || directParcel == "") { address = houseno + " " + sname; } else { if (directParcel != null) { address = houseno + " " + directParcel + " " + sname; } else { address = houseno + " " + directParcel + " " + sname; } } driver.FindElement(By.Id("searchfield")).SendKeys(address); //var SelectAddressSuffix = driver.FindElement(By.Id("streetsuffixselect")); //var SelectAddressSuffixTax = new SelectElement(SelectAddressSuffix); //SelectAddressSuffixTax.SelectByText(stype); var SelectAddressCity = driver.FindElement(By.Id("cityselect")); var SelectAddressCityTax = new SelectElement(SelectAddressCity); SelectAddressCityTax.SelectByText(city.ToUpper().ToString().Trim()); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CA", "Contra Costa"); driver.FindElement(By.XPath("/html/body/div/div[3]/div[2]/form/div/div/div[6]/input")).SendKeys(Keys.Enter); Thread.Sleep(8000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("//*[@id='address-picker']/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiAddress", driver, "CA", "Contra Costa"); foreach (IWebElement Multi in MultiTR) { if (maxCheck <= 25) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0) { Property_Address = MultiTD[0].Text; parcelNumber = MultiTD[1].Text; Multiparcel = Property_Address.Replace("\r\n", ""); gc.insert_date(orderNumber, parcelNumber, 411, Multiparcel, 1, DateTime.Now); } maxCheck++; } } HttpContext.Current.Session["multiParcel_CAContraCosta"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_CAContraCosta_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("https://taxcolp.cccounty.us/taxpaymentrev3/lookup/"); Thread.Sleep(4000); var SelectParcel = driver.FindElement(By.Id("searchtypeselect")); var SelectParcelTax = new SelectElement(SelectParcel); SelectParcelTax.SelectByText("Parcel Number"); driver.FindElement(By.Id("searchfield")).Click(); parcel = parcelNumber.Replace("-", ""); parcel1 = parcel.Substring(0, 3); parcel2 = parcel.Substring(3, 3); parcel3 = parcel.Substring(6, 3); ParcelId = parcel1 + parcel2 + parcel3; Thread.Sleep(8000); driver.FindElement(By.Id("searchfield")).Clear(); driver.FindElement(By.Id("searchfield")).Click(); driver.FindElement(By.Id("searchfield")).SendKeys(ParcelId); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "CA", "Contra Costa"); driver.FindElement(By.XPath("/html/body/div/div[3]/div[2]/form/div/div/div[6]/input")).SendKeys(Keys.Enter); Thread.Sleep(8000); } try { IWebElement Inodata = driver.FindElement(By.Id("error")); if (Inodata.Text.Contains("Address Not Found") || Inodata.Text.Contains("APN not found")) { HttpContext.Current.Session["Nodata_CAContraCosta"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details driver.FindElement(By.XPath("//*[@id='results']/div[1]/div[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(6000); Situs_Address = driver.FindElement(By.XPath("//*[@id='results']/div[1]/h3")).Text; Situs_Address = WebDriverTest.After(Situs_Address, "Address (Situs): ").Trim(); outparcelno = driver.FindElement(By.XPath("//*[@id='hide-details']/div[1]/h3")).Text; outparcelno = GlobalClass.After(outparcelno, "Parcel Number (APN): ").Trim(); // outparcelno = gc.Between(outparcelno, "Parcel Number (APN): ", "SIGN UP HERE FOR SECURED").Trim(); gc.CreatePdf(orderNumber, outparcelno, "Property Details", driver, "CA", "Contra Costa"); Property_Deatail = Situs_Address; gc.insert_date(orderNumber, outparcelno, 320, Property_Deatail, 1, DateTime.Now); //Assement details driver.FindElement(By.LinkText("ASSESSMENT INFORMATION")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, outparcelno, "Assement Details", driver, "CA", "Contra Costa"); IWebElement AssementTB = driver.FindElement(By.XPath("//*[@id='current-assessment-information']/table/tbody")); IList <IWebElement> AssementTR = AssementTB.FindElements(By.TagName("tr")); IList <IWebElement> AssementTD; foreach (IWebElement Assement in AssementTR) { AssementTD = Assement.FindElements(By.TagName("td")); if (AssementTD.Count != 0) { if (Assement.Text.Contains("Assessment Year")) { Assessment_Year = AssementTD[1].Text; } else { Land = AssementTD[2].Text + "~" + Land; } } } Land = Assessment_Year + "~" + Land.Replace("~-", ""); gc.insert_date(orderNumber, outparcelno, 365, Land, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //CurrentTax details driver.FindElement(By.LinkText("CURRENT TAXES")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, outparcelno, "CurretntTax Details", driver, "CA", "Contra Costa"); List <string> urlListSecured = new List <string>(); List <string> urlListSupplemental = new List <string>(); IWebElement CurrentTaxTB = driver.FindElement(By.XPath("//*[@id='results']/div[2]/table/tbody")); IList <IWebElement> CurrentTaxTR = CurrentTaxTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTaxTD; IList <IWebElement> CurrentTaxA; foreach (IWebElement CurrentTax in CurrentTaxTR) { CurrentTaxTD = CurrentTax.FindElements(By.TagName("td")); CurrentTaxA = CurrentTax.FindElements(By.TagName("a")); if (CurrentTaxTD.Count != 0) { Bill_Type = CurrentTaxTD[0].Text; Bill_SaleId = CurrentTaxTD[1].Text.Replace(" - View Bill", "").Trim(); Install_No = CurrentTaxTD[2].Text; Date_Due = CurrentTaxTD[3].Text; Amount = CurrentTaxTD[4].Text; try { Pay = CurrentTaxTD[5].Text; } catch { Pay = "PAY"; } Currenttax_Details = Bill_Type + "~" + Bill_SaleId + "~" + Install_No + "~" + Date_Due + "~" + Amount + "~" + Pay + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 366, Currenttax_Details, 1, DateTime.Now); } if (CurrentTaxA.Count != 0) { if (Bill_Type == "SECURED") { urlListSecured.Add(CurrentTaxA[0].GetAttribute("href")); } else if (Bill_Type == "SUPPLEMENTAL") { urlListSupplemental.Add(CurrentTaxA[0].GetAttribute("href")); } } } try { TotalAmountSelected_ToPay = driver.FindElement(By.XPath("//*[@id='summary']/div[2]/div[3]/h3")).Text; Totaltax_Details = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + TotalAmountSelected_ToPay; gc.insert_date(orderNumber, outparcelno, 366, Totaltax_Details, 1, DateTime.Now); } catch { } //Download Tax Bills try { int i = 0; String Parent_Window1 = driver.CurrentWindowHandle; foreach (string item in urlListSecured) { gc.downloadfileHeader(item, orderNumber, outparcelno, "Secured_Bill" + i, "CA", "Contra Costa", driver); i++; } int k = 0; foreach (string item in urlListSupplemental) { gc.downloadfileHeader(item, orderNumber, outparcelno, "Supplemental_Bill" + k, "CA", "Contra Costa", driver); k++; } System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(4000); driver.SwitchTo().Window(Parent_Window1); Thread.Sleep(2000); } catch { } //TaxHistory Details driver.FindElement(By.LinkText("TAX HISTORY")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, outparcelno, "TaxHistory Details", driver, "CA", "Contra Costa"); IWebElement TaxHistoryTB = driver.FindElement(By.XPath("//*[@id='prioryear-results']/div[2]/table/tbody")); IList <IWebElement> TaxHistoryTR = TaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxHistoryTD; foreach (IWebElement TaxHistory in TaxHistoryTR) { TaxHistoryTD = TaxHistory.FindElements(By.TagName("td")); if (TaxHistoryTD.Count != 0) { TaxBill_Type = TaxHistoryTD[0].Text; Tax_Year = TaxHistoryTD[1].Text.Replace("View Bill", "\r\n").Trim(); Instal_No = TaxHistoryTD[2].Text; AdValorem_tax = TaxHistoryTD[3].Text; Special_Assessments = TaxHistoryTD[4].Text; Delinquent_PenaltyCost = TaxHistoryTD[5].Text; TaxAmount = TaxHistoryTD[6].Text; Bill_Status = TaxHistoryTD[7].Text; TaxBillAmount_Details = TaxBill_Type + "~" + Tax_Year + "~" + Instal_No + "~" + AdValorem_tax + "~" + Special_Assessments + "~" + Delinquent_PenaltyCost + "~" + TaxAmount + "~" + Bill_Status; gc.insert_date(orderNumber, outparcelno, 367, TaxBillAmount_Details, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Contra Costa", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "CA", "Contra Costa"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public WaybillDetails(uint id) { DisplayName = "Детализация накладной"; this.id = id; InitFields(); CurrentWaybillLine = CurrentLine.OfType <WaybillLine>().ToValue(); Settings.Subscribe(_ => Calculate()); CurrentTax.Subscribe(v => { if (Lines.Value == null) { return; } if (v == null || v.Value == -1) { Lines.Value.Filter = null; } else { Lines.Value.Filter = o => ((WaybillLine)o).Nds == v.Value; } }); Lines.Select(v => v == null ? Observable.Empty <EventPattern <NotifyCollectionChangedEventArgs> >() : v.ToCollectionChanged()) .Switch() .Subscribe(e => { if (e.EventArgs.Action == NotifyCollectionChangedAction.Remove) { e.EventArgs.OldItems.OfType <WaybillLine>().Each(l => Waybill.RemoveLine(l)); } else if (e.EventArgs.Action == NotifyCollectionChangedAction.Add) { e.EventArgs.NewItems.OfType <WaybillLine>().Each(l => Waybill.AddLine(l)); } }); OrderLines = CurrentWaybillLine .Throttle(Consts.ScrollLoadTimeout, UiScheduler) .Select(v => { if (v == null) { return(new List <SentOrderLine>()); } var lineId = v.Id; var orderLineIds = Session.Query <WaybillOrder>().Where(l => l.DocumentLineId == lineId) .Select(l => (uint?)l.OrderLineId) .ToArray(); var line = Session.Query <SentOrderLine>().FirstOrDefault(l => orderLineIds.Contains(l.ServerId)); if (line != null) { CurrentOrderLine.Value = line; line.Order.Lines.Each(l => l.Configure(User)); return(line.Order.Lines.OrderBy(l => l.ProductSynonym).ToList()); } return(new List <SentOrderLine>()); }) .ToValue(CloseCancellation); EmptyLabelVisibility = OrderLines .Select(v => v == null || v.Count == 0 ? Visibility.Visible : Visibility.Collapsed) .ToValue(); OrderDetailsVisibility = EmptyLabelVisibility .Select(v => v == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed) .ToValue(); }