Exemplo n.º 1
0
        public string FTP_Santamenta(string Address, string account, string parcelNumber, string ownername, string searchType, string orderno, string directParcel)
        {
            GlobalClass.global_orderNo             = orderno;
            HttpContext.Current.Session["orderNo"] = orderno;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            //var driverService = PhantomJSDriverService.CreateDefaultService();
            //driverService.HideCommandPromptWindow = true;
            //driver = new ChromeDriver();
            //driver = new PhantomJSDriver();
            //driver.Manage().Window.Size = new Size(1920, 1080);
            var option = new ChromeOptions();

            option.AddArgument("No-Sandbox");
            using (driver = new ChromeDriver(option)) //ChromeDriver
            {
                if (ownername.Trim() != "" || Address.Trim() != "")
                {
                    searchType = "titleflex";
                }
                string[]      stringSeparators1 = new string[] { "\r\n" };
                List <string> listurl           = new List <string>();
                List <string> Columnurl         = new List <string>();
                List <string> Roll = new List <string>();
                string        Date = "";
                Date = DateTime.Now.ToString("M/d/yyyy");
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    if (searchType == "titleflex")
                    {
                        gc.TitleFlexSearch(orderno, parcelNumber, ownername, Address, "CA", "Sacramento");
                        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_CASacramento"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();

                        searchType = "parcel";
                    }
                    //if (searchType == "address")
                    //{
                    //    driver.Navigate().GoToUrl("http://assessorparcelviewer.saccounty.net/jsviewer/assessor.html?apn={0}");
                    //    Thread.Sleep(2000);
                    //    driver.FindElement(By.XPath("//*[@id='omniInput']")).SendKeys(Address);

                    //    Thread.Sleep(2000);
                    //    //gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Miami Dade");

                    //    driver.FindElement(By.XPath("//*[@id='goOmniSearch']")).SendKeys(Keys.Enter);
                    //    Thread.Sleep(3000);
                    //   // gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "FL", "Miami Dade");
                    //    Thread.Sleep(1000);

                    //    try
                    //    {
                    //        string multi = driver.FindElement(By.XPath("//*[@id='SearchDescription']/span")).Text;
                    //        if (multi.Trim()!="")
                    //        {
                    //            IWebElement MuliparcTB = driver.FindElement(By.XPath("//*[@id='datatable']"));
                    //            IList<IWebElement> MuliparcTR = MuliparcTB.FindElements(By.TagName("tr"));


                    //        }
                    //    }
                    //    catch { }


                    //}
                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://assessorparcelviewer.saccounty.net/jsviewer/assessor.html?apn={0}");
                        Thread.Sleep(5000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='PopupDisclaimerDiv']/div/div/div[3]/button[2]")).Click();
                        }
                        catch { }
                        driver.FindElement(By.XPath("//*[@id='omniInput']")).SendKeys(parcelNumber);


                        gc.CreatePdf(orderno, parcelNumber.Replace("-", ""), "Parcel Search", driver, "CA", "Sacramento");
                        Thread.Sleep(2000);


                        driver.FindElement(By.XPath("//*[@id='goOmniSearch']")).Click();
                        Thread.Sleep(6000);

                        // gc.CreatePdf(orderno, parcelNumber, "Parcel Search Result", driver, "CA", "Sacramento");
                    }


                    //AMROCK Mapping
                    Amrock amc = new Amrock();

                    // assessment details
                    string PropertyAddress = "", City_Zip = "", Jurisdiction = "", CountySupervisorDistrict = "", TaxRateAreaCode = "", ApproxParcelArea = "", Yearbuilt = "";
                    parcelNumber = parcelNumber.Replace("-", "");
                    try
                    {
                        gc.CreatePdf(orderno, parcelNumber, "Property", driver, "CA", "Sacramento");
                        ByVisibleElement(driver.FindElement(By.XPath("//*[@id='AssessorRollPortlet']/h3/a")));
                    }
                    catch { }
                    try
                    {
                        gc.CreatePdf(orderno, parcelNumber, "Assessment1", driver, "CA", "Sacramento");
                        ByVisibleElement(driver.FindElement(By.XPath("//*[@id='AssessorPortlet']/h3/a")));
                    }
                    catch { }


                    gc.CreatePdf(orderno, parcelNumber, "Assessment2", driver, "CA", "Sacramento");
                    //  gc.CreatePdf(orderno, parcelNumber, "Assessment Details", driver, "CA", "El Dorado");
                    parcelNumber             = driver.FindElement(By.XPath("//*[@id='ParcelAPNNoDashes']")).Text;
                    PropertyAddress          = driver.FindElement(By.XPath("//*[@id='Address']")).Text;
                    City_Zip                 = driver.FindElement(By.XPath("//*[@id='PropertyInformationTable']/tbody/tr[3]/td[2]")).Text;
                    Jurisdiction             = driver.FindElement(By.XPath("//*[@id='Jurisdiction']")).Text;
                    TaxRateAreaCode          = driver.FindElement(By.XPath("//*[@id='TaxRateAreaCodeLink']")).Text;
                    CountySupervisorDistrict = driver.FindElement(By.XPath("//*[@id='SupervisorDistrictLink']")).Text;
                    try
                    {
                        ByVisibleElement(driver.FindElement(By.XPath("//*[@id='EffectiveYearBuiltRow']/td[1]")));
                    }
                    catch { }
                    Thread.Sleep(1000);
                    Yearbuilt = driver.FindElement(By.Id("YearBuilt")).Text;

                    gc.CreatePdf(orderno, parcelNumber, "Year built", driver, "CA", "Sacramento");
                    driver.FindElement(By.XPath("//*[@id='AssessorPortlet']/h3")).Click();
                    //gc.CreatePdf(orderno, parcelNumber, "Input Passed Tax Search", driver, "CA", "El Dorado");
                    Thread.Sleep(1000);

                    ApproxParcelArea = driver.FindElement(By.XPath("//*[@id='LotSize']")).Text;

                    string ProperTyDetail = PropertyAddress + "~" + City_Zip + "~" + Jurisdiction + "~" + TaxRateAreaCode + "~" + CountySupervisorDistrict + "~" + ApproxParcelArea + "~" + Yearbuilt;

                    gc.insert_date(orderno, parcelNumber, 368, ProperTyDetail, 1, DateTime.Now);

                    string TaxRollYear = "", LandValue = "", ImprovementValue = "", PersonalPropertyValue = "", Fixtures = "", HomeownerExemption = "", OtherExemption = "", NetAssessedValue = "";

                    //gc.CreatePdf(orderno, parcelNumber, "Assessment", driver, "CA", "Sacramento");


                    //ByVisibleElement(driver.FindElement(By.XPath("//*[@id='AssessorRollPortlet']/h3/a")));

                    //gc.CreatePdf(orderno, parcelNumber, "Assessment1", driver, "CA", "Sacramento");

                    TaxRollYear           = driver.FindElement(By.XPath("//*[@id='RollYear']")).Text;
                    LandValue             = driver.FindElement(By.XPath("//*[@id='ValueLand']")).Text;
                    ImprovementValue      = driver.FindElement(By.XPath("//*[@id='ValueStructure']")).Text;
                    PersonalPropertyValue = driver.FindElement(By.XPath("//*[@id='ValuePersonalProperty']")).Text;
                    Fixtures           = driver.FindElement(By.XPath("//*[@id='ValueFixtures']")).Text;
                    HomeownerExemption = driver.FindElement(By.XPath("//*[@id='ValueHomeOwnersException']")).Text;
                    OtherExemption     = driver.FindElement(By.XPath("//*[@id='ValueOtherExemption']")).Text;
                    NetAssessedValue   = driver.FindElement(By.XPath("//*[@id='ValueTotal']")).Text;


                    string Assessment = TaxRollYear + "~" + LandValue + "~" + ImprovementValue + "~" + PersonalPropertyValue + "~" + Fixtures + "~" + HomeownerExemption + "~" + OtherExemption + "~" + NetAssessedValue;
                    gc.insert_date(orderno, parcelNumber, 369, Assessment, 1, DateTime.Now);

                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    driver.Navigate().GoToUrl("https://eproptax.saccounty.net/");
                    Thread.Sleep(5000);
                    try
                    {
                        IWebElement         IAddressSearch1 = driver.FindElement(By.XPath("//*[@id='parcelLookup']/div[1]/a"));
                        IJavaScriptExecutor js1             = driver as IJavaScriptExecutor;
                        js1.ExecuteScript("arguments[0].click();", IAddressSearch1);
                        Thread.Sleep(3000);
                        // driver.FindElement(By.XPath("//*[@id='parcelLookup']/div[1]/a")).Click();
                    }
                    catch { }
                    string Pa1 = "", Pa2 = "", Pa3 = "", Pa4 = "";

                    Pa1 = parcelNumber.Substring(0, 3);
                    Pa2 = parcelNumber.Substring(3, 4);
                    Pa3 = parcelNumber.Substring(7, 3);
                    Pa4 = parcelNumber.Substring(10, 4);

                    Thread.Sleep(3000);
                    driver.FindElement(By.XPath("//*[@id='parcel1']")).SendKeys(Pa1);
                    driver.FindElement(By.XPath("//*[@id='parcel2']")).SendKeys(Pa2);
                    driver.FindElement(By.XPath("//*[@id='parcel3']")).SendKeys(Pa3);
                    driver.FindElement(By.XPath("//*[@id='parcel4']")).SendKeys(Pa4);
                    Thread.Sleep(3000);
                    gc.CreatePdf(orderno, parcelNumber, "Tax Search", driver, "CA", "Sacramento");
                    try
                    {
                        IWebElement         IAddressSearch1 = driver.FindElement(By.XPath("//*[@id='PopupDisclaimerDiv']/div/div/div[3]/button[2]"));
                        IJavaScriptExecutor js1             = driver as IJavaScriptExecutor;
                        js1.ExecuteScript("arguments[0].click();", IAddressSearch1);
                        Thread.Sleep(2000);
                        // driver.FindElement(By.XPath("//*[@id='PopupDisclaimerDiv']/div/div/div[3]/button[2]")).Click();
                    }
                    catch { }
                    driver.FindElement(By.XPath("//*[@id='btnSubmit']")).Click();
                    //gc.CreatePdf(orderno, parcelNumber, "Input Passed Tax Search", driver, "CA", "El Dorado");
                    Thread.Sleep(3000);
                    int I = 0;
                    gc.CreatePdf(orderno, parcelNumber, "Tax Detail", driver, "CA", "Sacramento");
                    string TaxID = driver.FindElement(By.Id("parcelGlobal")).Text.Replace("Parcel Number ", "").Trim();
                    amc.TaxId = TaxID;
                    string              FirstAmount = "", SecondAmount = "", FirstDelinquent = "", SecondDelinquent = "", FirstPenalty = "", SecondPenalty = "", FirstStatus = "", SecondStatus = "";
                    IWebElement         CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]"));
                    IList <IWebElement> CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr"));
                    IList <IWebElement> CurrentTaxHistoryTD1;

                    string BillNumber = "", Billtype = "", DirectLevyPortion = "", OriginalbillAmount = "";
                    try
                    {
                        CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]"));
                        CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr"));



                        foreach (IWebElement row1 in CurrentTaxHistoryTR1)
                        {
                            CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td"));
                            if (CurrentTaxHistoryTD1.Count != 0 && CurrentTaxHistoryTD1.Count != 1)
                            {
                                BillNumber = CurrentTaxHistoryTD1[0].Text;
                                Roll.Add(BillNumber);

                                if (row1.Text.Contains("Secured Supplemental") || row1.Text.Contains("Cancelled") || row1.Text.Contains("Secured Additional"))
                                {
                                    amc.IsDelinquent = "Yes";
                                }
                                ////driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click();
                                ////Thread.Sleep(2000);
                            }
                        }
                    }
                    catch { }

                    try
                    {
                        IWebElement IPirorYear = driver.FindElement(By.XPath("//*[@id='parcelMessages ']"));
                        if (IPirorYear.Text.Contains("Prior Years Taxes Are Outstanding"))
                        {
                            amc.IsDelinquent = "Yes";
                        }
                    }
                    catch { }

                    foreach (string Go in Roll)
                    {
                        //driver.Navigate().GoToUrl("https://eproptax.saccounty.net/#BillDetail/" + Go + "");
                        driver.Navigate().GoToUrl("https://eproptax.saccounty.net/#secured/BillDetail/" + Go + "");
                        Thread.Sleep(5000);
                        string SecuredAnnual = "", FirstInstallment = "", SecondInstallment = "", TaxRate = "";
                        CreatePdf(orderno, parcelNumber, "Tax Detail" + I, driver, "CA", "Sacramento");
                        IWebElement         CurrentTaxHistoryTB = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody"));
                        IList <IWebElement> CurrentTaxHistoryTR = CurrentTaxHistoryTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> CurrentTaxHistoryTD;
                        I++;
                        foreach (IWebElement row in CurrentTaxHistoryTR)
                        {
                            CurrentTaxHistoryTD = row.FindElements(By.TagName("td"));
                            if (CurrentTaxHistoryTD.Count != 0 && row.Text.Trim() != "" && !row.Text.Contains("There is a fee") && CurrentTaxHistoryTD.Count > 2)
                            {
                                TaxRate           = driver.FindElement(By.XPath("//*[@id='taxRateGlobal']/a/span")).Text;
                                SecuredAnnual     = CurrentTaxHistoryTD[0].Text;
                                FirstInstallment  = CurrentTaxHistoryTD[1].Text;
                                SecondInstallment = CurrentTaxHistoryTD[2].Text;

                                string Deliquent = Billtype + "~" + TaxRate + "~" + SecuredAnnual + "~" + FirstInstallment + "~" + SecondInstallment;

                                gc.insert_date(orderno, parcelNumber, 371, Deliquent, 1, DateTime.Now);
                            }
                            try
                            {
                                if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Amount:"))
                                {
                                    amc.Instamount1 = CurrentTaxHistoryTD[1].Text.Trim();
                                    amc.Instamount2 = CurrentTaxHistoryTD[2].Text.Trim();
                                }
                                if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Delinquent Date:"))
                                {
                                    FirstDelinquent  = CurrentTaxHistoryTD[1].Text.Trim();
                                    SecondDelinquent = CurrentTaxHistoryTD[2].Text.Trim();
                                }
                                if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Penalty:"))
                                {
                                    FirstPenalty  = CurrentTaxHistoryTD[1].Text.Trim();
                                    SecondPenalty = CurrentTaxHistoryTD[2].Text.Trim();
                                }
                                if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Status:"))
                                {
                                    FirstStatus  = CurrentTaxHistoryTD[1].Text.Trim();
                                    SecondStatus = CurrentTaxHistoryTD[2].Text.Trim();
                                }
                            }
                            catch { }
                        }

                        driver.Navigate().Back();
                        Thread.Sleep(2000);
                    }
                    //try
                    //{
                    //    CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]"));
                    //    CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr"));



                    //    foreach (IWebElement row1 in CurrentTaxHistoryTR1)
                    //    {

                    //        CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td"));
                    //        if (CurrentTaxHistoryTD1.Count != 0)
                    //        {
                    //            BillNumber = CurrentTaxHistoryTD1[0].Text;
                    //            Billtype = CurrentTaxHistoryTD1[1].Text;
                    //            DirectLevyPortion = CurrentTaxHistoryTD1[2].Text;
                    //            OriginalbillAmount = CurrentTaxHistoryTD1[3].Text;
                    //            if (DirectLevyPortion.Trim() != "")
                    //            {
                    //                CurrentTaxHistoryTD1[I].Click();
                    //                Thread.Sleep(2000);



                    //            }
                    //            // CurrentTaxHistoryTR1.Clear();

                    //            driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click();
                    //            Thread.Sleep(2000);

                    //        }

                    //    }
                    //}
                    //catch { I++; }

                    //Amrock Installment
                    if (amc.IsDelinquent != "Yes" || amc.IsDelinquent == "No")
                    {
                        if (FirstPenalty.Contains("$0.00") && FirstPenalty != "")
                        {
                            if (FirstStatus.Contains("Paid"))
                            {
                                amc.InstPaidDue1 = "Paid";
                                amc.IsDelinquent = "No";
                            }
                            if (FirstStatus.Contains("Unpaid"))
                            {
                                amc.InstPaidDue1 = "Due";
                                amc.IsDelinquent = "No";
                            }
                        }
                        else if (!FirstPenalty.Contains("$0.00") && FirstPenalty != "")
                        {
                            if (FirstStatus.Contains("Paid") || FirstStatus.Contains("Unpaid"))
                            {
                                amc.IsDelinquent = "Yes";
                            }
                        }
                        if (SecondPenalty.Contains("$0.00") && SecondPenalty != "")
                        {
                            if (SecondStatus.Contains("Paid"))
                            {
                                amc.InstPaidDue2 = "Paid";
                                amc.IsDelinquent = "No";
                            }
                            if (SecondStatus.Contains("Unpaid"))
                            {
                                amc.InstPaidDue2 = "Due";
                                amc.IsDelinquent = "No";
                            }
                        }
                        else if (!SecondPenalty.Contains("$0.00") && SecondPenalty != "")
                        {
                            if (SecondStatus.Contains("Paid") || SecondStatus.Contains("Unpaid"))
                            {
                                amc.IsDelinquent = "Yes";
                            }
                        }
                    }


                    driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click();
                    Thread.Sleep(2000);
                    try
                    {
                        listurl.Clear();
                        CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]"));
                        CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr"));



                        foreach (IWebElement row1 in CurrentTaxHistoryTR1)
                        {
                            CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td"));
                            if (CurrentTaxHistoryTD1.Count != 0 && CurrentTaxHistoryTD1.Count != 1 && row1.Text.Trim() != "" && !row1.Text.Contains("There is a fee"))
                            {
                                listurl.Add(CurrentTaxHistoryTD1[0].Text);
                            }
                        }

                        foreach (string bill in listurl)
                        {
                            //     https://eproptax.saccounty.net/#secured/DirectLevy/18107260
                            driver.Navigate().GoToUrl("https://eproptax.saccounty.net/#secured/DirectLevy/" + bill + "");
                            Thread.Sleep(6000);
                            CreatePdf(orderno, parcelNumber, "Tax Detail" + bill, driver, "CA", "Sacramento");
                            IWebElement CurrentPayHistoryTB = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody"));
                            //*[@id="billDetailGrid"]/table/tbody
                            IList <IWebElement> CurrentPayHistoryTR = CurrentPayHistoryTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> CurrentPayHistoryTD;
                            string DirectLevyNumber = "", LevyName = "", LevyAmount = "", Bond = "";
                            foreach (IWebElement row2 in CurrentPayHistoryTR)
                            {
                                CurrentPayHistoryTD = row2.FindElements(By.TagName("td"));
                                if (CurrentPayHistoryTD.Count != 0 && row2.Text.Trim() != "" && !row2.Text.Contains("There is a fee"))
                                {
                                    // string TaxRate1 = driver.FindElement(By.XPath("//*[@id='taxRateGlobal']/a/span")).Text;
                                    DirectLevyNumber = CurrentPayHistoryTD[0].Text;
                                    Bond             = CurrentPayHistoryTD[1].Text;
                                    LevyName         = CurrentPayHistoryTD[2].Text;
                                    LevyAmount       = CurrentPayHistoryTD[3].Text;


                                    string taxlevy = DirectLevyNumber + "~" + Bond + "~" + LevyName + "~" + LevyAmount;

                                    gc.insert_date(orderno, parcelNumber, 372, taxlevy, 1, DateTime.Now);
                                }
                            }
                        }
                    }
                    catch { }

                    driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click();
                    Thread.Sleep(2000);
                    listurl.Clear();
                    try
                    {
                        gc.CreatePdf(orderno, parcelNumber, "Tax Bill", driver, "CA", "Sacramento");
                        CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]"));
                        CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr"));

                        foreach (IWebElement row1 in CurrentTaxHistoryTR1)
                        {
                            CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td"));
                            if (CurrentTaxHistoryTD1.Count != 0 && CurrentTaxHistoryTD1.Count != 1 && row1.Text.Trim() != "" && !row1.Text.Contains("There is a fee"))
                            {
                                BillNumber         = CurrentTaxHistoryTD1[0].Text;
                                Billtype           = CurrentTaxHistoryTD1[1].Text;
                                DirectLevyPortion  = CurrentTaxHistoryTD1[2].Text;
                                OriginalbillAmount = CurrentTaxHistoryTD1[3].Text;
                                string Tax = BillNumber + "~" + Billtype + "~" + DirectLevyPortion + "~" + OriginalbillAmount + "~" + CurrentTaxHistoryTD1[4].Text;
                                gc.insert_date(orderno, parcelNumber, 370, Tax, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }
                    driver.FindElement(By.XPath("//*[@id='navIcons']/li[4]/a")).Click();
                    Thread.Sleep(5000);

                    gc.CreatePdf(orderno, parcelNumber, "Tax History", driver, "CA", "Sacramento");

                    try
                    {
                        ByVisibleElement(driver.FindElement(By.XPath("//*[@id='navIcons']/li[6]/a")));
                        gc.CreatePdf(orderno, parcelNumber, "Tax History1", driver, "CA", "Sacramento");
                    }
                    catch { }

                    try
                    {
                        ByVisibleElement(driver.FindElement(By.XPath("//*[@id='applicationHost']/div/div/div/div[2]/h3")));
                        gc.CreatePdf(orderno, parcelNumber, "Tax History2", driver, "CA", "Sacramento");
                    }
                    catch { }
                    string BillYear = "", TaxBillNumber = "", BillType = "", PayByDate = "", Amount = "", PaidDate = "";


                    IWebElement         PayHistoryTB = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody"));
                    IList <IWebElement> PayHistoryTR = PayHistoryTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> PayHistoryTD;
                    foreach (IWebElement row2 in PayHistoryTR)
                    {
                        PayHistoryTD = row2.FindElements(By.TagName("td"));
                        if (PayHistoryTD.Count != 0 && PayHistoryTD.Count == 6)
                        {
                            BillYear      = PayHistoryTD[0].Text;
                            TaxBillNumber = PayHistoryTD[1].Text;
                            BillType      = PayHistoryTD[2].Text;
                            PayByDate     = PayHistoryTD[3].Text;
                            Amount        = PayHistoryTD[4].Text;
                            PaidDate      = PayHistoryTD[5].Text;



                            string TaxHistory = BillYear + "~" + TaxBillNumber + "~" + BillType + "~" + PayByDate + "~" + Amount + "~" + PaidDate;

                            gc.insert_date(orderno, parcelNumber, 373, TaxHistory, 1, DateTime.Now);
                        }

                        try
                        {
                            if (amc.IsDelinquent != "Yes" || amc.IsDelinquent == "No")
                            {
                                if (FirstDelinquent == PayHistoryTD[3].Text.Trim())
                                {
                                    amc.TaxYear         = PayHistoryTD[0].Text;
                                    amc.Instamountpaid1 = PayHistoryTD[3].Text.Trim();
                                }
                                if (SecondDelinquent == PayHistoryTD[3].Text.Trim())
                                {
                                    amc.TaxYear         = PayHistoryTD[0].Text;
                                    amc.Instamountpaid2 = PayHistoryTD[3].Text.Trim();
                                }
                            }
                        }
                        catch { }
                    }

                    if (amc.IsDelinquent == "Yes")
                    {
                        gc.InsertAmrockTax(orderno, amc.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amc.IsDelinquent);
                    }
                    if (amc.IsDelinquent == "No")
                    {
                        gc.InsertAmrockTax(orderno, 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(orderno, parcelNumber, "Tax History Detail", driver, "CA", "El Dorado");

                    TaxTime = DateTime.Now.ToString("HH:mm:ss");

                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");

                    gc.insert_TakenTime(orderno, "CA", "Sacramento", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);


                    driver.Quit();
                    gc.mergpdf(orderno, "CA", "Sacramento");
                    //gc.MMREM_Template(orderno, parcelNumber, "", driver, "CA", "Sacramento", "10", "4");
                    return("Data Inserted Successfully");
                }

                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderno);
                    throw ex;
                }
            }
        }
Exemplo n.º 2
0
        public string FTP_ArapahoeCO(string streetno, string direction, string streetname, string city, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string directParcel)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            string Parcel_number = "", Tax_Authority = "", Year = "", Taxresult1 = "", taxresult2 = "", taxresult3 = "", Firsthalf = "", Secondhalf = "", fullhalf = "", prepayresult1 = "", prepayresult2 = "", prepayresult3 = "", paiedamt = "", prepayment = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;

            using (driver = new ChromeDriver()) //PhantomJSDriver
            {
                //rdp
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Navigate().GoToUrl("https://parcelsearch.arapahoegov.com");
                    if (searchType == "titleflex")
                    {
                        string address = streetno + " " + direction + " " + streetname + " " + streettype + " " + unitnumber;
                        gc.TitleFlexSearch(orderNumber, "", ownernm, address.Trim(), "CO", "Arapahoe");
                        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_ArapahoeCO"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("txtAddressNumFrom")).SendKeys(streetno);
                        driver.FindElement(By.Id("txtAddressStreet")).SendKeys(streetname);
                        try
                        {
                            driver.FindElement(By.Id("txtAddressUnit")).SendKeys(unitnumber);
                        }
                        catch { }
                        driver.FindElement(By.Id("btnAddressSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        try
                        {
                            IWebElement         addressmultitable = driver.FindElement(By.XPath("//*[@id='dataGrdList']/tbody"));
                            IList <IWebElement> addressmultirow   = addressmultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Addressid;
                            foreach (IWebElement Addressmulti in addressmultirow)
                            {
                                Addressid = Addressmulti.FindElements(By.TagName("td"));
                                if (Addressid.Count != 0 && !Addressmulti.Text.Contains("Type"))
                                {
                                    string AddressmultiresultAie = Addressid[1].Text;
                                    string Addressmultiresult    = Addressid[2].Text + "~" + Addressid[3].Text;
                                    gc.insert_date(orderNumber, AddressmultiresultAie, 883, Addressmultiresult, 1, DateTime.Now);
                                }
                            }
                            if (addressmultirow.Count != 0 && addressmultirow.Count < 26)
                            {
                                HttpContext.Current.Session["multiParcel_Arapahoe"] = "Maximum";
                                gc.CreatePdf_WOP(orderNumber, "Multiple Parcel", driver, "CO", "Arapahoe");
                                driver.Quit();
                                return("MultiParcel");
                            }
                            if (addressmultirow.Count != 0 && addressmultirow.Count > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Arapahoe_Multicount"] = "Maximum";
                                gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "CO", "Arapahoe");
                                driver.Quit();
                                return("Maximum");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("txtPIN")).SendKeys(parcelNumber);
                        driver.FindElement(By.Id("btnParcelSearchPIN")).Click();
                        Thread.Sleep(2000);
                    }
                    if (searchType == "unitnumber")
                    {
                        driver.FindElement(By.Id("txtAIN")).SendKeys(unitnumber);
                        driver.FindElement(By.Id("btnParcelSearchAIN")).Click();
                        Thread.Sleep(2000);
                    }

                    try
                    {
                        IWebElement Inodata = driver.FindElement(By.Id("lblNoResults"));
                        if (Inodata.Text.Contains("No matching records were found.") || Inodata.Text.Contains("No matching records were found for"))
                        {
                            HttpContext.Current.Session["Nodata_ArapahoeCO"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }

                    IWebElement propertydetailtable = driver.FindElement(By.XPath("//*[@id='shadedTable']/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/table[1]/tbody/tr[3]/td/table/tbody"));
                    Parcel_number = driver.FindElement(By.Id("ucParcelHeader_lblPinTxt")).Text;
                    string AIN               = driver.FindElement(By.Id("ucParcelHeader_lblAinTxt")).Text;
                    string OwnerName         = driver.FindElement(By.Id("ucParcelHeader_lblFullOwnerListTxt")).Text;
                    string Property_Address1 = driver.FindElement(By.Id("ucParcelHeader_lblSitusAddressTxt")).Text;
                    string Property_Address2 = driver.FindElement(By.Id("ucParcelHeader_lblSitusCityTxt")).Text;
                    string Property_Address  = Property_Address1 + Property_Address2;
                    string MailingAddress1   = driver.FindElement(By.Id("ucParcelHeader_lblOwnerAddressTxt")).Text;
                    string mailingaddress2   = driver.FindElement(By.Id("ucParcelHeader_lblOwnerCSZTxt")).Text;
                    string mailingaddress    = MailingAddress1 + mailingaddress2;
                    string legalDescription  = driver.FindElement(By.Id("ucParcelHeader_lblLegalDescTxt")).Text;
                    try
                    {
                        IWebElement yearbuildtable = driver.FindElement(By.XPath("//*[@id='shadedTable']/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/table[4]/tbody/tr/td/table/tbody"));
                        Year = gc.Between(yearbuildtable.Text, "Year Built", "Roof");
                    }
                    catch { }
                    string Landuse        = driver.FindElement(By.Id("ucParcelHeader_lblLandUseTxt")).Text;
                    string MillLevy       = driver.FindElement(By.XPath("//*[@id='ucParcelValue_lnkLevy']")).Text;
                    string propertyresult = AIN + "~" + OwnerName + "~" + Property_Address + "~" + mailingaddress + "~" + legalDescription + "~" + Year + "~" + Landuse + "~" + MillLevy;
                    gc.insert_date(orderNumber, Parcel_number, 852, propertyresult, 1, DateTime.Now);
                    gc.CreatePdf(orderNumber, Parcel_number, "Property Search Result", driver, "CO", "Arapahoe");
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    IWebElement         Assessmenttable = driver.FindElement(By.XPath("//*[@id='shadedTable']/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/table[2]/tbody"));
                    IList <IWebElement> assessmentrow   = Assessmenttable.FindElements(By.TagName("tr"));
                    IList <IWebElement> Assessmentid;
                    foreach (IWebElement assessment in assessmentrow)
                    {
                        Assessmentid = assessment.FindElements(By.TagName("td"));
                        if (Assessmentid.Count != 0 && !assessment.Text.Contains("Total") && !assessment.Text.Contains("Mill Levy") && Assessmentid.Count != 1)
                        {
                            string assessmentresult = Assessmentid[0].Text + "~" + Assessmentid[1].Text + "~" + Assessmentid[2].Text + "~" + Assessmentid[3].Text;
                            gc.insert_date(orderNumber, Parcel_number, 854, assessmentresult, 1, DateTime.Now);
                        }
                        if (assessment.Text.Contains("Mill Levy"))
                        {
                            break;
                        }
                    }
                    Amrock amc = new Amrock();
                    string RemainingAmount1 = "", RemainingAmount2 = "", AssessedTax1 = "", AssessedTax2 = "", SpecialAssess1 = "", SpecialAssess2 = "", PaidAmount1 = "", PaidAmount2 = "";
                    driver.Navigate().GoToUrl("https://taxsearch.arapahoegov.com/");
                    driver.FindElement(By.Id("ContentPlaceHolder1_txtPIN")).SendKeys(Parcel_number);
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax search before", driver, "CO", "Arapahoe");
                    driver.FindElement(By.Id("ContentPlaceHolder1_btnByPIN")).Click();
                    Thread.Sleep(2000);
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");
                    string tax_owner = driver.FindElement(By.Id("ContentPlaceHolder1_lblOwner")).Text;
                    string tax_city  = driver.FindElement(By.Id("ContentPlaceHolder1_lblCity")).Text;
                    string tax_aie   = driver.FindElement(By.Id("ContentPlaceHolder1_lblAIN")).Text;
                    string tax_pin   = driver.FindElement(By.Id("ContentPlaceHolder1_lblPIN")).Text;
                    amc.TaxId = tax_pin;
                    IWebElement payyear1 = driver.FindElement(By.Id("ContentPlaceHolder1_lblPayable"));
                    string      payyear  = gc.Between(payyear1.Text, "for", "Payable").Trim();
                    amc.TaxYear = payyear;
                    string      fullpaymentdue   = driver.FindElement(By.Id("ContentPlaceHolder1_lblDueFull")).Text;
                    string      firsthalfpayment = driver.FindElement(By.Id("ContentPlaceHolder1_lblDue1st")).Text;
                    string      sendhalfpayment  = driver.FindElement(By.Id("ContentPlaceHolder1_lblDue2nd")).Text;
                    IWebElement taxauthorityrow  = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Table4']/tbody/tr[13]/td/p[3]"));
                    Tax_Authority = gc.Between(taxauthorityrow.Text, "Payments can be mailed to:", "If using").Trim();
                    IWebElement         Tax_instaltable = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Table4']/tbody"));
                    IList <IWebElement> Tax_instalrow   = Tax_instaltable.FindElements(By.TagName("tr"));
                    IList <IWebElement> tax_instalid;
                    foreach (IWebElement tax_instal in Tax_instalrow)
                    {
                        tax_instalid = tax_instal.FindElements(By.TagName("td"));
                        if (tax_instalid.Count != 0 && tax_instal.Text.Contains("1st Half Amounts"))
                        {
                            Firsthalf  = tax_instalid[1].Text;
                            Secondhalf = tax_instalid[2].Text;
                            fullhalf   = tax_instalid[3].Text.Replace("/", " ");
                        }
                        if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Assessed Tax:") || tax_instal.Text.Contains("Special Assessment:") || tax_instal.Text.Contains("Fees:") || tax_instal.Text.Contains("Interest:") || tax_instal.Text.Contains("Payments:") || tax_instal.Text.Contains("Total Due:"))
                        {
                            Taxresult1 += tax_instalid[1].Text.Trim() + "~";
                            taxresult2 += tax_instalid[2].Text.Trim() + "~";
                            taxresult3 += tax_instalid[3].Text.Trim() + "~";
                        }
                        if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Assessed Tax:"))
                        {
                            AssessedTax1 = tax_instalid[1].Text.Replace("$", "").Trim();
                            AssessedTax2 = tax_instalid[2].Text.Replace("$", "").Trim();
                        }
                        if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Special Assessment:"))
                        {
                            SpecialAssess1 = tax_instalid[1].Text.Replace("$", "").Trim();
                            SpecialAssess2 = tax_instalid[2].Text.Replace("$", "").Trim();
                        }
                        if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Payments:"))
                        {
                            PaidAmount1 = tax_instalid[1].Text.Replace("$", "").Trim();
                            PaidAmount2 = tax_instalid[2].Text.Replace("$", "").Trim();
                        }

                        if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Total Due:"))
                        {
                            RemainingAmount1 = tax_instalid[1].Text.Replace("$", "").Trim();
                            RemainingAmount2 = tax_instalid[2].Text.Replace("$", "").Trim();
                        }
                    }
                    string taxresult1 = payyear + "~" + tax_owner + "~" + tax_city + "~" + tax_aie + "~" + Firsthalf + "~" + Taxresult1.Remove(Taxresult1.Length - 1) + "~" + firsthalfpayment + "~" + Tax_Authority;
                    string Taxresult2 = payyear + "~" + tax_owner + "~" + tax_city + "~" + tax_aie + "~" + Secondhalf + "~" + taxresult2.Remove(taxresult2.Length - 1) + "~" + sendhalfpayment + "~" + Tax_Authority;
                    string Taxresult3 = payyear + "~" + tax_owner + "~" + tax_city + "~" + tax_aie + "~" + fullhalf + "~" + taxresult3.Remove(taxresult3.Length - 1) + "~" + fullpaymentdue + "~" + Tax_Authority;
                    gc.insert_date(orderNumber, Parcel_number, 856, taxresult1, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 856, Taxresult2, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 856, Taxresult3, 1, DateTime.Now);
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax search After", driver, "CO", "Arapahoe");

                    string strinstAmount1 = Convert.ToString(Convert.ToDouble(AssessedTax1) + Convert.ToDouble(SpecialAssess1));
                    string strinstAmount2 = Convert.ToString(Convert.ToDouble(AssessedTax2) + Convert.ToDouble(SpecialAssess2));

                    amc.Instamountpaid1 = "$" + strinstAmount1;
                    amc.Instamountpaid2 = "$" + strinstAmount2;

                    amc.Instamount1 = "$" + PaidAmount1;
                    amc.Instamount2 = "$" + PaidAmount2;

                    if (RemainingAmount1 == "0.00" && PaidAmount1 != "0.00")
                    {
                        amc.InstPaidDue1 = "Paid";
                    }
                    if (RemainingAmount1 != "0.00" && PaidAmount1 == "0.00")
                    {
                        amc.InstPaidDue1 = "Due";
                    }
                    if (RemainingAmount2 != "0.00" && PaidAmount2 != "0.00")
                    {
                        amc.InstPaidDue2 = "Paid";
                    }
                    if (RemainingAmount2 != "0.00" && PaidAmount2 == "0.00")
                    {
                        amc.InstPaidDue2 = "Due";
                    }
                    amc.Remainingbalance1 = "$" + RemainingAmount1;
                    amc.Remainingbalance2 = "$" + RemainingAmount2;

                    //amg amount
                    string PriorYeardue = driver.FindElement(By.Id("ContentPlaceHolder1_lblPriorYear")).Text;
                    if (PriorYeardue.Trim() == "Y")
                    {
                        amc.IsDelinquent = "Yes";
                    }
                    if (PriorYeardue.Trim() == "N")
                    {
                        amc.IsDelinquent = "No";
                    }
                    string Bankruptcy           = driver.FindElement(By.Id("ContentPlaceHolder1_lblBankruptcy")).Text;
                    string Treasurer_assessment = driver.FindElement(By.Id("ContentPlaceHolder1_lblTreasAssess")).Text;
                    string TaxLiens             = driver.FindElement(By.Id("ContentPlaceHolder1_lblTaxLien")).Text;
                    string Treasurer_deed       = driver.FindElement(By.Id("ContentPlaceHolder1_lblTreasDeed")).Text;
                    string amgresult            = PriorYeardue + "~" + Bankruptcy + "~" + Treasurer_assessment + "~" + TaxLiens + "~" + Treasurer_deed;
                    gc.insert_date(orderNumber, Parcel_number, 859, amgresult, 1, DateTime.Now);
                    //previous year
                    string current = driver.CurrentWindowHandle;
                    driver.FindElement(By.Id("ContentPlaceHolder1_aPrevYear")).Click();
                    Thread.Sleep(2000);
                    driver.SwitchTo().Window(driver.WindowHandles.Last());
                    gc.CreatePdf(orderNumber, Parcel_number, "previous year", driver, "CO", "Arapahoe");
                    try
                    {
                        IWebElement paymentyearweb = driver.FindElement(By.Id("ContentPlaceHolder1_lblPayable"));
                        prepayment = gc.Between(paymentyearweb.Text, "for", "Payable").Trim();
                    }
                    catch { }
                    try
                    {
                        IWebElement         prepaytable = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Table2']/tbody"));
                        IList <IWebElement> prepayrow   = prepaytable.FindElements(By.TagName("tr"));
                        IList <IWebElement> prepayid;
                        foreach (IWebElement prepay in prepayrow)
                        {
                            prepayid = prepay.FindElements(By.TagName("td"));
                            if (prepayid.Count != 0 && prepay.Text.Contains("Original Amount"))
                            {
                                prepayresult1 = prepayid[1].Text;
                                paiedamt      = prepayid[2].Text;
                            }
                            if (prepayid.Count != 0 && !prepay.Text.Contains("Original Amount") && !prepayid[1].Text.Contains(" "))
                            {
                                prepayresult2 += prepayid[1].Text + "~";
                                prepayresult3 += prepayid[2].Text + "~";
                            }
                        }
                        string preresultorg   = prepayment + "~" + prepayresult1 + "~" + prepayresult2.Remove(prepayresult2.Length - 1);
                        string preresultpaied = prepayment + "~" + paiedamt + "~" + prepayresult3.Remove(prepayresult3.Length - 1);
                        gc.insert_date(orderNumber, Parcel_number, 869, preresultorg, 1, DateTime.Now);
                        gc.insert_date(orderNumber, Parcel_number, 869, preresultpaied, 1, DateTime.Now);
                    }
                    catch { }

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

                    //driver.Quit();

                    driver.SwitchTo().Window(current);
                    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);
                        string fileName = "";
                        driver1.Navigate().GoToUrl(driver.Url);
                        IWebElement printable = driver1.FindElement(By.Id("ContentPlaceHolder1_aTaxNotice"));
                        fileName = AIN + ".pdf";
                        //  fileName = "abc";
                        IJavaScriptExecutor js1 = driver1 as IJavaScriptExecutor;
                        js1.ExecuteScript("arguments[0].click();", printable);
                        Thread.Sleep(4000);
                        driver1.SwitchTo().Window(driver1.WindowHandles.Last());
                        fileName = AIN + ".pdf";
                        Thread.Sleep(2000);
                        //2073-10-2-05-012
                        gc.AutoDownloadFile(orderNumber, Parcel_number, "Arapahoe", "CO", fileName);
                        driver1.Quit();
                    }
                    catch (Exception ex)
                    {
                    }

                    TaxTime     = DateTime.Now.ToString("HH:mm:ss");
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "CO", "Arapahoe", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);
                    driver.Quit();
                    gc.mergpdf(orderNumber, "CO", "Arapahoe");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Exemplo n.º 3
0
        public string FTP_Duval(string streetno, string streetname, string streettype, string unitnumber, string ownername, string parcelNumber, string searchType, string orderNumber)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            //GlobalClass.global_county = county;
            string outparcelno = "", siteaddr = "", mail_addr = "", owner1 = "", tax_dist = "", legal_desc = "", year_built = "", subdivision = "", propuse = "";
            string valued_year = "", tax_year = "", assess_land = "", ass_improve = "", ass_total = "", tax_value = "", exem = "", pathid = "", Total_taxes = "";
            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("https://paopropertysearch.coj.net/Basic/Search.aspx");
                    if (searchType == "titleflex")
                    {
                        string titleaddress = streetno + " " + streetname + " " + streettype + " " + unitnumber;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "FL", "Duval");
                        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_DuvalFL"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("ctl00_cphBody_tbStreetNumber")).SendKeys(streetno);
                        driver.FindElement(By.Id("ctl00_cphBody_tbStreetName")).SendKeys(streetname);
                        driver.FindElement(By.Id("ctl00_cphBody_tbStreetUnit")).SendKeys(unitnumber);
                        gc.CreatePdf_WOP(orderNumber, "Input Passed Address Search", driver, "FL", "Duval");
                        driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(3000);
                        gc.CreatePdf_WOP(orderNumber, "Address Search Results", driver, "FL", "Duval");
                        string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", "");
                        reccount = reccount.Replace(" properties found", "");
                        int count = Int32.Parse(reccount);
                        if (count > 1)
                        {
                            multiparcel(orderNumber);
                            driver.Quit();
                            return("MultiParcel");
                        }

                        try
                        {
                            string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text;
                            if (nodata.Contains("No Results Found"))
                            {
                                HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    if (searchType == "parcel")
                    {
                        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;
                        }

                        //ctl00_cphBody_tbRE6
                        //ctl00_cphBody_tbRE4
                        var    Parsplit = parcelNumber.Split('-');
                        int    count    = parcelNumber.Replace("-", "").Count();
                        string Pa1      = "";
                        string Pa2      = "";
                        if (count == 10)
                        {
                            Pa1 = Parsplit[0];
                            Pa2 = Parsplit[1];
                            driver.FindElement(By.Id("ctl00_cphBody_tbRE6")).SendKeys(Pa1);
                            driver.FindElement(By.Id("ctl00_cphBody_tbRE4")).SendKeys(Pa2);
                            gc.CreatePdf_WOP(orderNumber, "Input Passed Parcel Search", driver, "FL", "Duval");
                            driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter);
                            Thread.Sleep(3000);
                            gc.CreatePdf_WOP(orderNumber, "Parcel Search Results", driver, "FL", "Duval");
                            string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", "");
                            reccount = reccount.Replace(" properties found", "");
                            int count1 = Int32.Parse(reccount);
                            if (count1 > 1)
                            {
                                multiparcel(orderNumber);
                                driver.Quit();
                                return("MultiParcel");
                            }
                            try
                            {
                                string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text;
                                if (nodata.Contains("No Results Found"))
                                {
                                    HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero";
                                    driver.Quit();
                                    return("No Data Found");
                                }
                            }
                            catch { }
                        }
                    }

                    if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("ctl00_cphBody_tbName")).SendKeys(ownername);
                        gc.CreatePdf_WOP(orderNumber, "Input Passed Ownername Search", driver, "FL", "Duval");
                        driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(3000);
                        gc.CreatePdf_WOP(orderNumber, "Ownername Search Results", driver, "FL", "Duval");
                        string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", "");
                        reccount = reccount.Replace(" properties found", "");
                        int count = Int32.Parse(reccount);
                        if (count > 1)
                        {
                            multiparcel(orderNumber);
                            driver.Quit();
                            return("MultiParcel");
                        }
                        try
                        {
                            string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text;
                            if (nodata.Contains("No Results Found"))
                            {
                                HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    Amrock amc = new Amrock();

                    //property details
                    Thread.Sleep(3000);
                    driver.FindElement(By.XPath("//*[@id='ctl00_cphBody_gridResults']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter);
                    gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "FL", "Duval");
                    ownername = driver.FindElement(By.Id("ctl00_cphBody_repeaterOwnerInformation_ctl00_lblOwnerName")).Text.Trim();

                    try
                    {
                        ownername += ",";
                        ownername += driver.FindElement(By.Id("ctl00_cphBody_repeaterOwnerInformation_ctl01_lblOwnerName")).Text.Trim();
                    }
                    catch { }
                    siteaddr    = driver.FindElement(By.XPath("//*[@id='primaryAddr']/div")).Text.Trim().Replace("\r\n", ",");
                    outparcelno = driver.FindElement(By.Id("ctl00_cphBody_lblRealEstateNumber")).Text.Trim();
                    amc.TaxId   = outparcelno;
                    tax_dist    = driver.FindElement(By.Id("ctl00_cphBody_lblTaxDistrict")).Text.Trim();
                    propuse     = driver.FindElement(By.Id("ctl00_cphBody_lblPropertyUse")).Text.Trim();
                    subdivision = driver.FindElement(By.Id("ctl00_cphBody_lblSubdivision")).Text.Trim();
                    try
                    {
                        //amc Year Built
                        year_built = driver.FindElement(By.Id("ctl00_cphBody_repeaterBuilding_ctl00_lblYearBuilt")).Text.Trim();
                    }
                    catch { }
                    gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "FL", "Duval");
                    //legaldesc
                    IWebElement         legaldes    = driver.FindElement(By.Id("ctl00_cphBody_gridLegal"));
                    IList <IWebElement> legaldesRow = legaldes.FindElements(By.TagName("tr"));
                    int rowcount = legaldesRow.Count;
                    IList <IWebElement> legaldesRowTD;
                    int a = 0;
                    foreach (IWebElement rowid in legaldesRow)
                    {
                        legaldesRowTD = rowid.FindElements(By.TagName("td"));
                        if (legaldesRowTD.Count != 0 && !rowid.Text.Contains("LN"))
                        {
                            if (a == 0)
                            {
                                legal_desc = legaldesRowTD[1].Text;
                            }
                            else
                            {
                                legal_desc += ",";
                                legal_desc += legaldesRowTD[1].Text;
                            }

                            a++;
                        }
                    }

                    string property = siteaddr + "~" + ownername + "~" + tax_dist + "~" + propuse + "~" + legal_desc + "~" + subdivision + "~" + year_built;
                    gc.insert_date(orderNumber, outparcelno, 331, property, 1, DateTime.Now);

                    //valuation Information
                    IWebElement         valuetableElement = driver.FindElement(By.XPath("//*[@id='propValue']/table"));
                    IList <IWebElement> valuetableRow     = valuetableElement.FindElements(By.TagName("tr"));
                    IList <IWebElement> valuerowTD;
                    IList <IWebElement> valuerowTH;
                    List <string>       history                 = new List <string>();
                    List <string>       ValueMethod             = new List <string>();
                    List <string>       TotalBuildingValue      = new List <string>();
                    List <string>       ExtraFeatureValue       = new List <string>();
                    List <string>       LandValue_Market        = new List <string>();
                    List <string>       LandValue_Agric         = new List <string>();
                    List <string>       Just_MarketValue        = new List <string>();
                    List <string>       AssessedValue           = new List <string>();
                    List <string>       Cap_DiffPortability_Amt = new List <string>();
                    List <string>       Exemptions              = new List <string>();
                    List <string>       TaxableValue            = new List <string>();
                    int i = 0;
                    foreach (IWebElement row in valuetableRow)
                    {
                        valuerowTH = row.FindElements(By.TagName("th"));
                        valuerowTD = row.FindElements(By.TagName("td"));
                        if (i == 0)
                        {
                            if (valuerowTH.Count != 0)
                            {
                                history.Add(valuerowTH[1].Text.Trim().Replace("\r\n", " "));
                                history.Add(valuerowTH[2].Text.Trim().Replace("\r\n", " "));
                            }
                        }
                        if (valuerowTD.Count != 0)
                        {
                            if (i == 1)
                            {
                                ValueMethod.Add(valuerowTD[0].Text);
                                ValueMethod.Add(valuerowTD[1].Text);
                            }
                            else if (i == 2)
                            {
                                TotalBuildingValue.Add(valuerowTD[0].Text);
                                TotalBuildingValue.Add(valuerowTD[1].Text);
                            }
                            else if (i == 3)
                            {
                                ExtraFeatureValue.Add(valuerowTD[0].Text);
                                ExtraFeatureValue.Add(valuerowTD[1].Text);
                            }
                            else if (i == 4)
                            {
                                LandValue_Market.Add(valuerowTD[0].Text);
                                LandValue_Market.Add(valuerowTD[1].Text);
                            }
                            else if (i == 5)
                            {
                                LandValue_Agric.Add(valuerowTD[0].Text);
                                LandValue_Agric.Add(valuerowTD[1].Text);
                            }
                            else if (i == 6)
                            {
                                Just_MarketValue.Add(valuerowTD[0].Text);
                                Just_MarketValue.Add(valuerowTD[1].Text);
                            }

                            else if (i == 7)
                            {
                                AssessedValue.Add(valuerowTD[0].Text);
                                //amc.TotalAssessedValue = valuerowTD[0].Text;
                                AssessedValue.Add(valuerowTD[1].Text);
                            }

                            else if (i == 8)
                            {
                                Cap_DiffPortability_Amt.Add(valuerowTD[0].Text.Trim().Replace("\r\n", ","));
                                Cap_DiffPortability_Amt.Add(valuerowTD[1].Text.Trim().Replace("\r\n", ","));
                            }

                            else if (i == 9)
                            {
                                Exemptions.Add(valuerowTD[0].Text);
                                Exemptions.Add(valuerowTD[1].Text);
                            }

                            else if (i == 10)
                            {
                                TaxableValue.Add(valuerowTD[0].Text);
                                TaxableValue.Add(valuerowTD[1].Text);
                            }
                        }
                        i++;
                    }
                    string value1 = history[0] + "~" + ValueMethod[0] + "~" + TotalBuildingValue[0] + "~" + ExtraFeatureValue[0] + "~" + LandValue_Market[0] + "~" + LandValue_Agric[0] + "~" + Just_MarketValue[0] + "~" + AssessedValue[0] + "~" + Cap_DiffPortability_Amt[0] + "~" + Exemptions[0] + "~" + TaxableValue[0];
                    gc.insert_date(orderNumber, outparcelno, 332, value1, 1, DateTime.Now);
                    string value2 = history[1] + "~" + ValueMethod[1] + "~" + TotalBuildingValue[1] + "~" + ExtraFeatureValue[1] + "~" + LandValue_Market[1] + "~" + LandValue_Agric[1] + "~" + Just_MarketValue[1] + "~" + AssessedValue[1] + "~" + Cap_DiffPortability_Amt[1] + "~" + Exemptions[1] + "~" + TaxableValue[1];
                    gc.insert_date(orderNumber, outparcelno, 332, value2, 1, DateTime.Now);
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    //Tax Details
                    string tax_type = "", tlegal_desc = "", curr_tax_status = "", curr_delinq_status = "", unpaid_tax = "", strTaxYear = "", strTaxFolio = "", strTaxCertificateYear = "", strTaxCertificateNo = "", strTaxCertifcateName = "", strTaxTDANo = "", strTaxTCertificateYear = "", strTaxTCertificateNo = "", strTaxTCertifcateName = "", strTaxTTDANo = "", strTaxAmountDue = "", strTaxTotalDue = "", strUnpaidType = "";
                    driver.Navigate().GoToUrl("http://fl-duval-taxcollector.publicaccessnow.com/PropertyTaxSearch.aspx");
                    driver.FindElement(By.Id("fldSearchFor")).SendKeys(outparcelno);
                    gc.CreatePdf(orderNumber, outparcelno, "Input Passed TaxSearch", driver, "FL", "Duval");
                    driver.FindElement(By.Name("btnSearch")).SendKeys(Keys.Enter);
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, outparcelno, "TaxSearch Result", driver, "FL", "Duval");
                    //*[@id="MVPQuickSearch"]/div[2]/div[1]/div[1]/ul[2]/li[1]/a
                    driver.FindElement(By.XPath("//*[@id='MVPQuickSearch']/div[2]/div[1]/div[1]/ul[2]/li[1]/a")).SendKeys(Keys.Enter);
                    Thread.Sleep(3000);
                    gc.CreatePdf(orderNumber, outparcelno, "Tax History Details", driver, "FL", "Duval");
                    //current year tax
                    tax_type        = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[2]/td[2]")).Text.Trim();
                    mail_addr       = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[3]/td/table/tbody/tr[1]/td[1]")).Text.Trim().Replace("\r\n", ",").Replace("Mailing Address:", "");
                    tlegal_desc     = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[5]/td")).Text.Trim();
                    curr_tax_status = driver.FindElement(By.Id("dnn_ctr444_ModuleContent")).Text.Trim();

                    try
                    {
                        IWebElement IdeliquentPay = driver.FindElement(By.Id("dnn_ctr445_ModuleContent"));
                        if (IdeliquentPay.Text.Contains("No delinquent payment due for this account."))
                        {
                            curr_delinq_status = IdeliquentPay.Text.Trim();
                        }
                    }
                    catch { }
                    try
                    {
                        IWebElement IUnpaid = driver.FindElement(By.XPath("//*[@id='lxT531']"));
                        if (IUnpaid.Text.Contains("No Records Found"))
                        {
                            unpaid_tax = IUnpaid.Text.Trim();
                        }
                    }

                    catch { }
                    string currtax = tax_type + "~" + siteaddr + "~" + mail_addr + "~" + tlegal_desc + "~" + curr_tax_status + "~" + curr_delinq_status + "~" + unpaid_tax;
                    gc.insert_date(orderNumber, outparcelno, 334, currtax, 1, DateTime.Now);

                    //bill history
                    List <string>       listurl        = new List <string>();
                    IWebElement         billhistory    = driver.FindElement(By.XPath("//*[@id='443']/table"));
                    IList <IWebElement> billhistoryRow = billhistory.FindElements(By.TagName("tr"));
                    int billrowcount = billhistoryRow.Count;
                    IList <IWebElement> billhistoryRowTD;
                    IList <IWebElement> billhistoryRowTA;
                    int b = 0;
                    foreach (IWebElement rowid in billhistoryRow)
                    {
                        billhistoryRowTD = rowid.FindElements(By.TagName("td"));
                        billhistoryRowTA = rowid.FindElements(By.TagName("a"));
                        if (billhistoryRowTD.Count != 0 && !rowid.Text.Contains("Tax Year"))
                        {
                            if (b <= 3)
                            {
                                try
                                {
                                    listurl.Add(billhistoryRowTA[0].GetAttribute("href"));
                                }
                                catch { }
                            }
                            if (b < billrowcount - 1)
                            {
                                //Tax Year~Date Paid~Folio~Paid By~Ownername~Amount Due~Amount Paid
                                string billhis = billhistoryRowTD[0].Text + "~" + "" + "~" + billhistoryRowTD[1].Text + "~" + "" + "~" + billhistoryRowTD[2].Text + "~" + billhistoryRowTD[3].Text + "~" + "";
                                gc.insert_date(orderNumber, outparcelno, 335, billhis, 1, DateTime.Now);
                            }
                            if (b == billrowcount - 1)
                            {
                                string billhis = "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + billhistoryRowTD[0].Text + "~" + "";
                                gc.insert_date(orderNumber, outparcelno, 335, billhis, 1, DateTime.Now);
                            }
                        }

                        b++;
                    }

                    try
                    {
                        IWebElement         IUnpaidtable = driver.FindElement(By.XPath("//*[@id='531']/table[1]/tbody[1]"));
                        IList <IWebElement> IUnpaidRow   = IUnpaidtable.FindElements(By.XPath("tr"));
                        IList <IWebElement> IUnpaidTd;
                        foreach (IWebElement unpaid in IUnpaidRow)
                        {
                            IUnpaidTd = unpaid.FindElements(By.XPath("td"));
                            if (IUnpaidTd.Count != 0)
                            {
                                strTaxYear            = IUnpaidTd[0].Text;
                                amc.TaxYear           = IUnpaidTd[0].Text;
                                strTaxFolio           = IUnpaidTd[1].Text;
                                strTaxCertificateYear = IUnpaidTd[2].Text;
                                strTaxCertificateNo   = IUnpaidTd[3].Text;
                                strTaxCertifcateName  = IUnpaidTd[4].Text;
                                strTaxTDANo           = IUnpaidTd[5].Text;

                                string UnpaidDetails = strTaxYear + "~" + strTaxFolio + "~" + strTaxCertificateYear + "~" + strTaxCertificateNo + "~" + strTaxCertifcateName + "~" + strTaxTDANo + "~" + "-";
                                gc.insert_date(orderNumber, outparcelno, 535, UnpaidDetails, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }


                    foreach (string URL in listurl)
                    {
                        driver.Navigate().GoToUrl(URL);
                        Thread.Sleep(3000);
                        tax_year = driver.FindElement(By.XPath("//*[@id='lxT451']/table/tbody/tr[2]/td[3]")).Text.Trim();
                        gc.CreatePdf(orderNumber, outparcelno, "Tax History Details" + tax_year, driver, "FL", "Duval");
                        try
                        {
                            exem = driver.FindElement(By.XPath("//*[@id='lxT451']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text.Trim().Replace("Exemptions", "").Replace("\r\n", " ");
                        }
                        catch { }

                        //add valorem Tax

                        IWebElement         valoremtable    = driver.FindElement(By.XPath("//*[@id='lxT500']/table/tbody"));
                        IList <IWebElement> valoremtableRow = valoremtable.FindElements(By.TagName("tr"));
                        int valoremtablerowcount            = valoremtableRow.Count;
                        IList <IWebElement> valoremtablerowTD;
                        int d = 0;
                        foreach (IWebElement rowid in valoremtableRow)
                        {
                            valoremtablerowTD = rowid.FindElements(By.TagName("td"));
                            if (valoremtablerowTD.Count != 0)
                            {
                                string valoremtax = "";
                                if (d < valoremtablerowcount - 1)
                                {
                                    //Tax Year~Exemptions~Tax_Type~Taxing Code~Taxing Authority~Assessed Value~Exemption Amount~Taxable Value~Millage Rate~Taxes
                                    valoremtax = tax_year + "~" + exem + "~" + "Ad Valorem Taxes" + "~" + valoremtablerowTD[0].Text + "~" + valoremtablerowTD[1].Text + "~" + valoremtablerowTD[2].Text + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text + "~" + valoremtablerowTD[5].Text + "~" + valoremtablerowTD[6].Text;
                                    gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now);
                                }
                                else if (d < valoremtablerowcount)
                                {
                                    valoremtax = tax_year + "~" + exem + "~" + "Ad Valorem Taxes" + "~" + "" + "~" + "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text;
                                    gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now);
                                }
                            }
                            d++;
                        }

                        //Non Ad-Valorems
                        try
                        {
                            IWebElement         nonvaloremtable    = driver.FindElement(By.XPath("//*[@id='lxT501']/table"));
                            IList <IWebElement> nonvaloremtableRow = nonvaloremtable.FindElements(By.TagName("tr"));
                            int nonvaloremtablerowcount            = nonvaloremtableRow.Count;
                            IList <IWebElement> nonvaloremtablerowTD;
                            int e = 0;
                            foreach (IWebElement rowid in nonvaloremtableRow)
                            {
                                nonvaloremtablerowTD = rowid.FindElements(By.TagName("td"));
                                if (nonvaloremtablerowTD.Count != 0)
                                {
                                    string valoremtax = "";
                                    if (e < nonvaloremtablerowcount - 1)
                                    {
                                        //Tax Year~Exemptions~Tax_Type~Taxing Code~Taxing Authority~Assessed Value~Exemption Amount~Taxable Value~Millage Rate~Taxes
                                        valoremtax = tax_year + "~" + exem + "~" + "Non Ad Valorem Taxes" + "~" + nonvaloremtablerowTD[0].Text + "~" + nonvaloremtablerowTD[1].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[2].Text;
                                        gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now);
                                    }
                                    else if (e < nonvaloremtablerowcount)
                                    {
                                        valoremtax = tax_year + "~" + exem + "~" + "Non Ad Valorem Taxes" + "~" + "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[0].Text;
                                        gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now);
                                    }
                                }
                                e++;
                            }
                        }
                        catch { }
                        //If Paid By
                        try
                        {
                            IWebElement         taxdettable    = driver.FindElement(By.XPath("//*[@id='539']/table/tbody"));
                            IList <IWebElement> taxdettableRow = taxdettable.FindElements(By.TagName("tr"));
                            int taxdettablecount = taxdettableRow.Count;
                            IList <IWebElement> taxdettablerowTD;
                            int f = 0;
                            foreach (IWebElement rowid in taxdettableRow)
                            {
                                taxdettablerowTD = rowid.FindElements(By.TagName("td"));
                                if (taxdettablerowTD.Count != 0)
                                {
                                    string taxdue = "";
                                    if (f < rowcount - 1)
                                    {
                                        //Folio~Taxes~Fees~Interest~Discount~Paid~Due Date~Amount Due
                                        taxdue = tax_year + "~" + "" + "~" + taxdettablerowTD[0].Text + "~" + taxdettablerowTD[1].Text + "~" + taxdettablerowTD[2].Text + "~" + taxdettablerowTD[3].Text + "~" + "" + "~" + taxdettablerowTD[4].Text + "~" + taxdettablerowTD[5].Text;
                                        gc.insert_date(orderNumber, outparcelno, 341, taxdue, 1, DateTime.Now);
                                    }
                                }
                                f++;
                            }
                        }
                        catch { }
                        try
                        {
                            IWebElement         priortaxdettable    = driver.FindElement(By.XPath("//*[@id='lxT453']/table"));
                            IList <IWebElement> priortaxdettableRow = priortaxdettable.FindElements(By.TagName("tr"));
                            int priortaxdettablecount = priortaxdettableRow.Count;
                            IList <IWebElement> priortaxdettablerowTD;
                            int f = 0;
                            foreach (IWebElement rowid in priortaxdettableRow)
                            {
                                priortaxdettablerowTD = rowid.FindElements(By.TagName("td"));
                                if (priortaxdettablerowTD.Count != 0)
                                {
                                    string taxdue = "";
                                    if (f < rowcount - 1)
                                    {
                                        taxdue = tax_year + "~" + priortaxdettablerowTD[1].Text + "~" + priortaxdettablerowTD[2].Text + "~" + priortaxdettablerowTD[3].Text + "~" + priortaxdettablerowTD[4].Text + "~" + priortaxdettablerowTD[5].Text + "~" + priortaxdettablerowTD[6].Text + "~" + priortaxdettablerowTD[7].Text + "~" + priortaxdettablerowTD[8].Text;
                                        gc.insert_date(orderNumber, outparcelno, 341, taxdue, 1, DateTime.Now);

                                        amc.Instamount1     = priortaxdettablerowTD[2].Text;
                                        amc.Instamountpaid1 = priortaxdettablerowTD[6].Text;
                                        if (!priortaxdettablerowTD[6].Text.Contains("$0.00"))
                                        {
                                            amc.InstPaidDue1 = "Paid";
                                        }
                                        if (priortaxdettablerowTD[6].Text.Contains("$0.00"))
                                        {
                                            amc.InstPaidDue1 = "Due";
                                        }
                                    }
                                }
                                f++;
                            }
                        }
                        catch
                        {
                        }
                        //payment history
                        try
                        {
                            try
                            {
                                histaxdettable = driver.FindElement(By.XPath("//*[@id='lxT454']/table/tbody"));
                            }

                            catch { }
                            try
                            {
                                if (histaxdettable == null)
                                {
                                    histaxdettable = driver.FindElement(By.XPath("//*[@id='539']/table[2]/tbody"));
                                }
                            }
                            catch { }
                            IList <IWebElement> histaxdettableRow = histaxdettable.FindElements(By.TagName("tr"));
                            int histaxdettablecount = histaxdettableRow.Count;
                            IList <IWebElement> histaxdettablerowTD;
                            int f = 0;
                            foreach (IWebElement rowid in histaxdettableRow)
                            {
                                histaxdettablerowTD = rowid.FindElements(By.TagName("td"));
                                if (histaxdettablerowTD.Count != 0)
                                {
                                    string taxhis = "";
                                    if (f < rowcount - 1)
                                    {
                                        //Tax Year~Date Paid~Folio~Paid By~Ownername~Amount Due~Amount Paid
                                        taxhis = histaxdettablerowTD[1].Text + "~" + histaxdettablerowTD[0].Text + "~" + histaxdettablerowTD[2].Text + "~" + histaxdettablerowTD[3].Text + "~" + "" + "~" + "" + "~" + histaxdettablerowTD[4].Text;
                                        gc.insert_date(orderNumber, outparcelno, 335, taxhis, 1, DateTime.Now);
                                    }
                                }
                                f++;
                            }
                        }
                        catch { }

                        //UnPaid if Avilable
                        try
                        {
                            strUnpaidType = driver.FindElement(By.Id("dnn_ctr504_dnnTITLE_lblTitle")).Text;
                        }
                        catch { }
                        try
                        {
                            IWebElement         Iunpaid    = driver.FindElement(By.XPath("//*[@id='504']/table/tbody"));
                            IList <IWebElement> IunpaidRow = Iunpaid.FindElements(By.XPath("tr"));
                            IList <IWebElement> IunpaidTd;
                            foreach (IWebElement unpaid in IunpaidRow)
                            {
                                IunpaidTd = unpaid.FindElements(By.XPath("td"));
                                if (IunpaidTd.Count != 0)
                                {
                                    strTaxTCertificateYear = IunpaidTd[0].Text;
                                    strTaxTCertificateNo   = IunpaidTd[1].Text;
                                    strTaxTCertifcateName  = IunpaidTd[2].Text;
                                    strTaxTTDANo           = IunpaidTd[3].Text;
                                    strTaxAmountDue        = IunpaidTd[4].Text;

                                    string UnpaidTotalDetails = "-" + "~" + "-" + "~" + strTaxTCertificateYear + "~" + strTaxTCertificateNo + "~" + strTaxTCertifcateName + "~" + strTaxTTDANo + "~" + strTaxAmountDue;
                                    gc.insert_date(orderNumber, outparcelno, 535, UnpaidTotalDetails, 1, DateTime.Now);
                                }
                            }
                        }
                        catch
                        {
                        }
                        try
                        {
                            IWebElement         IunTotalpaid    = driver.FindElement(By.XPath("//*[@id='504']/table/tfoot"));
                            IList <IWebElement> IunpaidTotalRow = IunTotalpaid.FindElements(By.XPath("tr"));
                            IList <IWebElement> IunpaidTotalTd;
                            foreach (IWebElement unpaid in IunpaidTotalRow)
                            {
                                IunpaidTotalTd = unpaid.FindElements(By.XPath("td"));
                                if (IunpaidTotalTd.Count != 0)
                                {
                                    strTaxTotalDue = IunpaidTotalTd[0].Text;

                                    string UnpaidTotalDetails = "-" + "~" + "Total" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strTaxTotalDue;
                                    gc.insert_date(orderNumber, outparcelno, 535, UnpaidTotalDetails, 1, DateTime.Now);
                                }
                            }
                        }
                        catch
                        {
                        }
                    }

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

                    TaxTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Quit();
                    gc.mergpdf(orderNumber, "FL", "Duval");
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "FL", "Duval", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Exemplo n.º 4
0
        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;
            Amrock amck = new Amrock();
            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();
                        amck.TaxId        = Parcel_No;
                        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 ");
                        amck.TaxYear               = Tax_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 = 0;
                        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.Trim();
                                BALANCE   = TDTax[3].Text;
                                if (YEAR_2017 == "PENALTY & OTHER")
                                {
                                    i++;
                                    amck.IsDelinquent = "Yes";
                                }
                                if (YEAR_2017 == "TOTAL")
                                {
                                    if (PAID == "0.00")
                                    {
                                        amck.Instamount1  = TAX_DUE;
                                        amck.InstPaidDue1 = "Due";
                                    }
                                    else
                                    {
                                        amck.Instamount1     = TAX_DUE;
                                        amck.Instamountpaid1 = PAID;
                                        amck.InstPaidDue1    = "Paid";
                                    }
                                    if (BALANCE.Contains("Penalty") && i == 0)
                                    {
                                        amck.IsDelinquent = "Yes";
                                    }
                                    else

                                    {
                                        if (i == 0)
                                        {
                                            amck.IsDelinquent = "No";
                                        }
                                    }
                                }
                                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++;
                        }

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

                        //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;
                }
            }
        }
Exemplo n.º 5
0
        public string FTP_ElPaso_TX(string streetno, string direction, string streetname, string streettype, string unitnumber, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel)
        {
            Amrock amck = new Amrock();

            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            //var driverService = PhantomJSDriverService.CreateDefaultService();
            //driverService.HideCommandPromptWindow = true;
            //driver = new ChromeDriver();
            //driver = new PhantomJSDriver();
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            string address = "", yearBuilt = "", Parcel_number = "", Yearhref = "";

            using (driver = new PhantomJSDriver())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Navigate().GoToUrl("http://www.epcad.org/Search");
                    int currentyear = DateTime.Now.Year;
                    if (searchType == "titleflex")
                    {
                        string straddress = "";
                        if (direction != "")
                        {
                            straddress = streetno + " " + direction + " " + streetname + " " + streettype + " " + unitnumber;
                        }
                        else
                        {
                            straddress = streetno + " " + streetname + " " + streettype + " " + unitnumber;
                        }
                        gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, straddress, "TX", "El Paso");
                        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["ElPaso_Zero"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    IWebElement         propertyyeartable = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[1]/div/form/div[1]/div/ul"));
                    IList <IWebElement> propertyyearrow   = propertyyeartable.FindElements(By.TagName("li"));
                    IList <IWebElement> propertyyearid;
                    foreach (IWebElement propertyyearclick in propertyyearrow)
                    {
                        propertyyearid = propertyyearclick.FindElements(By.TagName("a"));
                        if (propertyyearid.Count != 0)
                        {
                            string yearclick = propertyyearid[0].GetAttribute("href");
                            Yearhref = GlobalClass.After(yearclick, "Year=");
                            if (Yearhref == Convert.ToString(currentyear))
                            {
                                driver.Navigate().GoToUrl(yearclick);
                                break;
                            }
                        }
                    }
                    if (searchType == "address")
                    {
                        if (direction.Trim() != "" && streettype.Trim() != "")
                        {
                            address = streetno + " " + direction.Trim() + " " + streetname.Trim() + " " + streettype.Trim();
                        }
                        if (direction.Trim() != "" && streettype.Trim() == "")
                        {
                            address = streetno + " " + direction.Trim() + " " + streetname.Trim();
                        }
                        if (streettype.Trim() != "" && direction.Trim() == "")
                        {
                            address = streetno + " " + streetname.Trim() + " " + streettype.Trim();
                        }
                        if (streettype.Trim() == "" && direction.Trim() == "")
                        {
                            address = streetno + " " + streetname.Trim();
                        }
                        driver.FindElement(By.Id("Keywords")).SendKeys(address);
                        gc.CreatePdf_WOP(orderNumber, "Adderess before search", driver, "TX", "El Paso");
                        driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Adderess After search", driver, "TX", "El Paso");
                        IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]"));
                        string      pagecount   = gc.Between(pagecountst.Text, "Found", "results").Trim();
                        if (pagecount == "1")
                        {
                            IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a"));
                            string      href        = detailclick.GetAttribute("href");
                            driver.Navigate().GoToUrl(href);
                        }
                        if (pagecount != "1" && pagecount != "0")
                        {
                            try
                            {
                                int max = 0;
                                gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "TX", "El Paso");
                                //IWebElement Multiparceltable = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody"));
                                //IList<IWebElement> Multiparcelrow = Multiparceltable.FindElements(By.TagName("tr"));
                                for (int i = 1; i <= Convert.ToInt16(pagecount); i++)
                                {
                                    string multiparceltd  = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr[" + i + "]")).Text;
                                    string Type           = gc.Between(multiparceltd, "Type", "Property ID:").Trim();
                                    string PropertIdMulti = gc.Between(multiparceltd, "Property ID:", "Geographic ID:").Trim();
                                    string Name           = gc.Between(multiparceltd, "Name:", "Address:").Trim();
                                    string AddressMulti   = gc.Between(multiparceltd, "Name:", "Appraised Value:").Trim();
                                    string Multiaddress   = Type + "~" + Name + "~" + AddressMulti;
                                    gc.insert_date(orderNumber, PropertIdMulti, 1149, Multiaddress, 1, DateTime.Now);
                                    max++;
                                }
                                if (max > 1 && max < 26)
                                {
                                    HttpContext.Current.Session["multiparcel_ElPaso"] = "Yes";
                                    driver.Quit();
                                    return("MultiParcel");
                                }
                                if (max < 25)
                                {
                                    HttpContext.Current.Session["multiParcel_ElPaso_Multicount"] = "Maximum";
                                    driver.Quit();
                                    return("Maximum");
                                }
                            }
                            catch { }
                        }
                        if (pagecount == "0")
                        {
                            HttpContext.Current.Session["ElPaso_Zero"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("Keywords")).SendKeys(parcelNumber);
                        gc.CreatePdf_WOP(orderNumber, "Adderess Parcel search", driver, "TX", "El Paso");
                        driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click();
                        gc.CreatePdf_WOP(orderNumber, "Adderess Parcel search", driver, "TX", "El Paso");
                        Thread.Sleep(2000);
                        IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]"));
                        string      pagecount   = gc.Between(pagecountst.Text, "Found", "results").Trim();
                        if (pagecount == "1")
                        {
                            IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a"));
                            string      href        = detailclick.GetAttribute("href");
                            driver.Navigate().GoToUrl(href);
                        }
                    }
                    if (searchType == "unitnumber")
                    {
                        driver.FindElement(By.Id("Keywords")).SendKeys(unitnumber);
                        gc.CreatePdf_WOP(orderNumber, "Adderess Unit search", driver, "TX", "El Paso");
                        driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Adderess Unit search", driver, "TX", "El Paso");
                        IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]"));
                        string      pagecount   = gc.Between(pagecountst.Text, "Found", "results").Trim();
                        if (pagecount == "1")
                        {
                            IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a"));
                            string      href        = detailclick.GetAttribute("href");
                            driver.Navigate().GoToUrl(href);
                        }
                    }
                    if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("Keywords")).SendKeys(ownername);
                        gc.CreatePdf_WOP(orderNumber, "Ownername before click", driver, "TX", "El Paso");
                        driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Ownername After click", driver, "TX", "El Paso");
                        IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]"));
                        string      pagecount   = gc.Between(pagecountst.Text, "Found", "results").Trim();
                        if (pagecount == "1")
                        {
                            IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a"));
                            string      href        = detailclick.GetAttribute("href");
                            driver.Navigate().GoToUrl(href);
                        }
                        if (pagecount != "1")
                        {
                            try
                            {
                                int max = 0;
                                for (int i = 1; i <= Convert.ToInt16(pagecount); i++)
                                {
                                    string multiparceltd  = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr[" + i + "]")).Text;
                                    string Type           = gc.Between(multiparceltd, "Type", "Property ID:").Trim();
                                    string PropertIdMulti = gc.Between(multiparceltd, "Property ID:", "Geographic ID:").Trim();
                                    string Name           = gc.Between(multiparceltd, "Name:", "Address:").Trim();
                                    string AddressMulti   = gc.Between(multiparceltd, "Name:", "Appraised Value:").Trim();
                                    string Multiaddress   = Type + "~" + Name + "~" + AddressMulti;
                                    gc.insert_date(orderNumber, PropertIdMulti, 1149, Multiaddress, 1, DateTime.Now);
                                    max++;
                                }
                                if (max > 1 && max < 26)
                                {
                                    HttpContext.Current.Session["multiparcel_ElPaso"] = "Yes";
                                    driver.Quit();
                                    return("MultiParcel");
                                }
                                if (max < 25)
                                {
                                    HttpContext.Current.Session["multiParcel_ElPaso_Multicount"] = "Maximum";
                                    driver.Quit();
                                    return("Maximum");
                                }
                            }
                            catch { }
                        }
                    }

                    try
                    {
                        IWebElement Inodata = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[3]"));
                        if (Inodata.Text.Contains("No more results"))
                        {
                            HttpContext.Current.Session["ElPaso_Zero"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }

                    string propertytable = driver.FindElement(By.XPath("//*[@id='property']/div/div[2]/div")).Text.Replace("\r\n", "");
                    string type          = gc.Between(propertytable, "AccountType:", "Property ID:");
                    Parcel_number = gc.Between(propertytable, "Property ID:", "Geographic ID:");
                    string PropertyUseCode = gc.Between(propertytable, "Agent Code:", "Legal Description:");
                    string GeographicID    = gc.Between(propertytable, "Geographic ID:", "Agent Code:");
                    amck.TaxId = GeographicID;
                    string      LegalDescription        = gc.Between(propertytable, "Legal Description:", "Property Use Code:");
                    string      PropertyUse_Description = GlobalClass.After(propertytable, "Property Use Description:");
                    IWebElement Locationrow             = driver.FindElement(By.XPath("//*[@id='property']/div/div[3]/div"));
                    string      PropertyAddress         = gc.Between(Locationrow.Text, "Address:", "Neighborhood:");
                    string      MapID               = GlobalClass.After(Locationrow.Text, "Map ID:").Trim();
                    IWebElement owenrnametable      = driver.FindElement(By.XPath("//*[@id='property']/div/div[4]/div"));
                    string      OwnerName           = gc.Between(owenrnametable.Text, "Name:", "Mailing Address:").Trim();
                    string      MailingAddress      = gc.Between(owenrnametable.Text, "Mailing Address:", "Owner ID:");
                    string      OwnerID             = gc.Between(owenrnametable.Text, "Owner ID:", "Ownership (%):").Trim();
                    string      OwnershipPercentage = gc.Between(owenrnametable.Text, "Ownership (%):", "Exemptions");
                    string      Exemptions          = GlobalClass.After(owenrnametable.Text, "Exemptions").Trim();
                    gc.CreatePdf(orderNumber, Parcel_number, "Property detail", driver, "TX", "El Paso");
                    IWebElement         Improvementclicktable = driver.FindElement(By.Id("detail-tabs"));
                    IList <IWebElement> improvementclickrow   = Improvementclicktable.FindElements(By.TagName("a"));
                    IList <IWebElement> improvementid;
                    foreach (IWebElement iprovementyear in improvementclickrow)
                    {
                        string strcheck = iprovementyear.GetAttribute("href");
                        if (strcheck.Contains("improvement"))
                        {
                            IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                            js1.ExecuteScript("arguments[0].click();", iprovementyear);
                            break;
                        }
                    }
                    Thread.Sleep(2000);
                    try
                    {
                        gc.CreatePdf(orderNumber, Parcel_number, "Year", driver, "TX", "El Paso");
                        yearBuilt = driver.FindElement(By.XPath("//*[@id='improvement']/div/div[2]/div[2]/div/table/tbody/tr[2]/td[5]")).Text;
                    }
                    catch { }
                    string propertresult = type + "~" + PropertyUseCode + "~" + GeographicID + "~" + LegalDescription + "~" + PropertyUse_Description + "~" + PropertyAddress + "~" + MapID + "~" + OwnerName + "~" + MailingAddress + "~" + OwnerID + "~" + OwnershipPercentage + "~" + Exemptions + "~" + yearBuilt;
                    gc.insert_date(orderNumber, Parcel_number, 1129, propertresult, 1, DateTime.Now);

                    IWebElement         Improvementclicktable1 = driver.FindElement(By.Id("detail-tabs"));
                    IList <IWebElement> improvementclickrow1   = Improvementclicktable1.FindElements(By.TagName("a"));
                    IList <IWebElement> improvementid1;
                    foreach (IWebElement iprovementyear1 in improvementclickrow1)
                    {
                        string strcheck1 = iprovementyear1.GetAttribute("href");
                        if (strcheck1.Contains("values"))
                        {
                            //iprovementyear.SendKeys(Keys.Enter);
                            IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                            js1.ExecuteScript("arguments[0].click();", iprovementyear1);
                            break;
                        }
                    }
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "values", driver, "TX", "El Paso");
                    string Novalues = "";
                    try
                    {
                        Novalues = driver.FindElement(By.XPath("//*[@id='values']/div/div[2]/div/div")).Text;
                    }
                    catch { }
                    if (Novalues == "")
                    {
                        string valuestab = driver.FindElement(By.XPath("//*[@id='values']/div/div[2]")).Text.Replace("\r\n", "");
                        string ImprovementHomesiteValue    = gc.Between(valuestab, "Improvement Homesite Value:+", "(+) Improvement Non Homesite Value").Trim();
                        string ImprovementNon              = gc.Between(valuestab, "(+) Improvement Non Homesite Value:+", "(+) Land Homesite Value");
                        string LandHomesiteValue           = gc.Between(valuestab, "(+) Land Homesite Value:+", "(+) Land Non Homesite Value");
                        string LandNonHomesiteValue        = gc.Between(valuestab, " Land Non Homesite Value:+", "(+) Agricultural Market");
                        string AgriculturalMarketValuation = gc.Between(valuestab, "Agricultural Market Valuation:+", "(+) Timber Market Valuation:");
                        string TimberMarketValuation       = GlobalClass.After(valuestab, "Timber Market Valuation:+").Trim();
                        string Marketvaluetable            = driver.FindElement(By.XPath("//*[@id='values']/div/div[3]")).Text.Replace("\r\n", "");
                        string MarketValue = gc.Between(Marketvaluetable, "Market Value:=", "(-) Agricultural Or");
                        string AgriculturalTimberReduction = GlobalClass.After(Marketvaluetable, "Value Reduction:-");
                        string appricealvaluetable         = driver.FindElement(By.XPath("//*[@id='values']/div/div[4]")).Text.Replace("\r\n", "");
                        string AppraisedValue   = gc.Between(appricealvaluetable, "Appraised Value:=", "(-) HS Cap:");
                        string HSCap            = GlobalClass.After(appricealvaluetable, "HS Cap:-");
                        string Assessmenttable  = driver.FindElement(By.XPath("//*[@id='values']/div/div[5]")).Text.Replace("\r\n", "");
                        string AssessedValue    = GlobalClass.After(Assessmenttable, "(=) Assessed Value:=").Trim();
                        string Assessmentresult = Yearhref + "~" + ImprovementHomesiteValue + "~" + ImprovementNon + "~" + LandHomesiteValue + "~" + LandNonHomesiteValue + "~" + AgriculturalMarketValuation + "~" + TimberMarketValuation + "~" + MarketValue + "~" + AgriculturalTimberReduction + "~" + AppraisedValue + "~" + HSCap + "~" + AssessedValue;
                        gc.insert_date(orderNumber, Parcel_number, 1130, Assessmentresult, 1, DateTime.Now);
                    }
                    //Values
                    if (Novalues.Contains("No values are currently available"))
                    {
                        currentyear--;
                        IWebElement         propertyyeartable1 = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div[1]/div/ul"));
                        IList <IWebElement> propertyyearrow1   = propertyyeartable1.FindElements(By.TagName("li"));
                        IList <IWebElement> propertyyearid1;
                        foreach (IWebElement propertyyearclick1 in propertyyearrow1)
                        {
                            propertyyearid1 = propertyyearclick1.FindElements(By.TagName("a"));
                            if (propertyyearid1.Count != 0)
                            {
                                string yearclick = propertyyearid1[0].GetAttribute("href");
                                Yearhref = GlobalClass.After(yearclick, "/");
                                if (Yearhref == Convert.ToString(currentyear))
                                {
                                    driver.Navigate().GoToUrl(yearclick);
                                    break;
                                }
                            }
                        }
                        IWebElement         Improvementclicktable11 = driver.FindElement(By.Id("detail-tabs"));
                        IList <IWebElement> improvementclickrow11   = Improvementclicktable11.FindElements(By.TagName("a"));
                        IList <IWebElement> improvementid11;
                        foreach (IWebElement iprovementyear11 in improvementclickrow11)
                        {
                            string strcheck1 = iprovementyear11.GetAttribute("href");
                            if (strcheck1.Contains("values"))
                            {
                                //iprovementyear.SendKeys(Keys.Enter);
                                IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                                js1.ExecuteScript("arguments[0].click();", iprovementyear11);
                                break;
                            }
                        }
                        Thread.Sleep(3000);
                        string valuestab = driver.FindElement(By.XPath("//*[@id='values']/div/div[2]")).Text.Replace("\r\n", "");
                        string ImprovementHomesiteValue    = gc.Between(valuestab, "Improvement Homesite Value:+", "(+) Improvement Non Homesite Value").Trim();
                        string ImprovementNon              = gc.Between(valuestab, "(+) Improvement Non Homesite Value:+", "(+) Land Homesite Value");
                        string LandHomesiteValue           = gc.Between(valuestab, "(+) Land Homesite Value:+", "(+) Land Non Homesite Value");
                        string LandNonHomesiteValue        = gc.Between(valuestab, " Land Non Homesite Value:+", "(+) Agricultural Market");
                        string AgriculturalMarketValuation = gc.Between(valuestab, "Agricultural Market Valuation:+", "(+) Timber Market Valuation:");
                        string TimberMarketValuation       = GlobalClass.After(valuestab, "Timber Market Valuation:+").Trim();
                        string Marketvaluetable            = driver.FindElement(By.XPath("//*[@id='values']/div/div[3]")).Text.Replace("\r\n", "");
                        string MarketValue = gc.Between(Marketvaluetable, "Market Value:=", "(-) Agricultural Or");
                        string AgriculturalTimberReduction = GlobalClass.After(Marketvaluetable, "Value Reduction:-");
                        string appricealvaluetable         = driver.FindElement(By.XPath("//*[@id='values']/div/div[4]")).Text.Replace("\r\n", "");
                        string AppraisedValue   = gc.Between(appricealvaluetable, "Appraised Value:=", "(-) HS Cap:");
                        string HSCap            = GlobalClass.After(appricealvaluetable, "HS Cap:-");
                        string Assessmenttable  = driver.FindElement(By.XPath("//*[@id='values']/div/div[5]")).Text.Replace("\r\n", "");
                        string AssessedValue    = GlobalClass.After(Assessmenttable, "(=) Assessed Value:=").Trim();
                        string Assessmentresult = Yearhref + "~" + ImprovementHomesiteValue + "~" + ImprovementNon + "~" + LandHomesiteValue + "~" + LandNonHomesiteValue + "~" + AgriculturalMarketValuation + "~" + TimberMarketValuation + "~" + MarketValue + "~" + AgriculturalTimberReduction + "~" + AppraisedValue + "~" + HSCap + "~" + AssessedValue;
                        gc.insert_date(orderNumber, Parcel_number, 1130, Assessmentresult, 1, DateTime.Now);
                    }
                    //jurisdiction
                    IWebElement         Improvementclicktable2 = driver.FindElement(By.Id("detail-tabs"));
                    IList <IWebElement> improvementclickrow2   = Improvementclicktable2.FindElements(By.TagName("a"));
                    IList <IWebElement> improvementid2;
                    foreach (IWebElement iprovementyear2 in improvementclickrow2)
                    {
                        string strcheck2 = iprovementyear2.GetAttribute("href");
                        if (strcheck2.Contains("tax-jurisdiction"))
                        {
                            //iprovementyear.SendKeys(Keys.Enter);
                            IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                            js1.ExecuteScript("arguments[0].click();", iprovementyear2);
                            break;
                        }
                    }
                    Thread.Sleep(3000);
                    gc.CreatePdf(orderNumber, Parcel_number, "tax jurisdiction", driver, "TX", "El Paso");
                    IWebElement         Taxingjurisdictiontable = driver.FindElement(By.XPath("//*[@id='tax-jurisdiction']/div/div[2]/div[2]/table/tbody"));
                    IList <IWebElement> Taxingjurisdictionrow   = Taxingjurisdictiontable.FindElements(By.TagName("tr"));
                    IList <IWebElement> Taxingid;
                    foreach (IWebElement taxingjuris in Taxingjurisdictionrow)
                    {
                        Taxingid = taxingjuris.FindElements(By.TagName("td"));
                        if (Taxingid.Count != 0 && taxingjuris.Text.Trim() != "")
                        {
                            string Taxingresult = Taxingid[0].Text + "~" + Taxingid[1].Text + "~" + Taxingid[2].Text + "~" + Taxingid[3].Text + "~" + Taxingid[4].Text + "~" + Taxingid[5].Text + "~" + Taxingid[6].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1131, Taxingresult, 1, DateTime.Now);
                        }
                    }
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    //tax Site
                    driver.Navigate().GoToUrl("https://actweb.acttax.com/act_webdev/elpaso/index.jsp");
                    Thread.Sleep(3000);
                    IWebElement   PropertyInformation       = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div[2]/table/tbody/tr/td/center/form/table/tbody/tr[3]/td[2]/div[3]/select"));
                    SelectElement PropertyInformationSelect = new SelectElement(driver.FindElement(By.Name("searchby")));
                    PropertyInformationSelect.SelectByValue("4");
                    Thread.Sleep(2000);
                    driver.FindElement(By.Id("criteria")).SendKeys(GeographicID.Trim());
                    gc.CreatePdf(orderNumber, Parcel_number, "tax search", driver, "TX", "El Paso");
                    driver.FindElement(By.Name("submit")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "tax search result", driver, "TX", "El Paso");

                    driver.FindElement(By.XPath("//*[@id='data-block']/table/tbody/tr/td/table/tbody/tr/td[2]/h3/a")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "tax search result details", driver, "TX", "El Paso");
                    //Jurisdiction Information Details Table:
                    string year = "", account = "", ExemptionsJ = "";


                    driver.FindElement(By.LinkText("Taxes Due Detail by Year and Jurisdiction")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "Taxes Due Detail by Year and Jurisdiction", driver, "TX", "El Paso");
                    //Taxes Due Detail by Year Details Table:
                    //Account No~Appr. Dist. No~Active Lawsuits~Year~Base Tax Due~Penalty, Interest, and ACC* Due(end of July )~Total Due July~Penalty, Interest, and ACC* Due(end of August )~Total Due August~Penalty, Interest, and ACC*Due(end of September)~Total Due September
                    string              accountno = "", distno = "", ActiveLawsuits = "";
                    IWebElement         multitableElement31 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr/td/table/tbody"));
                    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 == 8 && !row.Text.Contains("Base Tax Due"))
                        {
                            string TaxesDue = multirowTD31[0].Text.Trim() + "~" + multirowTD31[1].Text.Trim() + "~" + multirowTD31[2].Text.Trim() + "~" + multirowTD31[3].Text.Trim() + "~" + multirowTD31[4].Text.Trim() + "~" + multirowTD31[5].Text.Trim() + "~" + multirowTD31[6].Text.Trim() + "~" + multirowTD31[7].Text.Trim();
                            gc.insert_date(orderNumber, Parcel_number, 1134, TaxesDue, 1, DateTime.Now);
                        }
                        if (multirowTD31.Count == 1)
                        {
                            string TaxesDue = multirowTD31[0].Text.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "";
                            gc.insert_date(orderNumber, Parcel_number, 1134, TaxesDue, 1, DateTime.Now);
                        }
                        if (multirowTD31.Count == 4)
                        {
                            string TaxesDue = "" + "~" + "" + "~" + multirowTD31[1].Text.Trim() + "~" + "" + "~" + multirowTD31[2].Text.Trim() + "~" + "" + "~" + multirowTD31[3].Text.Trim() + "~" + "";
                            gc.insert_date(orderNumber, Parcel_number, 1134, TaxesDue, 1, DateTime.Now);
                        }
                    }

                    driver.FindElement(By.LinkText("Return to the Previous Page")).Click();
                    Thread.Sleep(2000);
                    //Tax Payment Details Table:

                    driver.FindElement(By.LinkText("Payment Information & Receipts")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "Payment Information", driver, "TX", "El Paso");
                    //Account Number~Paid Date~Amount~Tax Year~Description~Paid By
                    string accountnos = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/h3")).Text.Replace("Account No.:", "");
                    try
                    {
                        IWebElement         multitableElement32 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/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 != 0 && !row.Text.Contains("Receipt Date"))
                            {
                                string TaxesDue = accountnos + "~" + multirowTD32[0].Text.Trim() + "~" + multirowTD32[1].Text.Trim() + "~" + multirowTD32[2].Text.Trim() + "~" + multirowTD32[3].Text.Trim() + "~" + multirowTD32[4].Text.Trim();
                                gc.insert_date(orderNumber, Parcel_number, 1137, TaxesDue, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }
                    driver.FindElement(By.LinkText("Return to the Previous Page")).Click();
                    Thread.Sleep(2000);


                    string jurd = "", pendingpayment = "", accountNo = "", AppraisalDistrict = "", OwnerNametax = "", OwnerAddress = "", PropertyAddresstax = "", legal = "", CurrentTax = "", CurrentAmount = "", PriorYearAmount = "", TotalAmount = "", LastPaymentAmount = "", LastPayer = "", LastPaymentDate = "", ActiveLawsuitsTax = "", GrossValue = "", LandValue = "", ImprovementValue = "", CappedValue = "", AgriculturalValue = "", ExemptionsTax = "";
                    string taxyeartax1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[1]/table/tbody/tr/td/h5/b")).Text;
                    string taxyear     = gc.Between(taxyeartax1, "information for", ". All").Trim();
                    amck.TaxYear = taxyear;
                    string fullTaxeBill1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[1]")).Text.Replace("\r\n", " ");
                    accountno = gc.Between(fullTaxeBill1, "Account Number:", "Prop. Id.");
                    string market = "";
                    OwnerAddress = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[1]/h3[3]")).Text.Trim();
                    string[] Ownersplit = OwnerAddress.Split('\r');
                    OwnerNametax    = Ownersplit[1].Replace("\n", "").Trim();
                    PropertyAddress = gc.Between(fullTaxeBill1, "Property Site Address:", " Legal Description:");
                    //legal = gc.Between(fullTaxeBill1, "Legal Description:", " Current Tax Levy:");
                    CurrentTax        = gc.Between(fullTaxeBill1, " Current Tax Levy:", "Current Amount Due:");
                    CurrentAmount     = gc.Between(fullTaxeBill1, "Current Amount Due:", "Prior Year Amount Due:");
                    PriorYearAmount   = gc.Between(fullTaxeBill1, "Prior Year Amount Due:", "Total Amount Due:");
                    TotalAmount       = gc.Between(fullTaxeBill1, "Total Amount Due:", "Last Payment Amount:");
                    LastPaymentAmount = gc.Between(fullTaxeBill1, "Last Payment Amount:", "Last Payer:");
                    LastPayer         = gc.Between(fullTaxeBill1, "Last Payer:", "Last Payment Date:");
                    LastPaymentDate   = gc.Between(fullTaxeBill1, "Last Payment Date:", "Active Lawsuits:");
                    //  string tax_year = driver.FindElement(By.XPath("//*[@id='pageContent']/table/tbody/tr/td/table/tbody/tr[1]/td/table[1]/tbody/tr/td/h5/b")).Text;
                    //  tax_year = gc.Between(tax_year, " tax information for", ". All amounts");
                    ActiveLawsuitsTax = GlobalClass.After(fullTaxeBill1, "Active Lawsuits:");
                    string fullTaxbill2 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[2]")).Text.Replace("\r\n", " ");
                    pendingpayment    = gc.Between(fullTaxbill2, " PendingCredit / PINless Debit Card or eCheckPayments:", "(Pay single or");
                    market            = gc.Between(fullTaxbill2, "Market Value:", "Land Value:");
                    LandValue         = gc.Between(fullTaxbill2, "Land Value:", "Improvement Value:");
                    ImprovementValue  = gc.Between(fullTaxbill2, "Improvement Value:", "Capped Value:");
                    CappedValue       = gc.Between(fullTaxbill2, "Capped Value:", "Agricultural Value:");
                    AgriculturalValue = gc.Between(fullTaxbill2, "Agricultural Value:", "Exemptions:");
                    ExemptionsTax     = gc.Between(fullTaxbill2, "Exemptions:", "Exemption and Tax Rate");
                    // string lastCertified = gc.Between(fullTaxbill2, "Last Certified Date: ", "Taxes Due Detail by Year and Jurisdiction ");
                    //Account Number~Owner Information~Property Site Address~Legal Description~Current Tax Levy~Current Amount Due~Prior Year Amount Due~Total Amount Due~Last Payment Amount for Current Year Taxes~Active Lawsuits~market~Land Value~Improvement Value~Capped Value~Agricultural Value~Exemptions~Last Certified Date~Tax Authority
                    string Taxauthority = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td/h3/font/i/b")).Text;
                    string taxbill      = taxyear + "~" + accountno + "~" + OwnerNametax + "~" + PropertyAddress + "~" + TotalAmount + "~" + CurrentAmount + "~" + PriorYearAmount + "~" + TotalAmount + "~" + LastPaymentAmount + "~" + LastPayer + "~" + LastPaymentDate + "~" + ActiveLawsuitsTax + "~" + pendingpayment + "~" + market + "~" + LandValue + "~" + ImprovementValue + "~" + CappedValue + "~" + AgriculturalValue + "~" + ExemptionsTax + "~" + Taxauthority;
                    gc.insert_date(orderNumber, Parcel_number, 1138, taxbill, 1, DateTime.Now);


                    if (TotalAmount.Trim() == "$0.00")
                    {
                        if (CurrentTax == LastPaymentAmount)
                        {
                            amck.Instamount1     = CurrentTax;
                            amck.Instamountpaid1 = LastPaymentAmount;
                            amck.InstPaidDue1    = "Paid";
                            amck.IsDelinquent    = "No";
                        }
                        else
                        {
                            amck.IsDelinquent = "Yes";
                        }
                    }
                    else
                    {
                        if (CurrentTax == TotalAmount)
                        {
                            amck.Instamount1  = CurrentTax;
                            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);
                    }
                    IWebElement Itaxstmt1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[2]/h3[2]/a"));
                    Thread.Sleep(2000);
                    string stmt11 = Itaxstmt1.GetAttribute("href");
                    driver.Navigate().GoToUrl(stmt11);
                    Thread.Sleep(4000);
                    IWebElement Itaxstmt = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td/div/h3/a"));
                    string      stmt1    = Itaxstmt.GetAttribute("href");
                    gc.downloadfile(stmt1, orderNumber, Parcel_number, "Tax statement", "TX", "El Paso");
                    Thread.Sleep(2000);
                    driver.Navigate().Back();
                    Thread.Sleep(2000);
                    try
                    {
                        driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[2]/h3[10]/a[1]")).Click();
                        Thread.Sleep(2000);
                        //Jurisdiction Information for ~Account No~Exemptions~Jurisdictions~Market Value~Exemption Value~Taxable Value~Tax Rate~Levy
                        string accountnosjur = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[1]/td/h3[2]")).Text.Replace("Account No.:", "");
                        string jurdinfoYear  = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[1]/td/h3[1]/b")).Text.Replace("Jurisdiction Information for", "");
                        string exemptions    = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[1]/td/h3[3]")).Text.Replace("Exemptions:", "");
                        gc.CreatePdf(orderNumber, Parcel_number, "Jurisdiction Information", driver, "TX", "El Paso");
                        IWebElement         multitableElement6 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[2]/td/table/tbody"));
                        IList <IWebElement> multitableRow6     = multitableElement6.FindElements(By.TagName("tr"));
                        IList <IWebElement> multirowTD6;
                        foreach (IWebElement row in multitableRow6)
                        {
                            multirowTD6 = row.FindElements(By.TagName("td"));
                            if (multirowTD6.Count != 0 && !row.Text.Contains("Jurisdictions"))
                            {
                                string TaxesDue = jurdinfoYear + "~" + accountnosjur + "~" + exemptions + "~" + multirowTD6[0].Text.Trim() + "~" + multirowTD6[1].Text.Trim() + "~" + multirowTD6[2].Text.Trim() + "~" + multirowTD6[3].Text.Trim() + "~" + multirowTD6[4].Text.Trim() + "~" + multirowTD6[5].Text.Trim();
                                gc.insert_date(orderNumber, Parcel_number, 1139, TaxesDue, 1, DateTime.Now);
                            }
                        }
                        driver.FindElement(By.LinkText("Return to the Previous Page")).Click();
                        Thread.Sleep(2000);
                    }
                    catch { }
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");

                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "TX", "El Paso", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);

                    driver.Quit();

                    gc.mergpdf(orderNumber, "TX", "El Paso");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Exemplo n.º 6
0
        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;
                }
            }
        }