예제 #1
0
 public object[]  CarregarObjetos()
 {
     object[] result = new object[5];
     result[0] = new Ncm()
     {
         NumeroNcm = txtNcm.Text
     };
     result[1] = new Due()
     {
     };
     result[2] = new Memorandos()
     {
         CodStrutura     = "2",
         NumeroMemorando = txtMemorando.Text,
         NumeroDespacho  = txtDespacho.Text,
         Cnpj            = txtCnpj.Text,
         CnpjEce         = txtCnpjEce.Text,
         DataSalva       = DateTime.Now
     };
     result[3] = new NroDe()
     {
         NumeroAnexo = "",
         NumeroRe    = ""
     };
     result[4] = new NroNf()
     {
         NumeroNf = ""
     };
     return(result);
 }
예제 #2
0
        public async Task ExecuteSaveExpenseCommand()
        {
            if (IsBusy)
            {
                return;
            }
            if (currentExpense == null)
            {
                currentExpense = new Expense();
            }

            currentExpense.Billable = Billable;
            currentExpense.Category = Category;
            currentExpense.Due      = Due.ToUniversalTime();
            currentExpense.Name     = Name;
            currentExpense.Notes    = Notes;
            currentExpense.Total    = Total;
            try
            {
                await expenseService.SaveExpense(currentExpense);

                ServiceContainer.Resolve <ExpensesViewModel>().NeedsUpdate = true;
            }
            catch (Exception)
            {
                Debug.WriteLine("Unable to save expense.");
            }
            finally
            {
                IsBusy = false;
            }
        }
예제 #3
0
        public static User GetFakeUserWithData()
        {
            User user = new Model.User("test", "*****@*****.**", "test");

            user.Categories.Add(new Category("Transport"));
            user.Categories.Add(new Category("Ecole"));
            user.Categories.Add(new Category("Alimentation"));
            user.Categories.Add(new Category("Maison"));
            user.Categories.Add(new Category("Vetement"));

            for (int i = 0; i < 5; i++)
            {
                Model.Account account = new Model.Account($"Compte{i}", 1000);
                Due           fakeDue = new Due($"Echeance{i}", (i % 2 == 0) ? operationType.Credit : operationType.Debit, i, paymentType.Cash, i * 2000, user.Categories.ElementAt(i % 5));

                for (int j = 0; j < 30; j++)
                {
                    Operation fakeOperation = new Operation($"Operation{j}", (j % 2 == 0) ? operationType.Credit : operationType.Debit, DateTime.Now, paymentType.Cash, 3000, user.Categories.ElementAt(i % 5));
                    account.Operations.Add(fakeOperation);
                }
                account.Dues.Add(fakeDue);
                user.Accounts.Add(account);
            }

            return(user);
        }
예제 #4
0

        
예제 #5
0

        
예제 #6
0
 public override Bill GetModel()
 {
     return(new Bill
     {
         AccountId = Account?.Id,
         Due = Due.GetModel(),
         Id = Id,
         Name = Name,
         Payment = Payment,
     });
 }
예제 #7
0
        //Display Todo information
        public void DisplayTodo()
        {
            String Marker, Time;

            if (Complete)
            {
                Marker = "Complete";
            }
            else
            {
                Marker = "Pending";
            }                                                                  // if complete display complete, else display pending
            if (HasDue)
            {
                Time = Due.ToShortDateString();
            }
            else
            {
                Time = "";                                              // if there is a due date display it, otherwise display nothing
            }
            if (Priority == Priority.medium)
            {
                Console.ForegroundColor = ConsoleColor.DarkYellow;                              // if priority is set to medium, set text color to dark yellow
            }
            else if (Priority == Priority.high)
            {
                Console.ForegroundColor = ConsoleColor.Red;                                //if priority is set to high set text color to red
            }
            Console.Write($"------------------------------------------------------------------------------\n" +
                          $"{Id}. [ {Marker} ]     {Title}          \n" +
                          $"{Description}\n" +
                          $"Due: {Time}        ");
            if (PastDue)// if past due is true say so
            {
                Console.Write("Todo is past due!");
            }
            else if (NearDue) //if near due is true say so
            {
                Console.Write("Todo is nearly due!");
            }
            Console.Write("\n" +
                          "Priority: ");
            if (Priority != Priority.none)// if priority is not none display it
            {
                Console.Write($"{Priority}\n");
            }
            else
            {
                Console.Write("\n");
            }
            Console.Write("------------------------------------------------------------------------------\n");
            Console.ResetColor();
        }
예제 #8
0
 public void Start()
 {
     if (PackTimer is null)
     {
         PackTimer = new Timer(x =>
         {
             Due?.Invoke();
             if (Repeat is { } && --Repeat <= 0)
             {
                 Dispose();
             }
         }, null, TimeSpan.Zero, Interval);
예제 #9
0
파일: Todo.cs 프로젝트: rianjs/DDay.iCal
 private void ExtrapolateTimes()
 {
     if (Due == null && DTStart != null && Duration != default(TimeSpan))
     {
         Due = DTStart.Add(Duration);
     }
     else if (Duration == default(TimeSpan) && DTStart != null && Due != null)
     {
         Duration = Due.Subtract(DTStart);
     }
     else if (DTStart == null && Duration != default(TimeSpan) && Due != null)
     {
         DTStart = Due.Subtract(Duration);
     }
 }
예제 #10
0
        public JsonValue ToJson(JsonSerializer serializer)
        {
            var json = new JsonObject();

            Id.Serialize(json, serializer, "id");
            Board.SerializeId(json, "idBoard");
            Closed.Serialize(json, serializer, "closed");
            Desc.Serialize(json, serializer, "desc");
            Due.Serialize(json, serializer, "due", ForceDueDate);
            List.SerializeId(json, "idList");
            Name.Serialize(json, serializer, "name");
            Pos.Serialize(json, serializer, "pos");
            Subscribed.Serialize(json, serializer, "subscribed");
            CardSource.SerializeId(json, "idCardSource");
            UrlSource.Serialize(json, serializer, "urlSource");
            return(json);
        }
예제 #11
0

        
예제 #12
0
        public Schedule GetPlanSchedule(string planID)
        {
            Schedule sked = null;

            try
            {
                using (SqlConnection conn = new SqlConnection(connString))
                    using (SqlCommand comm = new SqlCommand("usp_GetPlanBreakdown", conn))
                    {
                        comm.CommandType = CommandType.StoredProcedure;

                        comm.Parameters.Clear();
                        comm.Parameters.Add(new SqlParameter("@Plan_ID", planID));

                        conn.Open();

                        using (SqlDataReader dr = comm.ExecuteReader())
                        {
                            if (dr.HasRows)
                            {
                                sked = new Schedule();
                            }
                            while (dr.Read())
                            {
                                Due d = new Due();
                                d.Date    = Convert.ToDateTime(dr["Due Date"]);
                                d.Percent = Convert.ToDecimal(dr["Percentage"]);

                                sked.Add(d);
                            }
                        }
                    }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                throw;
            }
            return(sked);
        }
예제 #13
0
        public Schedule GetAssessmentSchedule(string assessmentNo, Transaction_Type sopType)
        {
            Schedule sked = new Schedule();

            try
            {
                using (SqlConnection conn = new SqlConnection(connString))
                    using (SqlCommand comm = new SqlCommand("usp_GetAssessmentScheduleByDocID", conn))
                    {
                        comm.CommandType = CommandType.StoredProcedure;

                        comm.Parameters.Clear();
                        comm.Parameters.Add(new SqlParameter("@AssessmentNo", assessmentNo));
                        comm.Parameters.Add(new SqlParameter("@SOPType", (int)sopType));

                        conn.Open();

                        using (SqlDataReader dr = comm.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                Due due = new Due();
                                due.Date   = Convert.ToDateTime(dr["Due Date"]);
                                due.Amount = Convert.ToDecimal(dr["Amount"]);

                                sked.Add(due);
                            }
                        }
                    }
            }
            catch (Exception ex)
            {
                sked = null;
                log.Error(ex);
                throw;
            }
            return(sked);
        }
예제 #14
0
        public async Task ExecuteSaveExpenseCommand()
        {
            if (IsBusy)
            {
                return;
            }

            CanNavigate = false;
            if (currentExpense == null)
            {
                currentExpense = new Expense();
            }

            currentExpense.Billable = Billable;
            currentExpense.Category = Category;
            currentExpense.Due      = Due.ToUniversalTime();
            currentExpense.Name     = Name;
            currentExpense.Notes    = Notes;
            currentExpense.Total    = Total;
            try
            {
                IsBusy = true;
                await expenseService.SaveExpenseAsync(currentExpense);

                await expenseService.SyncExpensesAsync();

                ServiceContainer.Resolve <ExpensesViewModel>().NeedsUpdate = true;
                CanNavigate = true;
            }
            catch (Exception ex)
            {
            }
            finally
            {
                IsBusy = false;
            }
        }
예제 #15
0
        public JsonValue ToJson(JsonSerializer serializer)
        {
            var json = new JsonObject();

            Id.Serialize(json, serializer, "id");
            Board.SerializeId(json, "idBoard");
            Closed.Serialize(json, serializer, "closed");
            Desc.Serialize(json, serializer, "desc");
            Due.Serialize(json, serializer, "due", ForceDueDate);
            DueComplete.Serialize(json, serializer, "dueComplete");
            List.SerializeId(json, "idList");
            Name.Serialize(json, serializer, "name");
            Pos.Serialize(json, serializer, "pos");
            Subscribed.Serialize(json, serializer, "subscribed");
            CardSource.SerializeId(json, "idCardSource");
            UrlSource.Serialize(json, serializer, "urlSource");
            IdMembers.Serialize(json, serializer, "idMembers");
            IdLabels.Serialize(json, serializer, "idLabels");
            if (KeepFromSource != CardCopyKeepFromSourceOptions.None)
            {
                KeepFromSource.Serialize(json, serializer, "keepFromSource");
            }
            return(json);
        }
예제 #16
0
        public string FTP_LyonNV(string Address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            string Parcel_number = "", Tax_Authority = "", Year = "", Assmentresult1 = "", Assmentresult2 = "", Assmentresult3 = "", parcelhref = "", MailingAddress = "";
            //request.UseDefaultCredentials = true;
            var driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            using (driver = new PhantomJSDriver())
            {
                //RDP Site
                StartTime = DateTime.Now.ToString("HH:mm:ss");
                try
                {
                    driver.Navigate().GoToUrl("http://www.lyon-county.org/16/Clerk-Treasurer");
                    IWebElement Tax_Authority1 = driver.FindElement(By.XPath("//*[@id='cc63f54a4a-d572-4950-b6b6-883bceeb6c73']/div[1]/div/div/div/div/ol/li"));
                    Tax_Authority = gc.Between(Tax_Authority1.Text, "Physical Address", "Fax:");
                    gc.CreatePdf_WOP(orderNumber, "tax Authority", driver, "NV", "Lyon");
                }
                catch { }
                try
                {
                    driver.Navigate().GoToUrl("http://www1.lyon-county.org:403/cgi-bin/asw100");
                    if (searchType == "titleflex")
                    {
                        //string address = houseno + " " + direction + " " + streetname + " " + streettype;
                        gc.TitleFlexSearch(orderNumber, "", "", Address.Trim(), "NV", "Lyon");
                        if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Nodata_LyonNV"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[7]/td[4]/div/input")).SendKeys(Address);
                        driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click();
                        Thread.Sleep(2000);
                        try
                        {
                            int max = 0;
                            gc.CreatePdf_WOP(orderNumber, "Address", driver, "NV", "Lyon");
                            IWebElement         Addressclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody"));
                            IList <IWebElement> Addressclickrow   = Addressclicktable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Addressclickid;
                            foreach (IWebElement Addresemulti in Addressclickrow)
                            {
                                Addressclickid = Addresemulti.FindElements(By.TagName("td"));
                                if (!Addresemulti.Text.Contains("Search Results") && !Addresemulti.Text.Contains("Parcel #") && Addressclickrow.Count < 26 && Addressclickid.Count != 0 && Addresemulti.Text.Trim() != "")
                                {
                                    IWebElement parcelclick = Addressclickid[0].FindElement(By.TagName("a"));
                                    parcelhref = parcelclick.GetAttribute("href");
                                    string multiparcelresult = Addressclickid[1].Text + "~" + Addressclickid[2].Text;
                                    gc.insert_date(orderNumber, Addressclickid[0].Text, 973, multiparcelresult, 1, DateTime.Now);
                                    max++;
                                }
                            }
                            if (max == 1)
                            {
                                driver.Navigate().GoToUrl(parcelhref);
                                Thread.Sleep(2000);
                            }
                            if (max > 1 && max < 26)
                            {
                                HttpContext.Current.Session["multiparcel_Lyon"] = "Yes";
                                driver.Quit();
                                return("MultiParcel");
                            }
                            if (max > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Lyon_Multicount"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.XPath("//*[@id='asw100parcels']/input[1]")).SendKeys(parcelNumber.Replace("-", ""));
                        driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Parcel", driver, "NV", "Lyon");
                        try
                        {
                            IWebElement         Addressclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody"));
                            IList <IWebElement> Addressclickrow   = Addressclicktable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Addressclickid;
                            foreach (IWebElement Addresemulti in Addressclickrow)
                            {
                                Addressclickid = Addresemulti.FindElements(By.TagName("td"));
                                if (Addressclickrow.Count == 4 && !Addresemulti.Text.Contains("Search Results") && !Addresemulti.Text.Contains("Parcel #") && Addressclickid.Count != 0)
                                {
                                    IWebElement parcelclick = Addressclickid[0].FindElement(By.TagName("a"));
                                    parcelhref = parcelclick.GetAttribute("href");
                                    driver.Navigate().GoToUrl(parcelhref);
                                    Thread.Sleep(2000);
                                    break;
                                }
                            }
                        }
                        catch { }
                    }
                    if (searchType == "ownername")
                    {
                        driver.FindElement(By.XPath("//*[@id='asw100name']/input")).SendKeys(ownername);
                        driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[10]/td[5]/div/input")).Click();
                        Thread.Sleep(2000);
                        try
                        {
                            int max = 0;
                            gc.CreatePdf_WOP(orderNumber, "Address", driver, "NV", "Lyon");
                            IWebElement         Addressclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table/tbody"));
                            IList <IWebElement> Addressclickrow   = Addressclicktable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Addressclickid;
                            foreach (IWebElement Addresemulti in Addressclickrow)
                            {
                                Addressclickid = Addresemulti.FindElements(By.TagName("td"));
                                if (!Addresemulti.Text.Contains("Search Results") && !Addresemulti.Text.Contains("Parcel #") && Addressclickrow.Count < 26 && Addressclickid.Count != 0 && Addresemulti.Text.Trim() != "")
                                {
                                    IWebElement parcelclick = Addressclickid[0].FindElement(By.TagName("a"));
                                    parcelhref = parcelclick.GetAttribute("href");
                                    string multiparcelresult = Addressclickid[1].Text + "~" + Addressclickid[2].Text;
                                    gc.insert_date(orderNumber, Addressclickid[0].Text, 973, multiparcelresult, 1, DateTime.Now);
                                    max++;
                                }
                            }
                            if (max == 1)
                            {
                                driver.Navigate().GoToUrl(parcelhref);
                                Thread.Sleep(2000);
                            }
                            if (max > 1 && max < 26)
                            {
                                HttpContext.Current.Session["multiparcel_Lyon"] = "Yes";
                                driver.Quit();
                                return("MultiParcel");
                            }
                            if (max > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Lyon_Multicount"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                        }
                        catch { }
                    }

                    try
                    {
                        IWebElement INodata = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr[3]/td/table"));
                        if (INodata.Text.Contains("No results found"))
                        {
                            HttpContext.Current.Session["Nodata_LyonNV"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }

                    //property detail
                    gc.CreatePdf_WOP(orderNumber, "After click", driver, "NV", "Lyon");
                    IWebElement parcelnumweb = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[1]/td/div"));
                    Parcel_number = GlobalClass.After(parcelnumweb.Text.Replace("-", ""), "Parcel #").Trim();
                    IWebElement propertydetaillist = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[1]/table/tbody"));
                    string      PropertyLocation   = gc.Between(propertydetaillist.Text, "Property Location", "Town");
                    string      Town              = gc.Between(propertydetaillist.Text, "Town", "District");
                    string      District          = gc.Between(propertydetaillist.Text, "District", "Subdivision");
                    IWebElement ownershipdetail   = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[3]/td[2]/table/tbody"));
                    string      AssessedOwnerName = gc.Between(ownershipdetail.Text, "Assessed Owner Name", "Mailing Address");
                    if (ownershipdetail.Text.Contains("Add'l Owners"))
                    {
                        MailingAddress = gc.Between(ownershipdetail.Text, "Add'l Owners", "Legal Owner Name");
                    }
                    if (!ownershipdetail.Text.Contains("Add'l Owners"))
                    {
                        MailingAddress = gc.Between(ownershipdetail.Text, "Mailing Address", "Legal Owner Name");
                    }
                    string LegalOwnerName = gc.Between(ownershipdetail.Text, "Legal Owner Name", "Vesting Doc #");
                    try
                    {
                        Year = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[4]/td[2]/table/tbody/tr[9]/td[2]/div")).Text;
                    }
                    catch { }
                    string Propertyresult = PropertyLocation + "~" + Town + "~" + District + "~" + AssessedOwnerName + "~" + MailingAddress + "~" + LegalOwnerName + "~" + Year;
                    gc.insert_date(orderNumber, Parcel_number, 930, Propertyresult, 1, DateTime.Now);
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    string              taxassment1 = "", taxassment2 = "", taxassment3 = "";
                    IWebElement         assmentdetailtable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[5]/td[1]/table/tbody"));
                    IList <IWebElement> assmentdetailrow   = assmentdetailtable.FindElements(By.TagName("tr"));
                    IList <IWebElement> assmentdetailid;
                    foreach (IWebElement assmentdetail in assmentdetailrow)
                    {
                        assmentdetailid = assmentdetail.FindElements(By.TagName("td"));
                        if (assmentdetailid.Count != 0 && !assmentdetail.Text.Contains("Increased") && !assmentdetail.Text.Contains("Assessed Valuation") && assmentdetail.Text.Trim() != "" && !assmentdetail.Text.Contains("Taxable Values"))
                        {
                            Assmentresult1 += assmentdetailid[1].Text + "~";
                            Assmentresult2 += assmentdetailid[2].Text + "~";
                            Assmentresult3 += assmentdetailid[3].Text + "~";
                        }
                        if (assmentdetail.Text.Contains("Increased"))
                        {
                            break;
                        }
                    }
                    IWebElement         Taxabledetailtable = driver.FindElement(By.XPath("//*[@id='body']/form[2]/table[2]/tbody/tr[5]/td[2]/table/tbody"));
                    IList <IWebElement> taxdetailrow       = Taxabledetailtable.FindElements(By.TagName("tr"));
                    IList <IWebElement> Taxdetailid;
                    foreach (IWebElement taxdetail in taxdetailrow)
                    {
                        Taxdetailid = taxdetail.FindElements(By.TagName("td"));
                        if (Taxdetailid.Count != 0 && !taxdetail.Text.Contains("Increased") && !taxdetail.Text.Contains("Taxable Valuation") && taxdetail.Text.Trim() != "" && !taxdetail.Text.Contains("Taxable Values"))
                        {
                            taxassment1 += Taxdetailid[1].Text + "~";
                            taxassment2 += Taxdetailid[2].Text + "~";
                            taxassment3 += Taxdetailid[3].Text + "~";
                        }
                        if (taxdetail.Text.Contains("Increased"))
                        {
                            break;
                        }
                    }
                    gc.insert_date(orderNumber, Parcel_number, 934, Assmentresult1 + taxassment1.Remove(taxassment1.Length - 1), 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 934, Assmentresult2 + taxassment2.Remove(taxassment2.Length - 1), 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 934, Assmentresult3 + taxassment3.Remove(taxassment3.Length - 1), 1, DateTime.Now);
                    //tax Information
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Navigate().GoToUrl("http://www1.lyon-county.org:403/cgi-bin/tcw100");
                    driver.FindElement(By.XPath("//*[@id='body']/form[2]/table/tbody/tr/td/table/tbody/tr[3]/td[2]/div/input")).SendKeys(Parcel_number.Trim());
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax Before click", driver, "NV", "Lyon");
                    driver.FindElement(By.XPath("//*[@id='tcw100search']/input")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax After click", driver, "NV", "Lyon");
                    IWebElement         Taxparcelclicktable = driver.FindElement(By.XPath("//*[@id='body']/form[3]/table/tbody"));
                    IList <IWebElement> Taxparcelclickrow   = Taxparcelclicktable.FindElements(By.TagName("tr"));
                    IList <IWebElement> Taxparcelid;
                    foreach (IWebElement Taxparcel in Taxparcelclickrow)
                    {
                        Taxparcelid = Taxparcel.FindElements(By.TagName("td"));
                        if (Taxparcelid.Count != 0 && !Taxparcel.Text.Contains("Search Results") && !Taxparcel.Text.Contains("Search Results") && !Taxparcel.Text.Contains("Parcel #"))
                        {
                            IWebElement taxelement = Taxparcelid[0].FindElement(By.TagName("a"));
                            string      taxhfrf    = taxelement.GetAttribute("href");
                            driver.Navigate().GoToUrl(taxhfrf);
                            Thread.Sleep(2000);
                            break;
                        }
                    }
                    IWebElement Taxelement     = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[1]/tbody/tr[1]/td[4]"));
                    string[]    taxinfoarray   = Taxelement.Text.Split('\r', '\n');
                    string      Tax_year       = taxinfoarray[0];
                    string      roll           = taxinfoarray[2];
                    string      TaxService     = taxinfoarray[6];
                    string      LandUseCode    = taxinfoarray[8];
                    string      Taxinformation = Tax_year + "~" + roll + "~" + TaxService + "~" + LandUseCode + "~" + Tax_Authority;
                    gc.insert_date(orderNumber, Parcel_number, 941, Taxinformation, 1, DateTime.Now);
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax Information", driver, "NV", "Lyon");
                    string              type         = "";
                    IWebElement         taxinfotable = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody"));
                    IList <IWebElement> taxinforow   = taxinfotable.FindElements(By.TagName("tr"));
                    IList <IWebElement> taxinfoid;
                    foreach (IWebElement taxinfo in taxinforow)
                    {
                        taxinfoid = taxinfo.FindElements(By.TagName("td"));
                        if (taxinfoid.Count != 0)
                        {
                            if (taxinfo.Text.Trim().Contains("Outstanding Taxes:") || taxinfo.Text.Contains("Current Year"))
                            {
                                type = taxinfoid[0].Text.Trim();
                            }
                            if (type == "Outstanding Taxes:" && !taxinfo.Text.Contains("Prior Year") && taxinfo.Text.Trim() != "" && !taxinfo.Text.Contains("Outstanding Taxes:"))
                            {
                                string Taxuinforesult = taxinfoid[0].Text + "~" + taxinfoid[1].Text + "~" + taxinfoid[2].Text + "~" + taxinfoid[3].Text + "~" + taxinfoid[4].Text + "~" + taxinfoid[5].Text;
                                gc.insert_date(orderNumber, Parcel_number, 945, Taxuinforesult, 1, DateTime.Now);
                            }
                            if (type == "Current Year" && !taxinfo.Text.Contains("Current Year") && taxinfo.Text.Trim() != "")
                            {
                                string taxinforesult = taxinfoid[0].Text + "~" + taxinfoid[1].Text + "~" + taxinfoid[2].Text + "~" + taxinfoid[3].Text + "~" + taxinfoid[4].Text + "~" + taxinfoid[5].Text;
                                gc.insert_date(orderNumber, Parcel_number, 944, taxinforesult, 1, DateTime.Now);
                            }
                        }
                    }
                    //Additional Information
                    string              additional1 = "", additional2 = "", additional3 = "", additional4 = "", additional5 = "";
                    IWebElement         addinformationtable = driver.FindElement(By.XPath("//*[@id='body']/table[3]/tbody/tr[2]/td/table/tbody"));
                    IList <IWebElement> addinformationrow   = addinformationtable.FindElements(By.TagName("tr"));
                    IList <IWebElement> addinformationid;
                    foreach (IWebElement addinformation in addinformationrow)
                    {
                        addinformationid = addinformation.FindElements(By.TagName("td"));
                        if (addinformationid.Count != 0 && addinformation.Text.Trim() != "")
                        {
                            additional1 += addinformationid[1].Text.Trim() + "~";
                            additional2 += addinformationid[2].Text.Trim() + "~";
                            additional3 += addinformationid[3].Text.Trim() + "~";
                            additional4 += addinformationid[4].Text.Trim() + "~";
                            additional5 += addinformationid[5].Text.Trim() + "~";
                            //gc.insert_date(orderNumber, Parcel_number, 947, addinformationresult, 1, DateTime.Now);
                        }
                    }
                    gc.insert_date(orderNumber, Parcel_number, 947, additional1.Remove(additional1.Length - 1, 1), 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 947, additional2.Remove(additional2.Length - 1, 1), 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 947, additional3.Remove(additional3.Length - 1, 1), 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 947, additional4.Remove(additional4.Length - 1, 1), 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 947, additional5.Remove(additional5.Length - 1, 1), 1, DateTime.Now);
                    //current tax history
                    // int firsttime = 0;
                    for (int i = 1; i <= 3; i++)
                    {
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody/tr[12]/td[2]/form/input[1]")).Click();
                        }
                        catch { }
                        Thread.Sleep(2000);
                        string allmosttop = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[2]/tbody/tr[1]/td")).Text;
                        //if (allmosttop.Trim() == "Already at bottom of list.")
                        //{

                        //    firsttime++;
                        //}
                        gc.CreatePdf(orderNumber, Parcel_number, "Tax History" + i, driver, "NV", "Lyon");
                        if (allmosttop.Trim() != "Already at top of list.")  //|| firsttime == 1
                        {
                            //gc.CreatePdf(orderNumber, Parcel_number, "Tax History" + i, driver, "NV", "Lyon");
                            IWebElement         taxhistorytable = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody"));
                            IList <IWebElement> taxhistoryrow   = taxhistorytable.FindElements(By.TagName("tr"));
                            IList <IWebElement> taxhistoryid;
                            foreach (IWebElement taxhistory in taxhistoryrow)
                            {
                                taxhistoryid = taxhistory.FindElements(By.TagName("td"));
                                if (taxhistoryid.Count != 0 && !taxhistory.Text.Contains("Date") && !taxhistory.Text.Trim().Contains("More..."))
                                {
                                    string taxhistoryresult = taxhistoryid[0].Text.Trim() + "~" + taxhistoryid[1].Text + "~" + taxhistoryid[2].Text + "~" + taxhistoryid[3].Text + "~" + taxhistoryid[4].Text + "~" + taxhistoryid[5].Text;
                                    gc.insert_date(orderNumber, Parcel_number, 968, taxhistoryresult.Replace("\r\n", ""), 1, DateTime.Now);
                                }
                            }
                            driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[1]/tbody/tr/td[1]/div/input")).Click();
                            Thread.Sleep(2000);
                        }
                    }
                    //Special Assessment History
                    int p = 0;
                    //int spelcialfirst = 0;
                    for (int j = 1; j <= 3; j++)
                    {
                        try
                        {
                            if (p == 0)
                            {
                                driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[1]/tbody/tr[5]/td[4]/div/input")).Click();
                                Thread.Sleep(2000);
                                p++;
                            }
                        }
                        catch { }

                        IWebElement allmost       = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[2]/tbody/tr[1]/td/div"));
                        string      topbottamlist = allmost.Text.Trim();
                        //if (topbottamlist == "Already at bottom of list.")
                        //{
                        //    spelcialfirst++;
                        //}
                        gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment History" + j, driver, "NV", "Lyon");
                        if (topbottamlist != "Already at top of list.") //|| spelcialfirst == 1
                        {
                            //gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment History" + j, driver, "NV", "Lyon");
                            IWebElement         SpecialAssessmentstable = driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/table[2]/tbody"));
                            IList <IWebElement> specialassmentrow       = SpecialAssessmentstable.FindElements(By.TagName("tr"));
                            IList <IWebElement> specialassmentid;
                            foreach (IWebElement specialassment in specialassmentrow)
                            {
                                specialassmentid = specialassment.FindElements(By.TagName("td"));
                                if (specialassmentid.Count != 0 && !specialassment.Text.Contains("Special Assessment") && !specialassment.Text.Trim().Contains("More..."))
                                {
                                    string splicialassmentresult = specialassmentid[0].Text + "~" + specialassmentid[1].Text + "~" + specialassmentid[2].Text + "~" + specialassmentid[3].Text + "~" + specialassmentid[4].Text + "~" + specialassmentid[5].Text;
                                    gc.insert_date(orderNumber, Parcel_number, 974, splicialassmentresult, 1, DateTime.Now);
                                }
                            }

                            driver.FindElement(By.XPath("//*[@id='body']/table[2]/tbody/tr[2]/td/form/table[1]/tbody/tr/td[1]/div/input")).Click();
                            Thread.Sleep(2000);
                        }
                    }
                    string strAMGParcelId = "", strAMGDistrict = "", strAMGName = "", strAMGStatus = "", strAMGUnbilled = "", strAMGParcelDetails = "", strLegal = "", strOriginalassess = "", strPayOff = "", strAMGAddressDetail = "", strAmgTaxAuthority = "", strType = "", strPrinicipal = "", strInterest = ""
                    , strPenality = "", strOther = "", strTotalDue = "", strBreakParcel = "", strBreakDistrict = "", strBreakdown = "";
                    try
                    {
                        driver.Navigate().GoToUrl("https://amgnv.com/");
                        driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/table[2]/tbody/tr/td/table/tbody/tr[2]/td[1]/form/center/b/input")).SendKeys(Parcel_number);
                        gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment", driver, "NV", "Lyon");
                        driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/table[2]/tbody/tr/td/table/tbody/tr[2]/td[1]/form/center/b/font/font/input")).SendKeys(Keys.Enter);
                        Thread.Sleep(4000);
                        gc.CreatePdf(orderNumber, Parcel_number, "Special Assessment Result", driver, "NV", "Lyon");
                        IWebElement IAMGParcelSearch = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/p/font[1]/table/tbody/tr[2]/td[4]/div/font/a"));
                        string      stramgParcel     = IAMGParcelSearch.GetAttribute("href");
                        driver.Navigate().GoToUrl(stramgParcel);
                        gc.CreatePdf(orderNumber, Parcel_number, "AMG Result", driver, "NV", "Lyon");
                        IWebElement         IParcelTable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[3]/tbody"));
                        IList <IWebElement> IParcelRow   = IParcelTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> IParcelTD;
                        foreach (IWebElement parcel in IParcelRow)
                        {
                            IParcelTD = parcel.FindElements(By.TagName("td"));
                            if (IParcelTD.Count != 0 && !parcel.Text.Contains("Parcel #") && !parcel.Text.Contains("Amounts updated"))
                            {
                                try
                                {
                                    strAMGParcelId = IParcelTD[0].Text;
                                    strAMGDistrict = IParcelTD[1].Text;
                                    strAMGName     = IParcelTD[2].Text;
                                    strAMGStatus   = IParcelTD[3].Text;
                                    strAMGUnbilled = IParcelTD[4].Text;
                                }
                                catch { }

                                strAMGParcelDetails = strAMGDistrict + "~" + strAMGName + "~" + strAMGStatus + "~" + strAMGUnbilled;
                            }
                        }

                        IWebElement         IAMGAddressTable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[4]/tbody"));
                        IList <IWebElement> IAMGAddressRow   = IAMGAddressTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> IAMGAddressTd;
                        foreach (IWebElement address in IAMGAddressRow)
                        {
                            IAMGAddressTd = address.FindElements(By.TagName("td"));
                            if (IAMGAddressTd.Count != 0 && !address.Text.Contains("Situs & Legal Description"))
                            {
                                try
                                {
                                    strLegal         += IAMGAddressTd[0].Text + " ";
                                    strOriginalassess = IAMGAddressTd[1].Text;
                                    strPayOff         = IAMGAddressTd[2].Text;
                                    IAmg = IAMGAddressTd[2].FindElement(By.TagName("a"));
                                }
                                catch { }

                                strAMGAddressDetail = strLegal + "~" + strOriginalassess + "~" + strPayOff;
                            }
                        }
                        if (strAMGParcelDetails.Trim() != "" && strAMGAddressDetail != "")
                        {
                            try
                            {
                                strAmgTaxAuthority = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[8]/tbody/tr[2]/td[2]/table/tbody/tr/td[2]")).Text;
                            }
                            catch { }

                            gc.insert_date(orderNumber, Parcel_number, 970, strAMGParcelDetails + "~" + strAMGAddressDetail + "~" + strAmgTaxAuthority, 1, DateTime.Now);
                        }
                        IWebElement         IAMGDuePayTable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[6]/table/tbody/tr[2]/td[2]/table[6]/tbody"));
                        IList <IWebElement> IAMGDuePayRow   = IAMGDuePayTable.FindElements(By.TagName("tr"));
                        IList <IWebElement> IAMGDuePayTd;
                        foreach (IWebElement Due in IAMGDuePayRow)
                        {
                            IAMGDuePayTd = Due.FindElements(By.TagName("td"));
                            if (IAMGDuePayTd.Count != 0 && !Due.Text.Contains("Principal") && !Due.Text.Contains("Current Due and Payoff Amounts are valid ") && !Due.Text.Contains("* Penalties are added monthly until the Total Due is paid in full.") && !Due.Text.Contains("**Estimated installments") && !Due.Text.Contains("*** Payoff value"))
                            {
                                try
                                {
                                    strType       = IAMGDuePayTd[0].Text;
                                    strPrinicipal = IAMGDuePayTd[1].Text;
                                    strInterest   = IAMGDuePayTd[2].Text;
                                    strPenality   = IAMGDuePayTd[3].Text;
                                    strOther      = IAMGDuePayTd[4].Text;
                                    strTotalDue   = IAMGDuePayTd[5].Text;
                                }
                                catch { }

                                strAMGAddressDetail = strType + "~" + strPrinicipal + "~" + strInterest + "~" + strPenality + "~" + strOther + "~" + strTotalDue;
                                gc.insert_date(orderNumber, Parcel_number, 971, strAMGAddressDetail, 1, DateTime.Now);
                            }
                        }

                        try
                        {
                            IAmg.SendKeys(Keys.Enter);
                            string strURL     = driver.CurrentWindowHandle;
                            string strURLLast = driver.WindowHandles.Last();
                            driver.SwitchTo().Window(strURLLast);
                            gc.CreatePdf(orderNumber, Parcel_number, "BreakDown Result", driver, "NV", "Lyon");
                            strBreakParcel   = driver.FindElement(By.XPath("/html/body/center/table[1]/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text;
                            strBreakDistrict = driver.FindElement(By.XPath("/html/body/center/table[1]/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text;
                            IWebElement         IBreakDownTable = driver.FindElement(By.XPath("/html/body/center/table[2]/tbody/tr/td/table/tbody"));
                            IList <IWebElement> IBreakDownRow   = IBreakDownTable.FindElements(By.TagName("tr"));
                            IList <IWebElement> IBreakDownTD;
                            foreach (IWebElement Break in IBreakDownRow)
                            {
                                IBreakDownTD = Break.FindElements(By.TagName("td"));
                                if (IBreakDownTD.Count != 0 && !Break.Text.Contains("REAL PROPERTY ASSESSED VALUE"))
                                {
                                    try
                                    {
                                        strBreakdown += IBreakDownTD[1].Text + "~";
                                    }
                                    catch { }
                                }
                            }

                            if (strBreakdown.Length != 0)
                            {
                                string strstrBreakdownDetails = strBreakdown.Remove(strBreakdown.Length - 1);
                                gc.insert_date(orderNumber, Parcel_number, 972, strBreakDistrict + "~" + strstrBreakdownDetails, 1, DateTime.Now);
                            }
                        }
                        catch { }
                    }
                    catch { }
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "NV", "Lyon", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);
                    driver.Quit();
                    gc.mergpdf(orderNumber, "NV", "Lyon");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
예제 #17
0
 protected virtual void OnDue()
 {
     Due?.Invoke(this, EventArgs.Empty);
 }
예제 #18
0
        public string FTP_YorkSC(string streetNo, string streetName, string direction, string streetType, string accountNo, string parcelNumber, string ownerName, string searchType, string orderNumber)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            IJavaScriptExecutor js = driver as IJavaScriptExecutor;
            string strmulti = "", Taxy = "";
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", accountnumber = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new PhantomJSDriver();
            //driver = new ChromeDriver();
            using (driver = new PhantomJSDriver()) //ChromeDriver
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=YorkCountySC&Layer=Parcels&PageType=Search");
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    //Thread.Sleep(3000);
                    if (searchType == "titleflex")
                    {
                        string address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + accountNo;
                        gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "SC", "York");
                        if (HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].Equals("Yes"))
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Nodata_YorkSC"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(streetNo + " " + streetName);
                        gc.CreatePdf_WOP(orderNumber, "Address Search Before", driver, "SC", "York");
                        driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "Address Search After", driver, "SC", "York");
                        try
                        {
                            strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results");
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_YorkSC_Maximum"] = "Maximum";
                                return("Maximum");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> ImultiTD;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD = multi.FindElements(By.TagName("td"));
                                if (ImultiTD.Count != 0 && !multi.Text.Contains("Address"))
                                {
                                    string strmultiDetails = ImultiTD[2].Text + "~" + ImultiTD[3].Text;
                                    gc.insert_date(orderNumber, ImultiTD[1].Text, 1541, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_YorkSC"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_YorkSC"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Before Search", driver, "SC", "York");
                        driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Aftere Pdf", driver, "SC", "York");
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_YorkSC"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownerName);
                        gc.CreatePdf_WOP(orderNumber, "OwnerName Search Before", driver, "SC", "York");
                        driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf_WOP(orderNumber, "OwnerName Search After", driver, "SC", "York");

                        try
                        {
                            strmulti = GlobalClass.Before(driver.FindElement(By.Id("ctlBodyPane_ctl00_txtResultCount")).Text.Trim(), " Results");
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Paulding_Maximum"] = "Maximum";
                                return("Maximum");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("tr"));
                            IList <IWebElement> ImultiTD;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD = multi.FindElements(By.TagName("td"));
                                if (ImultiTD.Count != 0 && !multi.Text.Contains("Address"))
                                {
                                    string strmultiDetails = ImultiTD[2].Text + "~" + ImultiTD[3].Text;
                                    gc.insert_date(orderNumber, ImultiTD[1].Text, 1541, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_YorkSC"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text;
                            if (nodata.Contains("No results match your search criteria."))
                            {
                                HttpContext.Current.Session["Nodata_YorkSC"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    //Property Details

                    string Owner = "", ParcelNumber = "", Propertyaddress = "", Mailingaddress = "", LegalDescription = "", Classcode = "";
                    try
                    {
                        string   bulktext1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_mSection']/div")).Text.Trim();
                        string[] Propdata1 = bulktext1.Split('\r');

                        if (Propdata1.Count() == 4)
                        {
                            Owner          = Propdata1[0].Replace("\r\n", "").Trim() + "&" + Propdata1[1].Replace("\r\n", "").Trim();
                            Mailingaddress = Propdata1[2].Replace("\r\n", "").Trim() + Propdata1[3].Replace("\r\n", "").Trim();
                        }
                        if (Propdata1.Count() == 3)
                        {
                            Owner          = Propdata1[0].Replace("\r\n", "").Trim();
                            Mailingaddress = Propdata1[1].Replace("\r\n", "").Trim() + Propdata1[2].Replace("\r\n", "").Trim();
                        }
                        if (Propdata1.Count() == 2)
                        {
                            Mailingaddress = Propdata1[1].Replace("\r\n", "").Trim() + Propdata1[2].Replace("\r\n", "").Trim();
                        }
                    }
                    catch { }
                    ParcelNumber = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblParcelNumber")).Text.Trim();
                    gc.CreatePdf(orderNumber, ParcelNumber, "Property Details and Assessment Details Pdf", driver, "SC", "York");
                    Propertyaddress  = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblLocationAddr")).Text.Trim();
                    LegalDescription = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblDescription")).Text.Trim();
                    Classcode        = driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_lblClass")).Text.Trim();
                    string PropertyDetails = Owner.Trim() + "~" + Propertyaddress.Trim() + "~" + Mailingaddress.Trim() + "~" + LegalDescription.Trim() + "~" + Classcode.Trim();
                    gc.insert_date(orderNumber, ParcelNumber, 1539, PropertyDetails, 1, DateTime.Now);
                    //Assessment Details
                    string AssessmentYear = "";
                    try
                    {
                        AssessmentYear = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl11_ctl01_grdValuation']/thead/tr/th[3]")).Text.Trim();
                    }
                    catch { }
                    // gc.CreatePdf(orderNumber, ParcelNumber, "Assessment Details ", driver, "GA", "Paulding");
                    try
                    {
                        string              AssessmentTitle = "", AssessmentValue = "";
                        IWebElement         tbcurasses12 = driver.FindElement(By.Id("ctlBodyPane_ctl02_mSection"));
                        IList <IWebElement> TRcurasses2  = tbcurasses12.FindElements(By.TagName("tr"));
                        IList <IWebElement> TDmulti12;
                        foreach (IWebElement row in TRcurasses2)
                        {
                            TDmulti12 = row.FindElements(By.TagName("td"));
                            if (TDmulti12.Count != 0 && !row.Text.Contains("Value Information"))
                            {
                                AssessmentTitle += TDmulti12[0].Text + "~";
                                AssessmentValue += TDmulti12[1].Text + "~";
                            }
                        }
                        db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Year" + "~" + AssessmentTitle.Remove(AssessmentTitle.Length - 1, 1) + "' where Id = '" + 1540 + "'");
                        gc.insert_date(orderNumber, ParcelNumber, 1540, AssessmentYear + "~" + AssessmentValue.Remove(AssessmentValue.Length - 1, 1), 1, DateTime.Now);
                    }
                    catch { }
                    //Tax Authority
                    string Taxauthority = "", Taxauthority1 = "";
                    try
                    {
                        driver.Navigate().GoToUrl("https://www.yorkcountygov.com/Directory.aspx?did=28");
                        Taxauthority1 = driver.FindElement(By.Id("CityDirectoryLeftMargin")).Text.Trim();
                        Taxauthority  = gc.Between(Taxauthority1.Replace("\r\n", " "), "Mailing Address:", "Fax:").Trim();
                        gc.CreatePdf(orderNumber, ParcelNumber, "Tax Authority Details", driver, "SC", "York");
                    }
                    catch { }
                    //Tax Information Details

                    driver.Navigate().GoToUrl("https://onlinetaxes.yorkcountygov.com/taxes#/");
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, ParcelNumber, "Tax main page", driver, "SC", "York");
                    try
                    {//*[@id="cc5f8c90dc-b4cb-431b-90ee-10648f8df655"]/div/div/p[3]/button[1]
                        //*[@id="cc5f8c90dc-b4cb-431b-90ee-10648f8df655"]/div/div/p[3]/button[1]
                        driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/p[3]/button[1]")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, ParcelNumber, "Tax accept click", driver, "SC", "York");
                    }
                    catch
                    { }
                    try
                    {
                        driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[2]")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                    }
                    catch { }
                    ////*[@id="searchBox"]
                    //try {
                    //driver.Navigate().GoToUrl("https://onlinetaxes.yorkcountygov.com/taxes#/WildfireSearch");
                    //Thread.Sleep(3000);
                    //}catch { }
                    driver.FindElement(By.Id("searchBox")).SendKeys(ParcelNumber);
                    //driver.FindElement(By.XPath("//*[@id='searchBox']")).SendKeys(ParcelNumber);
                    Thread.Sleep(4000);
                    try
                    {
                        //*[@id="searchForm"]/div[1]/div/span/button
                        driver.FindElement(By.XPath("//*[@id='searchForm']/div[1]/div/span/button")).SendKeys(Keys.Enter);
                    }
                    catch { }
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, ParcelNumber, "Payment Details Pdf", driver, "SC", "York");
                    //Tax History Details Table
                    string TaxHistorydetails = "", TaxOwnerName = "", TaxYear = "", Receipt = "", Descripton = "", Type = "", Status = "", PaidDate = "";

                    try
                    {
                        IWebElement         PaymentTB = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div[4]/div[2]/table")); //Working on div[3]/div[2] Previously
                        IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> PaymentTD;

                        foreach (IWebElement Payment in PaymentTR)
                        {
                            PaymentTD = Payment.FindElements(By.TagName("td"));
                            if (PaymentTD.Count != 0 && !Payment.Text.Contains("Owner Name"))
                            {
                                TaxOwnerName = PaymentTD[0].Text;
                                TaxYear      = PaymentTD[1].Text;
                                Receipt      = PaymentTD[2].Text;
                                Descripton   = PaymentTD[3].Text;
                                Type         = PaymentTD[4].Text;
                                Status       = PaymentTD[5].Text;
                                PaidDate     = PaymentTD[6].Text;

                                TaxHistorydetails = TaxOwnerName + "~" + TaxYear + "~" + Receipt + "~" + Descripton + "~" + Type + "~" + Status + "~" + PaidDate + "~" + Taxauthority;
                                gc.insert_date(orderNumber, ParcelNumber, 1547, TaxHistorydetails, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }

                    //Tax Information Details//
                    //***********************=========***********************//

                    string name = "", Taxyear = "", bill_no = "", amount = "", Del_details = "", delinaccount = "", delinparcelid = "";
                    //int p = 0;
                    for (int i = 1; i < 4; i++)
                    {
                        try
                        {
                            IWebElement Receipttable1 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div[4]/div[2]/table/tbody/tr[" + i + "]/td[9]/button")); //Working on div[3]/div[2] Previously
                            Receipttable1.Click();
                            Thread.Sleep(5000);
                            ////View Delinquent Details
                            try
                            {
                                IWebElement         DeliquentTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tbody"));
                                IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> DeliquentTD;

                                foreach (IWebElement Deliquent in DeliquentTR)
                                {
                                    DeliquentTD = Deliquent.FindElements(By.TagName("td"));
                                    if (DeliquentTD.Count != 0)
                                    {
                                        name    = DeliquentTD[0].Text.Trim();
                                        bill_no = DeliquentTD[1].Text.Trim();
                                        Taxyear = DeliquentTD[2].Text.Trim();
                                        amount  = DeliquentTD[6].Text.Trim();

                                        Del_details = name + "~" + Taxyear + "~" + bill_no + "~" + amount;
                                        gc.CreatePdf(orderNumber, ParcelNumber, "Deliquent Details" + i, driver, "SC", "York");
                                        gc.insert_date(orderNumber, ParcelNumber, 1443, Del_details, 1, DateTime.Now);
                                        name = ""; Taxyear = ""; bill_no = ""; amount = ""; delinaccount = ""; delinparcelid = "";
                                    }
                                }
                            }
                            catch
                            { }
                            try
                            {
                                IWebElement         DeliquentfootTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tfoot"));
                                IList <IWebElement> DeliquentfootTR = DeliquentfootTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> DeliquentfootTD;

                                foreach (IWebElement Deliquentfoot in DeliquentfootTR)
                                {
                                    DeliquentfootTD = Deliquentfoot.FindElements(By.TagName("th"));
                                    if (DeliquentfootTD.Count != 0)
                                    {
                                        string bill_no1 = DeliquentfootTD[0].Text;
                                        string amount1  = DeliquentfootTD[2].Text;

                                        string Del_details1 = "" + "~" + "" + "~" + bill_no1 + "~" + amount1;
                                        gc.insert_date(orderNumber, ParcelNumber, 1443, Del_details1, 1, DateTime.Now);
                                    }
                                }
                                gc.CreatePdf(orderNumber, ParcelNumber, "Delinquent" + i, driver, "SC", "York");
                            }
                            catch
                            { }

                            try
                            {
                                driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click();
                                Thread.Sleep(2000);
                            }
                            catch
                            { }
                            string Parcelid = "", Taxinfownername1 = "", PayStatus = "", Paypaiddate = "", Effectivedate = "", Paidamount = "", BillType = "", BillTaxYearinfo = "", Billreceipt = "", Duedate = "", Basetaxamt = "", Penalty = "", Costs = "", Totaldue = "", Credit = "", Fees = "";
                            //Tax Information details1
                            IWebElement         TaxTB2 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[2]"));
                            IList <IWebElement> TaxTR2 = TaxTB2.FindElements(By.TagName("div"));
                            IList <IWebElement> TaxTD2;
                            foreach (IWebElement Tax2 in TaxTR2)
                            {
                                if (Tax2.Text.Contains("Property Information"))
                                {
                                    Parcelid = gc.Between(Tax2.Text, "Parcel Number", "District").Trim();
                                }
                                if (Tax2.Text.Contains("Bill Information"))
                                {
                                    BillType        = gc.Between(Tax2.Text, "Record Type", "Tax Year").Trim();
                                    BillTaxYearinfo = gc.Between(Tax2.Text, "Tax Year", "Receipt").Trim();
                                    Billreceipt     = gc.Between(Tax2.Text, "Receipt", "Due Date").Trim();
                                    Duedate         = GlobalClass.After(Tax2.Text, "Due Date").Trim();
                                }
                            }
                            //Tax information details
                            //Owner information and Payment Information
                            IWebElement         TaxTB1 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[1]"));
                            IList <IWebElement> TaxTR1 = TaxTB1.FindElements(By.TagName("div"));
                            IList <IWebElement> TaxTD;
                            foreach (IWebElement Tax1 in TaxTR1)
                            {
                                if (Tax1.Text.Contains("Owner Information"))
                                {
                                    Taxinfownername1 = GlobalClass.After(Tax1.Text, "Owner Information").Trim();
                                    string[] Taxinfownernamesplit = Taxinfownername1.Split('\r');
                                    TaxOwnerName = Taxinfownernamesplit[0] + " " + Taxinfownernamesplit[2].Trim();
                                }
                                if (Tax1.Text.Contains("Payment Information"))
                                {
                                    PayStatus     = gc.Between(Tax1.Text, "Status", "Last Payment Date").Trim();
                                    Paypaiddate   = gc.Between(Tax1.Text, "Last Payment Date", "Postmark Date").Trim();
                                    Effectivedate = gc.Between(Tax1.Text, "Postmark Date", "Amount Paid").Trim();
                                    Paidamount    = GlobalClass.After(Tax1.Text, "Amount Paid").Trim();
                                }
                                //}
                            }
                            string Taxinformationdetails2 = TaxOwnerName.Trim() + "~" + PayStatus.Trim() + "~" + Paypaiddate.Trim() + "~" + Effectivedate.Trim() + "~" + Paidamount.Trim() + "~" + BillType.Trim() + "~" + BillTaxYearinfo.Trim() + "~" + Billreceipt.Trim() + "~" + Duedate.Trim();
                            gc.insert_date(orderNumber, Parcelid, 1545, Taxinformationdetails2, 1, DateTime.Now);
                            gc.CreatePdf(orderNumber, ParcelNumber, "Payment Details Pdf" + BillTaxYearinfo, driver, "SC", "York");
                            //Property Infor and Bill Infor and Taxes
                            string              Basetax = "", Credit1 = "", Fees1 = "", Penalty1 = "", Costs1 = "", Totaldue11 = "";
                            IWebElement         TaxTB3 = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[2]/div[3]/table/tbody"));
                            IList <IWebElement> TaxTR3 = TaxTB3.FindElements(By.TagName("tr"));
                            IList <IWebElement> TaxTD3;
                            foreach (IWebElement Tax2 in TaxTR3)
                            {
                                //TaxTR3 = Tax2.FindElements(By.TagName("tr"));
                                TaxTD3 = Tax2.FindElements(By.TagName("td"));
                                if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Base Taxes"))
                                {
                                    Basetax = TaxTD3[1].Text.Trim();
                                }
                                if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Credit"))
                                {
                                    Credit1 = TaxTD3[1].Text.Trim();
                                }
                                if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Fees"))
                                {
                                    Fees1 = TaxTD3[1].Text.Trim();
                                }
                                if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Penalty"))
                                {
                                    Penalty1 = TaxTD3[1].Text.Trim();
                                }
                                if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Costs"))
                                {
                                    Costs1 = TaxTD3[1].Text.Trim();
                                }
                                if (TaxTD3.Count == 2 && Tax2.Text.Trim() != "" && Tax2.Text.Trim().Contains("Total Due"))
                                {
                                    Totaldue11 = TaxTD3[1].Text.Trim();
                                }
                            }//Penalty1="", Costs1="",Totaldue11=""
                             //db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Title.Remove(Value.Length - 1, 1) + "' where Id = '" + 1445 + "'");
                            string Taxinformationdetails = BillTaxYearinfo.Trim() + "~" + Basetax.Trim() + "~" + Credit1.Trim() + "~" + Fees1.Trim() + "~" + Penalty1.Trim() + "~" + Costs1.Trim() + "~" + Totaldue11.Trim();
                            gc.insert_date(orderNumber, ParcelNumber, 1445, Taxinformationdetails, 1, DateTime.Now);
                            //***Due Date Details**
                            string              Ifpaidby = "", Penaltydue = "", Amountdue = "";
                            IWebElement         DueTB = driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/div/div[1]/div[3]/div[2]/table"));
                            IList <IWebElement> DueTR = DueTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> DueTH = DueTB.FindElements(By.TagName("th"));
                            IList <IWebElement> DueTD;

                            foreach (IWebElement Due in DueTR)
                            {
                                try
                                {
                                    DueTD = Due.FindElements(By.TagName("td"));
                                    DueTH = Due.FindElements(By.TagName("th"));

                                    if (DueTH.Count != 0)
                                    {
                                        Penaltydue = DueTH[1].Text;
                                        Amountdue  = DueTH[2].Text;
                                        db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + "Tax Year~If Paid by~" + Penaltydue + "~" + Amountdue + "' where Id = '" + 1546 + "'");
                                    }
                                    if (DueTD.Count != 0)
                                    {
                                        Ifpaidby   = DueTD[0].Text;
                                        Penaltydue = DueTD[1].Text;
                                        Amountdue  = DueTD[2].Text;
                                        string Duedatedetails = BillTaxYearinfo + "~" + Ifpaidby + "~" + Penaltydue + "~" + Amountdue;
                                        gc.insert_date(orderNumber, Parcelid, 1546, Duedatedetails, 1, DateTime.Now);
                                    }
                                }
                                catch { }
                            }
                            //Tax Bill Download
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='cc5f8c90dc-b4cb-431b-90ee-10648f8df655']/div/div/div/ul/li[2]/a/div")).Click();
                                Thread.Sleep(5000);
                                gc.CreatePdf(orderNumber, ParcelNumber, "Tax Bill Details" + BillTaxYearinfo, driver, "SC", "York");
                                //Thread.Sleep(5000);
                            }
                            catch { }
                            driver.Navigate().Back();
                        }
                        catch { }
                    }

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

                    driver.Quit();
                    gc.mergpdf(orderNumber, "SC", "York");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
예제 #19
0
        public string FTP_TXHays(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 = "";

            var driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new PhantomJSDriver();
            //driver = new ChromeDriver();
            using (driver = new PhantomJSDriver()) //ChromeDriver
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");

                    if (searchType == "titleflex")
                    {
                        string titleaddress = streetno + " " + streetname + " " + streettype + " " + unitnumber;
                        gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "TX", "Hays");
                        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_TXHays"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }

                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("http://esearch.hayscad.com/");
                        Thread.Sleep(2000);

                        IJavaScriptExecutor js2 = driver as IJavaScriptExecutor;
                        IWebElement         ParcelLinkSearch1 = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[3]/a"));
                        js2.ExecuteScript("arguments[0].click();", ParcelLinkSearch1);
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("//*[@id='StreetNumber']")).SendKeys(streetno);
                        driver.FindElement(By.XPath("//*[@id='StreetName']")).SendKeys(streetname);

                        driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(5000);

                        aaa    = driver.FindElement(By.XPath("//*[@id='page-header']")).Text;
                        parcel = gc.Between(aaa, "Page 1 of 1 - ", " (").Trim();

                        if (parcel == "Total: 1")
                        {
                            gc.CreatePdf_WOP(orderNumber, "Owner", driver, "TX", "Hays");
                            var chDriver = new ChromeDriver();
                            chDriver.Navigate().GoToUrl(driver.Url);
                            Thread.Sleep(4000);

                            IWebElement         Multiaddresstable = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                            IList <IWebElement> multiaddressrow   = Multiaddresstable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Multiaddressid;
                            foreach (IWebElement Multiaddress in multiaddressrow)
                            {
                                Multiaddressid = Multiaddress.FindElements(By.TagName("td"));
                                if (Multiaddressid.Count != 0)
                                {
                                    parcel = Multiaddressid[1].Text;
                                }
                            }
                            gc.CreatePdf_WOP(orderNumber, "Owner Address search1", driver, "TX", "Hays");
                            //ByVisibleElement(chDriver.FindElement(By.Id("DownloadResults")));
                            gc.CreatePdf_WOP(orderNumber, "Owner Address search2", driver, "TX", "Hays");
                            driver.Navigate().GoToUrl("http://esearch.hayscad.com/Property/View/" + parcel + "");
                            Thread.Sleep(2000);
                            gc.CreatePdf_WOP(orderNumber, "Owner Address search1", driver, "TX", "Hays");
                            chDriver.Quit();
                        }

                        else
                        {
                            try
                            {
                                var chDriver = new ChromeDriver();
                                chDriver.Navigate().GoToUrl(driver.Url);
                                Thread.Sleep(4000);

                                IWebElement         MultiAddressTB = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                                IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> MultiAddressTD;
                                gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "TX", "Hays");
                                int AddressmaxCheck = 0;
                                foreach (IWebElement MultiAddress in MultiAddressTR)
                                {
                                    if (AddressmaxCheck <= 25)
                                    {
                                        MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                        if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Mobile Home"))
                                        {
                                            Parcelno         = MultiAddressTD[1].Text;
                                            Multi_Type       = MultiAddressTD[5].Text;
                                            Owner            = MultiAddressTD[6].Text;
                                            Property_Address = MultiAddressTD[7].Text;

                                            MultiAddress_details = Multi_Type + "~" + Owner + "~" + Property_Address;
                                            gc.insert_date(orderNumber, Parcelno, 1002, MultiAddress_details, 1, DateTime.Now);
                                        }
                                        AddressmaxCheck++;
                                    }
                                }
                                if (MultiAddressTR.Count > 25)
                                {
                                    HttpContext.Current.Session["multiParcel_TXHays_Multicount"] = "Maximum";
                                }
                                else
                                {
                                    HttpContext.Current.Session["multiParcel_TXHays"] = "Yes";
                                }
                                chDriver.Quit();
                                return("MultiParcel");
                            }
                            catch
                            { }
                        }
                    }

                    if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("http://esearch.hayscad.com/");
                        Thread.Sleep(2000);

                        IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                        IWebElement         ParcelLinkSearch = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[4]/a"));
                        js1.ExecuteScript("arguments[0].click();", ParcelLinkSearch);
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("PropertyId")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "TX", "Hays");
                        driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[2]")).Click();
                        Thread.Sleep(5000);
                        gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch1", driver, "TX", "Hays");
                    }

                    if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("http://esearch.hayscad.com/");
                        Thread.Sleep(2000);

                        IJavaScriptExecutor js3 = driver as IJavaScriptExecutor;
                        IWebElement         ParcelLinkSearch2 = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[2]/a"));
                        js3.ExecuteScript("arguments[0].click();", ParcelLinkSearch2);
                        Thread.Sleep(2000);

                        driver.FindElement(By.Id("OwnerName")).SendKeys(ownernm);
                        gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "TX", "Hays");
                        driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);

                        aaa    = driver.FindElement(By.XPath("//*[@id='page-header']")).Text;
                        parcel = gc.Between(aaa, "Page 1 of 1 - ", " (").Trim();

                        if (parcel == "Total: 1")
                        {
                            gc.CreatePdf_WOP(orderNumber, "Owner", driver, "TX", "Hays");
                            var chDriver = new ChromeDriver();
                            chDriver.Navigate().GoToUrl(driver.Url);
                            Thread.Sleep(4000);

                            IWebElement         Multiaddresstable = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                            IList <IWebElement> multiaddressrow   = Multiaddresstable.FindElements(By.TagName("tr"));
                            IList <IWebElement> Multiaddressid;
                            foreach (IWebElement Multiaddress in multiaddressrow)
                            {
                                Multiaddressid = Multiaddress.FindElements(By.TagName("td"));
                                if (Multiaddressid.Count != 0)
                                {
                                    parcel = Multiaddressid[1].Text;
                                }
                            }
                            gc.CreatePdf_WOP(orderNumber, "Owner search1", driver, "TX", "Hays");
                            //ByVisibleElement(chDriver.FindElement(By.Id("DownloadResults")));
                            gc.CreatePdf_WOP(orderNumber, "Owner Search2", driver, "TX", "Hays");
                            driver.Navigate().GoToUrl("http://esearch.hayscad.com/Property/View/" + parcel + "");
                            Thread.Sleep(2000);
                            gc.CreatePdf_WOP(orderNumber, "Owner search3", driver, "TX", "Hays");
                            chDriver.Quit();
                        }

                        else
                        {
                            try
                            {
                                var chDriver = new ChromeDriver();
                                chDriver.Navigate().GoToUrl(driver.Url);
                                Thread.Sleep(4000);

                                IWebElement         MultiAddressTB = chDriver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody"));
                                IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> MultiAddressTD;
                                gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "TX", "Hays");
                                int AddressmaxCheck = 0;
                                foreach (IWebElement MultiAddress in MultiAddressTR)
                                {
                                    if (AddressmaxCheck <= 25)
                                    {
                                        MultiAddressTD = MultiAddress.FindElements(By.TagName("td"));
                                        if (MultiAddressTD.Count != 0 && !MultiAddress.Text.Contains("Mobile Home"))
                                        {
                                            Parcelno         = MultiAddressTD[1].Text;
                                            Multi_Type       = MultiAddressTD[5].Text;
                                            Owner            = MultiAddressTD[6].Text;
                                            Property_Address = MultiAddressTD[7].Text;

                                            MultiAddress_details = Multi_Type + "~" + Owner + "~" + Property_Address;
                                            gc.insert_date(orderNumber, Parcelno, 1002, MultiAddress_details, 1, DateTime.Now);
                                        }
                                        AddressmaxCheck++;
                                    }
                                }
                                if (MultiAddressTR.Count > 25)
                                {
                                    HttpContext.Current.Session["multiParcel_TXHays_Multicount"] = "Maximum";
                                }
                                else
                                {
                                    HttpContext.Current.Session["multiParcel_TXHays"] = "Yes";
                                }
                                chDriver.Quit();
                                return("MultiParcel");
                            }
                            catch
                            { }
                        }
                    }

                    try
                    {
                        IWebElement INodata = driver.FindElement(By.Id("results-page"));
                        if (INodata.Text.Contains("Page 1 of 0 - Total: 0"))
                        {
                            HttpContext.Current.Session["Nodata_TXHays"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }

                    //Property Details
                    try
                    {
                        IList <IWebElement> tables1 = driver.FindElements(By.XPath("//*[@id='detail-page']/div/div[1]/div/table"));
                        int count1 = tables1.Count;
                        foreach (IWebElement tab1 in tables1)
                        {
                            if (tab1.Text.Contains("Account"))
                            {
                                IList <IWebElement> ProTR = tab1.FindElements(By.TagName("tr"));
                                IList <IWebElement> ProTD;
                                IList <IWebElement> ProTH;
                                foreach (IWebElement Pro in ProTR)
                                {
                                    ProTD = Pro.FindElements(By.TagName("td"));
                                    ProTH = Pro.FindElements(By.TagName("th"));
                                    if (!Pro.Text.Contains("Account") && !Pro.Text.Contains("Location") && !Pro.Text.Contains("% Ownership:") && !Pro.Text.Contains("Agent Code:"))
                                    {
                                        Parcel = ProTH[0].Text;
                                        if (Parcel.Contains("Property ID:"))
                                        {
                                            Parcel_ID = ProTD[0].Text;
                                        }
                                        Legal = ProTH[0].Text;
                                        if (Legal.Contains("Legal Description:"))
                                        {
                                            Legal_Desp = ProTD[0].Text;
                                        }
                                        Graphic = ProTH[0].Text;
                                        if (Graphic.Contains("Geographic ID:"))
                                        {
                                            Graphic_Id = ProTD[0].Text;
                                        }
                                        Tap = ProTH[0].Text;
                                        if (Tap.Contains("Type:"))
                                        {
                                            Type = ProTD[0].Text;
                                        }
                                        Adds = ProTH[0].Text;
                                        if (Adds.Contains("Address:"))
                                        {
                                            Pro_Addrs = ProTD[0].Text;
                                        }
                                        Maps = ProTH[0].Text;
                                        if (Maps.Contains("Map ID:"))
                                        {
                                            Map = ProTD[0].Text;
                                        }
                                        Nighber = ProTH[0].Text;
                                        if (Nighber.Contains("Neighborhood CD:"))
                                        {
                                            Nighberhood = ProTD[0].Text;
                                        }
                                        Own_Id = ProTH[0].Text;
                                        if (Own_Id.Contains("Owner ID:"))
                                        {
                                            Owner_Id = ProTD[0].Text;
                                        }
                                        Nam = ProTH[0].Text;
                                        if (Nam.Contains("Name:"))
                                        {
                                            Name = ProTD[0].Text;
                                        }
                                        Mailing_Addrs = ProTH[0].Text;
                                        if (Mailing_Addrs.Contains("Mailing Address:"))
                                        {
                                            Mailing_Address = ProTD[0].Text;
                                        }
                                        Exmp = ProTH[0].Text;
                                        if (Exmp.Contains("Exemptions:"))
                                        {
                                            Excemptions = ProTD[0].Text;
                                        }
                                    }
                                }

                                try
                                {
                                    Year_Built = driver.FindElement(By.XPath("//*[@id='detail-page']/div[5]/div[2]/table[1]/tbody/tr[2]/td[4]")).Text;
                                    Acres      = driver.FindElement(By.XPath("//*[@id='detail-page']/div[6]/div[2]/table/tbody/tr[2]/td[3]")).Text;
                                }
                                catch
                                { }

                                Property_Details = Legal_Desp + "~" + Graphic_Id + "~" + Type + "~" + Pro_Addrs + "~" + Map + "~" + Nighberhood + "~" + Owner_Id + "~" + Name + "~" + Mailing_Address + "~" + Excemptions + "~" + Acres + "~" + Year_Built;
                                gc.CreatePdf(orderNumber, Parcel_ID, "Property Details", driver, "TX", "Hays");
                                gc.insert_date(orderNumber, Parcel_ID, 1003, Property_Details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Values Details
                    try
                    {
                        IList <IWebElement> tables2 = driver.FindElements(By.XPath("//*[@id='detail-page']/div/div[2]/div/table"));
                        int count2 = tables2.Count;
                        foreach (IWebElement tab2 in tables2)
                        {
                            if (tab2.Text.Contains("Improvement Homesite Value:"))
                            {
                                IList <IWebElement> AssemntTR = tab2.FindElements(By.TagName("tr"));
                                IList <IWebElement> AssemntTD;
                                IList <IWebElement> AssemntTH;
                                foreach (IWebElement Assemnt in AssemntTR)
                                {
                                    AssemntTD = Assemnt.FindElements(By.TagName("td"));
                                    AssemntTH = Assemnt.FindElements(By.TagName("th"));

                                    if (Assemnt.Text != " ")
                                    {
                                        Imp_Home = AssemntTH[0].Text;
                                        if (Imp_Home.Contains("Improvement Homesite Value:"))
                                        {
                                            Imp_Homesite = AssemntTD[0].Text;
                                        }

                                        Imp_NonHome = AssemntTH[0].Text;
                                        if (Imp_NonHome.Contains("Improvement Non-Homesite Value:"))
                                        {
                                            Imp_NonHomesite = AssemntTD[0].Text;
                                        }

                                        Land = AssemntTH[0].Text;
                                        if (Land.Contains("Land Homesite Value:"))
                                        {
                                            Land_Homesite = AssemntTD[0].Text;
                                        }

                                        Non_Land = AssemntTH[0].Text;
                                        if (Non_Land.Contains("Land Non-Homesite Value:"))
                                        {
                                            Land_NonHomesite = AssemntTD[0].Text;
                                        }

                                        Agricutr = AssemntTH[0].Text;
                                        if (Agricutr.Contains("Agricultural Market Valuation:"))
                                        {
                                            Agri_Markt = AssemntTD[0].Text;
                                        }

                                        Mrkt = AssemntTH[0].Text;
                                        if (Mrkt.Contains("Market Value:"))
                                        {
                                            Mrkt_Value = AssemntTD[0].Text;
                                        }

                                        Ag_Value = AssemntTH[0].Text;
                                        if (Ag_Value.Contains("Ag Use Value:"))
                                        {
                                            AgUse_Value = AssemntTD[0].Text;
                                        }

                                        App_Value = AssemntTH[0].Text;
                                        if (App_Value.Contains("Appraised Value:"))
                                        {
                                            Appraised_Value = AssemntTD[0].Text;
                                        }

                                        Home_Cap = AssemntTH[0].Text;
                                        if (Home_Cap.Contains("Homestead Cap Loss:"))
                                        {
                                            Homested_Cap = AssemntTD[0].Text;
                                        }

                                        Assd_Value = AssemntTH[0].Text;
                                        if (Assd_Value.Contains("Assessed Value:"))
                                        {
                                            Assessed_Value = AssemntTD[0].Text;
                                        }
                                    }
                                }
                                Assessment_Details = Imp_Homesite + "~" + Imp_NonHomesite + "~" + Land_Homesite + "~" + Land_NonHomesite + "~" + Agri_Markt + "~" + Mrkt_Value + "~" + AgUse_Value + "~" + Appraised_Value + "~" + Homested_Cap + "~" + Assessed_Value;
                                gc.insert_date(orderNumber, Parcel_ID, 1006, Assessment_Details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");

                    //Jurisdiction Details

                    try
                    {
                        IWebElement         JurisdictionTB = driver.FindElement(By.XPath("//*[@id='detail-page']/div[4]/div[2]/table/tbody"));
                        IList <IWebElement> JurisdictionTR = JurisdictionTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> JurisdictionTD;

                        foreach (IWebElement Jurisdiction in JurisdictionTR)
                        {
                            JurisdictionTD = Jurisdiction.FindElements(By.TagName("td"));
                            if (JurisdictionTD.Count != 0 && !Jurisdiction.Text.Contains("Entity"))
                            {
                                Entity      = JurisdictionTD[0].Text;
                                Desp        = JurisdictionTD[1].Text;
                                Mrket_Value = JurisdictionTD[2].Text;
                                Txble_Value = JurisdictionTD[3].Text;

                                Jurisdiction_details = Entity + "~" + Desp + "~" + Mrket_Value + "~" + Txble_Value;
                                gc.insert_date(orderNumber, Parcel_ID, 1007, Jurisdiction_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //RollValue Details
                    try
                    {
                        IList <IWebElement> tables4 = driver.FindElements(By.XPath("//*[@id='detail-page']/div/div[2]/table"));
                        int count4 = tables4.Count;
                        foreach (IWebElement tab4 in tables4)
                        {
                            if (tab4.Text.Contains("HS Cap Loss"))
                            {
                                IList <IWebElement> RollValueTR = tab4.FindElements(By.TagName("tr"));
                                IList <IWebElement> RollValueTD;

                                foreach (IWebElement RollValue in RollValueTR)
                                {
                                    RollValueTD = RollValue.FindElements(By.TagName("td"));
                                    if (RollValueTD.Count != 0 && !RollValue.Text.Contains("Year"))
                                    {
                                        Year        = RollValueTD[0].Text;
                                        Improv      = RollValueTD[1].Text;
                                        lnd_Mrkt    = RollValueTD[2].Text;
                                        Ag_Valution = RollValueTD[3].Text;
                                        Appraised   = RollValueTD[4].Text;
                                        HS_Cap      = RollValueTD[5].Text;
                                        Pro_Assed   = RollValueTD[6].Text;

                                        RollValue_details = Year + "~" + Improv + "~" + lnd_Mrkt + "~" + Ag_Valution + "~" + Appraised + "~" + HS_Cap + "~" + Pro_Assed;
                                        gc.insert_date(orderNumber, Parcel_ID, 1008, RollValue_details, 1, DateTime.Now);
                                    }
                                }
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Details
                    driver.Navigate().GoToUrl("https://hayscountytax.com/taxes.html#/WildfireSearch");
                    Thread.Sleep(2000);

                    try
                    {
                        driver.FindElement(By.Id("btnAccept")).Click();
                        Thread.Sleep(2000);
                    }
                    catch
                    { }

                    try
                    {
                        driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[1]")).Click();
                        Thread.Sleep(2000);
                    }
                    catch
                    { }

                    driver.FindElement(By.Id("searchBox")).SendKeys(Parcel_ID);
                    Thread.Sleep(5000);

                    //TaxPayment Details
                    try
                    {
                        IWebElement TaxPaymentTB = null;
                        try
                        {
                            TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                        }
                        catch { }
                        try
                        {
                            if (TaxPaymentTB == null)
                            {
                                TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                            }
                        }
                        catch { }
                        IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> TaxPaymentTD;

                        foreach (IWebElement TaxPayment in TaxPaymentTR)
                        {
                            TaxPaymentTD = TaxPayment.FindElements(By.TagName("td"));
                            if (TaxPaymentTD.Count != 0)
                            {
                                Owners        = TaxPaymentTD[0].Text;
                                year          = TaxPaymentTD[1].Text;
                                Quiref_Id     = TaxPaymentTD[2].Text;
                                Situs_Address = TaxPaymentTD[3].Text;
                                Status        = TaxPaymentTD[4].Text;

                                Payment_details = Owners + "~" + year + "~" + Quiref_Id + "~" + Situs_Address + "~" + Status;
                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Payment Details", driver, "TX", "Hays");
                                gc.insert_date(orderNumber, Parcel_ID, 1009, Payment_details, 1, DateTime.Now);
                            }
                        }
                    }
                    catch
                    { }

                    //Tax Info Details
                    int                p1 = 0, p2 = 0, p3 = 0;
                    List <string>      strTaxRealestate  = new List <string>();
                    List <IWebElement> strTaxRealestate1 = new List <IWebElement>();
                    IWebElement        ITaxReal1         = null;
                    try
                    {
                        ITaxReal1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody"));
                    }
                    catch { }
                    try
                    {
                        if (ITaxReal1 == null)
                        {
                            ITaxReal1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody"));
                        }
                    }
                    catch { }
                    IList <IWebElement> ITaxRealRow1 = ITaxReal1.FindElements(By.TagName("tr"));
                    IList <IWebElement> ITaxRealTd1;

                    foreach (IWebElement row in ITaxRealRow1)
                    {
                        ITaxRealTd1 = row.FindElements(By.TagName("td"));
                        if (row.Text.Contains("Unpaid"))
                        {
                            p1++;
                            p2++;
                        }
                        if (row.Text.Contains("Paid") && p2 < 3)
                        {
                            p3++;
                            p2++;
                        }
                    }
                    int p4 = p1 + p3;

                    for (int p5 = 1; p5 <= p4; p5++)
                    {
                        try
                        {
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr[" + p5 + "]/td[7]/button")).Click();
                            }
                            catch { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr[" + p5 + "]/td[7]/button")).Click();
                            }
                            catch { }
                            Thread.Sleep(6000);

                            IWebElement         TaxTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[1]/table/tbody"));
                            IList <IWebElement> TaxTR = TaxTB.FindElements(By.TagName("tr"));
                            IList <IWebElement> TaxTD;
                            foreach (IWebElement Tax in TaxTR)
                            {
                                TaxTD = Tax.FindElements(By.TagName("td"));
                                if (TaxTD.Count != 0)
                                {
                                    Own_Nm = TaxTD[0].Text;
                                    if (Own_Nm.Contains("Owner Name"))
                                    {
                                        Tax_Owner = TaxTD[1].Text;
                                    }
                                    Tx_year = TaxTD[0].Text;
                                    if (Tx_year.Contains("Tax Year"))
                                    {
                                        Taxy_Year = TaxTD[1].Text;
                                    }
                                    Sta = TaxTD[0].Text;
                                    if (Sta.Contains("Status"))
                                    {
                                        taxy_sta = TaxTD[1].Text;
                                    }
                                    Ba_Tx = TaxTD[0].Text;
                                    if (Ba_Tx.Contains("Base Tax"))
                                    {
                                        Taxy_Base = TaxTD[1].Text;
                                    }
                                    Tl_Pay = TaxTD[0].Text;
                                    if (Tl_Pay.Contains("Total Payments"))
                                    {
                                        Tl_Taxy = TaxTD[1].Text;
                                    }
                                    Due = TaxTD[0].Text;
                                    if (Due.Contains("Total Due"))
                                    {
                                        TaxyTl_Due = TaxTD[1].Text;
                                    }
                                }
                            }
                            gc.CreatePdf(orderNumber, Parcel_ID, "Tax Overview Details" + Taxy_Year, driver, "TX", "Hays");

                            IWebElement         TaxTB1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[2]/table/tbody"));
                            IList <IWebElement> TaxTR1 = TaxTB1.FindElements(By.TagName("tr"));
                            IList <IWebElement> TaxTD1;
                            foreach (IWebElement Tax1 in TaxTR1)
                            {
                                TaxTD1 = Tax1.FindElements(By.TagName("td"));
                                if (TaxTD1.Count != 0)
                                {
                                    Own_Addr = TaxTD1[0].Text;
                                    if (Own_Addr.Contains("Owner Address"))
                                    {
                                        Tax_OwnerAddress = TaxTD1[1].Text;
                                    }
                                    Tx_Parcel = TaxTD1[0].Text;
                                    if (Tx_Parcel.Contains("Parcel ID"))
                                    {
                                        Taxy_Parcel = TaxTD1[1].Text;
                                    }
                                    Quick = TaxTD1[0].Text;
                                    if (Quick.Contains("Quick Reference ID"))
                                    {
                                        taxy_QuickID = TaxTD1[1].Text;
                                    }
                                    Lega = TaxTD1[0].Text;
                                    if (Lega.Contains("Legal Description"))
                                    {
                                        Taxy_LglDes = TaxTD1[1].Text;
                                    }
                                }
                            }

                            if (TaxyTl_Due == "Please call tax office for total due")
                            {
                                TaxSale_Comments = "You must call the Collector's Office.";
                            }
                            Tax_Deatils = Taxy_Year + "~" + Tax_OwnerAddress + "~" + Taxy_Parcel + "~" + taxy_QuickID + "~" + Taxy_LglDes + "~" + Tax_Owner + "~" + taxy_sta + "~" + Taxy_Base + "~" + Tl_Taxy + "~" + TaxyTl_Due + "~" + TaxSale_Comments;
                            gc.insert_date(orderNumber, Parcel_ID, 1011, Tax_Deatils, 1, DateTime.Now);

                            //Tax Breakdown
                            try
                            {
                                IWebElement         BreakdownTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div/table/tbody"));
                                IList <IWebElement> BreakdownTR = BreakdownTB.FindElements(By.TagName("tr"));
                                IList <IWebElement> BreakdownTD;

                                foreach (IWebElement Breakdown in BreakdownTR)
                                {
                                    BreakdownTD = Breakdown.FindElements(By.TagName("td"));
                                    if (BreakdownTD.Count != 0)
                                    {
                                        Jurisdiction = BreakdownTD[0].Text;
                                        T_Year       = BreakdownTD[1].Text;
                                        Base_Tax     = BreakdownTD[2].Text;
                                        tax_Penalty  = BreakdownTD[3].Text;
                                        Tax_Inst     = BreakdownTD[4].Text;
                                        attroney_Fee = BreakdownTD[5].Text;
                                        Payments     = BreakdownTD[6].Text;
                                        Balnce       = BreakdownTD[7].Text;

                                        Breakdown_details = Jurisdiction + "~" + T_Year + "~" + Base_Tax + "~" + tax_Penalty + "~" + Tax_Inst + "~" + attroney_Fee + "~" + Payments + "~" + Balnce;
                                        gc.insert_date(orderNumber, Parcel_ID, 1010, Breakdown_details, 1, DateTime.Now);
                                    }
                                }
                            }
                            catch
                            { }

                            //Tax Bill
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[2]/a")).Click();
                                Thread.Sleep(5000);

                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Bill Details" + Taxy_Year, driver, "TX", "Hays");
                            }
                            catch
                            { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")).Click();
                                Thread.Sleep(4000);

                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Receipt Details" + Taxy_Year, driver, "TX", "Hays");
                            }
                            catch
                            { }
                            try
                            {
                                driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[4]/a")).Click();
                                Thread.Sleep(4000);

                                gc.CreatePdf(orderNumber, Parcel_ID, "Tax Summary Details" + Taxy_Year, driver, "TX", "Hays");
                            }
                            catch
                            { }

                            driver.Navigate().Back();
                            Thread.Sleep(3000);
                        }
                        catch
                        { }
                    }

                    //Tax Authority
                    driver.Navigate().GoToUrl("https://hayscountytax.com/#/contact");
                    Thread.Sleep(2000);
                    try
                    {
                        Taxing = "712 S Stagecoach Trail San Marcos, Texas 78666";
                        Phone  = "Phone: (512) 393-5545";
                        Fax    = "Fax: (512) 393-5547";

                        gc.CreatePdf(orderNumber, Parcel_ID, "Tax Authority Details", driver, "TX", "Hays");
                        Taxing_Authority = Taxing + " " + Phone + " " + Fax;

                        Taxauthority_Details = Taxing_Authority;
                        gc.insert_date(orderNumber, Parcel_ID, 1012, Taxauthority_Details, 1, DateTime.Now);
                    }
                    catch
                    { }

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

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

                    driver.Quit();
                    gc.mergpdf(orderNumber, "TX", "Hays");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw;
                }
            }
        }