Exemplo n.º 1
0
        public static Params(int Nin, double Lengthin, double Timein, int Ntin)
        {
            int i;

            N      = Nin;
            Length = Lengthin;
            Time   = Timein;
            Nt     = Ntin;
            tau    = Timein / Nt;
            h      = Length / N;
            for (i = 0; i < N / 2; i++)
            {
                Ur.Add(0);

                P.Add(30 * 101325);
                Ro.Add(30 * 1.29);
                E.Add(Energy(P[i], Ro[i]));
            }
            for (i = N / 2; i < N; i++)
            {
                Ur.Add(0);

                P.Add(101325);
                Ro.Add(1.29);
                E.Add(Energy(P[i], Ro[i]));
            }
        }
Exemplo n.º 2
0
        private void PrintRoSectionInfo()
        {
            string        rawTextBuffer = Encoding.ASCII.GetString(Ro);
            StringBuilder stringBuilder = new StringBuilder();

            string modulePath = null;

            if (BitConverter.ToInt32(Ro.Slice(0, 4)) == 0)
            {
                int length = BitConverter.ToInt32(Ro.Slice(4, 4));
                if (length > 0)
                {
                    modulePath = Encoding.UTF8.GetString(Ro.Slice(8, length));
                }
            }

            if (string.IsNullOrEmpty(modulePath))
            {
                Match moduleMatch = Regex.Match(rawTextBuffer, @"[a-z]:[\\/][ -~]{5,}\.nss", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
                if (moduleMatch.Success)
                {
                    modulePath = moduleMatch.Value;
                }
            }

            stringBuilder.AppendLine($"    Module: {modulePath}");

            Match fsSdkMatch = Regex.Match(rawTextBuffer, @"sdk_version: ([0-9.]*)", RegexOptions.Compiled);

            if (fsSdkMatch.Success)
            {
                stringBuilder.AppendLine($"    FS SDK Version: {fsSdkMatch.Value.Replace("sdk_version: ", "")}");
            }

            MatchCollection sdkMwMatches = Regex.Matches(rawTextBuffer, @"SDK MW[ -~]*", RegexOptions.Compiled);

            if (sdkMwMatches.Count != 0)
            {
                string libHeader  = "    SDK Libraries: ";
                string libContent = string.Join($"\n{new string(' ', libHeader.Length)}", sdkMwMatches);

                stringBuilder.AppendLine($"{libHeader}{libContent}");
            }

            if (stringBuilder.Length > 0)
            {
                Logger.Info?.Print(LogClass.Loader, $"{Name}:\n{stringBuilder.ToString().TrimEnd('\r', '\n')}");
            }
        }
Exemplo n.º 3
0
        private void PrintRoSectionInfo()
        {
            byte[]        roBuffer      = Ro.ToArray();
            string        rawTextBuffer = Encoding.ASCII.GetString(roBuffer, 0, (int)RoSize);
            StringBuilder stringBuilder = new StringBuilder();

            int zero = BitConverter.ToInt32(roBuffer, 0);

            if (zero == 0)
            {
                int    length     = BitConverter.ToInt32(roBuffer, 4);
                string modulePath = Encoding.UTF8.GetString(roBuffer, 8, length);

                MatchCollection moduleMatches = Regex.Matches(rawTextBuffer, @"[a-z]:[\\/][ -~]{5,}\.nss", RegexOptions.IgnoreCase);
                if (moduleMatches.Count > 0)
                {
                    modulePath = moduleMatches.First().Value;
                }

                stringBuilder.AppendLine($"    Module: {modulePath}");
            }

            MatchCollection fsSdkMatches = Regex.Matches(rawTextBuffer, @"sdk_version: ([0-9.]*)");

            if (fsSdkMatches.Count != 0)
            {
                stringBuilder.AppendLine($"    FS SDK Version: {fsSdkMatches.First().Value.Replace("sdk_version: ", "")}");
            }

            MatchCollection sdkMwMatches = Regex.Matches(rawTextBuffer, @"SDK MW[ -~]*");

            if (sdkMwMatches.Count != 0)
            {
                string libHeader  = "    SDK Libraries: ";
                string libContent = string.Join($"\n{new string(' ', libHeader.Length)}", sdkMwMatches);

                stringBuilder.AppendLine($"{libHeader}{libContent}");
            }

            if (stringBuilder.Length > 0)
            {
                Logger.Info?.Print(LogClass.Loader, $"{Name}:\n{stringBuilder.ToString().TrimEnd('\r', '\n')}");
            }
        }
Exemplo n.º 4
0
        private void ParseNodes(XContainer root)
        {
            var streamElements = GetElements(root, "Stream");

            StreamsCount = streamElements.Count == 0 ? 1:
                           streamElements.Max(element => int.Parse(element.Attribute("Index").Value)) + 1;

            for (int stream = 0; stream < StreamsCount; stream++)
            {
                Mu.Add(new Vector <double>(
                           ParseMu(StreamsCount == 1? GetElement(root, "Mu") : GetElements(root, "Mu")
                                   .Single(element => GetAttributeValue <int>(element.Parent, "Index") == stream))));

                Lambda.Add(new Vector <double>(
                               ParseLambda(StreamsCount == 1 ? GetElement(root, "Lambda") : GetElements(root, "Lambda")
                                           .Single(element => GetAttributeValue <int>(element.Parent, "Index") == stream), stream)));

                Ro.Add(Lambda.Last().DivideElementWise(Mu.Last()));
            }
        }
Exemplo n.º 5
0
 public int CompareTo(Point pt)
 {
     return(Ro.CompareTo(pt.Ro));
 }
        public string FTP_Washington(string houseno, string sname, string direction, string account, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            string address       = houseno + " " + sname;
            var    driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            // driver = new ChromeDriver();
            using (driver = new PhantomJSDriver())
            {
                string   AlterNateID = "", PropertyAddress = "", owner = "", strowner = "", straddress = "", strproperty = "";
                string[] stringSeparators1 = new string[] { "\r\n" };

                StartTime = DateTime.Now.ToString("HH:mm:ss");
                List <string> listurl = new List <string>();
                if (sname.Trim() != "" && houseno.Trim() != "")
                {
                    searchType = "address";
                }
                if (parcelNumber.Trim() != "")
                {
                    searchType = "parcel";
                }
                try
                {
                    if (searchType == "titleflex")
                    {
                        gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "AR", "Washington");

                        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_ARWashington"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }


                    if (searchType == "address")
                    {
                        driver.Navigate().GoToUrl("https://www.actdatascout.com/RealProperty/Arkansas/Washington");
                        Thread.Sleep(3000);


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


                        driver.FindElement(By.XPath("//*[@id='StreetName']")).SendKeys(sname);
                        gc.CreatePdf_WOP(orderNumber, "Address search", driver, "AR", "Washington");
                        IWebElement         Iaddress = driver.FindElement(By.XPath("//*[@id='SearchBottom']"));
                        IJavaScriptExecutor js       = driver as IJavaScriptExecutor;
                        js.ExecuteScript("arguments[0].click();", Iaddress);
                        Thread.Sleep(4000);

                        gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "AR", "Washington");

                        try
                        {
                            string Multi         = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[1]/div/div[1]")).Text;
                            string strMultiCount = GlobalClass.Before(Multi, " Result(s)");
                            gc.CreatePdf_WOP(orderNumber, "Owner search Result", driver, "AR", "Washington");

                            if ((Convert.ToInt32(strMultiCount)) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Washington_Count"] = "Maximum";
                                return("Maximum");
                            }

                            if (Multi.Trim() != "1 Result(s)")
                            {
                                IWebElement         MultiOwnerTable = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]"));
                                IList <IWebElement> MultiOwnerRow   = MultiOwnerTable.FindElements(By.TagName("table"));
                                //IList<IWebElement> MultiOwnerRow1 = MultiOwnerTable.FindElements(By.ClassName("dl-horizontal"));
                                IList <IWebElement> MultiOwnerTD;
                                //IList<IWebElement> MultiOwnerTD1;

                                //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = "";
                                foreach (IWebElement row1 in MultiOwnerRow)
                                {
                                    MultiOwnerTD = row1.FindElements(By.TagName("td"));

                                    if (MultiOwnerTD.Count != 0 && MultiOwnerTD.Count != 2 && MultiOwnerTD.Count != 1)
                                    {
                                        parcelNumber = MultiOwnerTD[1].Text.Replace("Parcel:", "");
                                        string Pa = MultiOwnerTD[3].Text.Replace("Prev.Parcel:", "");
                                        try
                                        {
                                            strproperty = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/div[1]")).Text;
                                            strowner    = gc.Between(strproperty, "Owner: ", "\r\nAddress:");
                                            straddress  = gc.Between(strproperty, "Address: ", "\r\nMail Address:");
                                        }
                                        catch { }
                                        try
                                        {
                                            if (strowner == "" || straddress == "")
                                            {
                                                strproperty = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/div[1]")).Text;
                                                strowner    = gc.Between(strproperty, "Owner: ", "Address:");
                                                straddress  = gc.Between(strproperty, "Address: ", "Mail Address:");
                                            }
                                        }
                                        catch { }
                                        //ownername = gc.Between(ownername, "Owner:", "Address:");
                                        gc.insert_date(orderNumber, parcelNumber, 507, Pa + "~" + strowner + "~" + straddress, 1, DateTime.Now);
                                    }
                                }



                                //GlobalClass.multiParcel_MiamiDade = "Yes";
                                HttpContext.Current.Session["multiParcel_Washington"] = "Yes";
                                driver.Quit();
                                return("MultiParcel");
                            }
                            IWebElement         button        = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/table/thead/tr/td[1]"));
                            IList <IWebElement> MultiOwnerbtn = button.FindElements(By.TagName("button"));
                            foreach (IWebElement row1 in MultiOwnerbtn)
                            {
                                row1.Click();
                                break;
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "ownername")
                    {
                        driver.Navigate().GoToUrl("https://www.actdatascout.com/RealProperty/Arkansas/Washington");
                        Thread.Sleep(3000);
                        var Name = ownername.Replace(",", "").Split(' ');
                        if (Name.Length == 2)
                        {
                            driver.FindElement(By.XPath("//*[@id='FirstName']")).SendKeys(Name[1].ToUpper());
                            driver.FindElement(By.XPath("//*[@id='LastName']")).SendKeys(Name[0].ToUpper());
                            IWebElement         Iowner1 = driver.FindElement(By.XPath("//*[@id='SearchBottom']"));
                            IJavaScriptExecutor js1     = driver as IJavaScriptExecutor;
                            js1.ExecuteScript("arguments[0].click();", Iowner1);;
                            try
                            {
                                string ownerResult = driver.FindElement(By.XPath("//*[@id='RPSearch']/div[2]")).Text;
                                if (ownerResult.Contains("No results. Please broaden your search criteria"))
                                {
                                    driver.FindElement(By.XPath("//*[@id='LastName']")).SendKeys(Name[1].ToUpper());
                                    driver.FindElement(By.XPath("//*[@id='FirstName']")).SendKeys(Name[0].ToUpper());

                                    IWebElement         Iowner = driver.FindElement(By.XPath("//*[@id='SearchBottom']"));
                                    IJavaScriptExecutor js     = driver as IJavaScriptExecutor;
                                    js.ExecuteScript("arguments[0].click();", Iowner);
                                }
                            }
                            catch { }
                        }
                        if (Name.Length == 1)
                        {
                            driver.FindElement(By.XPath("//*[@id='LastName']")).SendKeys(Name[0].ToUpper());
                        }
                        gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "AR", "Washington");
                        Thread.Sleep(2000);


                        try
                        {
                            string Multi         = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[1]/div/div[1]")).Text;
                            string strMultiCount = GlobalClass.Before(Multi, " Result(s)");
                            gc.CreatePdf_WOP(orderNumber, "Owner search Result", driver, "AR", "Washington");

                            if ((Convert.ToInt32(strMultiCount)) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Washington_Count"] = "Maximum";
                                return("Maximum");
                            }

                            if (Multi.Trim() != "1 Result(s)")
                            {
                                IWebElement         MultiOwnerTable = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]"));
                                IList <IWebElement> MultiOwnerRow   = MultiOwnerTable.FindElements(By.TagName("table"));
                                //IList<IWebElement> MultiOwnerRow1 = MultiOwnerTable.FindElements(By.ClassName("dl-horizontal"));
                                IList <IWebElement> MultiOwnerTD;
                                //IList<IWebElement> MultiOwnerTD1;

                                //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = "";
                                foreach (IWebElement row1 in MultiOwnerRow)
                                {
                                    MultiOwnerTD = row1.FindElements(By.TagName("td"));

                                    if (MultiOwnerTD.Count != 0 && MultiOwnerTD.Count != 2 && MultiOwnerTD.Count != 1)
                                    {
                                        parcelNumber = MultiOwnerTD[1].Text.Replace("Parcel:", "");
                                        string Pa = MultiOwnerTD[3].Text.Replace("Prev.Parcel:", "");
                                        try
                                        {
                                            strproperty = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/div[1]")).Text;
                                            strowner    = gc.Between(strproperty, "Owner:", "\r\nAddress:");
                                            straddress  = gc.Between(strproperty, "Address:", "\r\nMail Address:");
                                        }
                                        catch { }
                                        try
                                        {
                                            if (strowner == "" || straddress == "")
                                            {
                                                strproperty = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/div[1]")).Text;
                                                strowner    = gc.Between(strproperty, "Owner:", "Address:");
                                                straddress  = gc.Between(strproperty, "Address:", "Mail Address:");
                                            }
                                        }
                                        catch { }
                                        //ownername = gc.Between(ownername, "Owner:", "Address:");
                                        gc.insert_date(orderNumber, parcelNumber, 507, Pa + "~" + strowner + "~" + straddress, 1, DateTime.Now);
                                    }
                                }

                                //GlobalClass.multiParcel_MiamiDade = "Yes";
                                HttpContext.Current.Session["multiParcel_Washington"] = "Yes";
                                driver.Quit();
                                return("MultiParcel");
                            }
                            IWebElement         button        = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/table/thead/tr/td[1]"));
                            IList <IWebElement> MultiOwnerbtn = button.FindElements(By.TagName("button"));
                            foreach (IWebElement row1 in MultiOwnerbtn)
                            {
                                row1.Click();
                                break;
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "parcel")
                    {
                        driver.Navigate().GoToUrl("https://www.actdatascout.com/RealProperty/Arkansas/Washington");
                        Thread.Sleep(3000);


                        driver.FindElement(By.XPath("//*[@id='ParcelNumber']")).SendKeys(parcelNumber.Trim());

                        IWebElement         IParcel = driver.FindElement(By.XPath("//*[@id='SearchBottom']"));
                        IJavaScriptExecutor js      = driver as IJavaScriptExecutor;
                        js.ExecuteScript("arguments[0].click();", IParcel);
                        Thread.Sleep(2000);

                        try
                        {
                            //*[@id="SearchFeedback"]/div[3]/table/thead/tr/td[1]

                            IWebElement         button        = driver.FindElement(By.XPath("//*[@id='SearchFeedback']/div[3]/table/thead/tr/td[1]"));
                            IList <IWebElement> MultiOwnerbtn = button.FindElements(By.TagName("button"));
                            foreach (IWebElement row1 in MultiOwnerbtn)
                            {
                                row1.Click();
                                break;
                            }
                        }
                        catch { }
                    }

                    try
                    {
                        //No Data Found
                        string nodata = driver.FindElement(By.Id("RPSearch")).Text;
                        if (nodata.Contains("No results"))
                        {
                            HttpContext.Current.Session["Nodata_ARWashington"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    catch { }


                    string PreviousParcel = "", MailingAddress = "", LegalDescription = "", PropertyType = "", TaxDistrict = "", MillageRate = "", YearBuilt = "";

                    parcelNumber    = driver.FindElement(By.XPath("//*[@id='printArea']/div[1]/div/span[1]")).Text.Trim();
                    ownername       = driver.FindElement(By.XPath("//*[@id='printArea']/div[3]/div/div[2]/table/tbody/tr[1]/td[2]")).Text;
                    PropertyAddress = driver.FindElement(By.XPath("//*[@id='printArea']/div[4]/div/div[2]/table/tbody/tr[1]/td[2]")).Text;


                    string[] linesName = parcelNumber.Split(stringSeparators1, StringSplitOptions.None);
                    PreviousParcel = linesName[1].Replace("Previous Parcel:", "");
                    parcelNumber   = linesName[0].Replace("Parcel:", "");



                    MailingAddress   = driver.FindElement(By.XPath("//*[@id='printArea']/div[3]/div/div[2]/table/tbody/tr[2]/td[2]")).Text;
                    LegalDescription = driver.FindElement(By.XPath("//*[@id='printArea']/div[4]/div/div[2]/table/tbody/tr[6]/td[2]")).Text;
                    PropertyType     = driver.FindElement(By.XPath("//*[@id='printArea']/div[3]/div/div[2]/table/tbody/tr[3]/td[2]")).Text;
                    TaxDistrict      = driver.FindElement(By.XPath("//*[@id='printArea']/div[3]/div/div[2]/table/tbody/tr[4]/td[2]")).Text;
                    MillageRate      = driver.FindElement(By.XPath("//*[@id='printArea']/div[3]/div/div[2]/table/tbody/tr[5]/td[2]")).Text;
                    try
                    {
                        for (int i = 12; i < 20; i++)
                        {
                            if (YearBuilt != "")
                            {
                                YearBuilt = driver.FindElement(By.XPath("//*[@id='printArea']/div[12]/div[1]/div[2]/table/tbody/tr/td[7]")).Text;
                            }
                        }
                    }
                    catch { }
                    string Iyearbuilt = "";
                    try
                    {
                        Iyearbuilt = driver.FindElement(By.XPath("//*[@id='printArea']/div[13]/div[1]/div[2]/table")).Text;
                        if (Iyearbuilt.Contains("Year Built"))
                        {
                            IWebElement         strYearBuilt   = driver.FindElement(By.XPath("//*[@id='printArea']/div[13]/div[1]/div[2]/table"));
                            IList <IWebElement> TRstrYearBuilt = strYearBuilt.FindElements(By.TagName("tr"));
                            IList <IWebElement> THstrYearBuilt = strYearBuilt.FindElements(By.TagName("th"));
                            IList <IWebElement> TDstrYearBuilt;
                            foreach (IWebElement row in TRstrYearBuilt)
                            {
                                TDstrYearBuilt = row.FindElements(By.TagName("td"));
                                if (TDstrYearBuilt.Count != 0 && !row.Text.Contains("Year Built") && row.Text.Trim() != "")
                                {
                                    YearBuilt = TDstrYearBuilt[6].Text;
                                }
                            }
                        }
                    }
                    catch { }
                    try
                    {
                        Iyearbuilt = driver.FindElement(By.XPath("//*[@id='printArea']/div[12]/div[1]/div[2]/table")).Text;
                        if (Iyearbuilt.Contains("Year Built"))
                        {
                            IWebElement         strYearBuilt   = driver.FindElement(By.XPath("//*[@id='printArea']/div[12]/div[1]/div[2]/table"));
                            IList <IWebElement> TRstrYearBuilt = strYearBuilt.FindElements(By.TagName("tr"));
                            IList <IWebElement> THstrYearBuilt = strYearBuilt.FindElements(By.TagName("th"));
                            IList <IWebElement> TDstrYearBuilt;
                            foreach (IWebElement row in TRstrYearBuilt)
                            {
                                TDstrYearBuilt = row.FindElements(By.TagName("td"));
                                if (TDstrYearBuilt.Count != 0 && !row.Text.Contains("Year Built") && row.Text.Trim() != "")
                                {
                                    YearBuilt = TDstrYearBuilt[6].Text;
                                }
                            }
                        }
                    }
                    catch { }


                    gc.CreatePdf(orderNumber, parcelNumber, "Assessment Details", driver, "AR", "Washington");

                    string Property = PreviousParcel + "~" + ownername + "~" + PropertyAddress + "~" + MailingAddress + "~" + LegalDescription + "~" + PropertyType + "~" + TaxDistrict + "~" + MillageRate + "~" + YearBuilt;
                    gc.insert_date(orderNumber, parcelNumber, 497, Property, 1, DateTime.Now);

                    string Land = "", Building = "", Total = "", Type = "";//*[@id="printArea"]/div[7]/div/div[2]/table/tbody
                    try
                    {
                        IWebElement         YearB  = driver.FindElement(By.XPath("//*[@id='printArea']/div[6]/div/div[2]/table/tbody"));
                        IList <IWebElement> YearTR = YearB.FindElements(By.TagName("tr"));
                        IList <IWebElement> YearTD;

                        foreach (IWebElement row1 in YearTR)
                        {
                            YearTD = row1.FindElements(By.TagName("td"));

                            if (YearTD.Count != 0)
                            {
                                if (row1.Text.Contains("Land"))
                                {
                                    Land     = YearTD[1].Text;
                                    Building = YearTD[2].Text;
                                    Total    = YearTD[3].Text;
                                }
                                else if (row1.Text.Contains("Building"))
                                {
                                    Land     = Land + "~" + YearTD[1].Text;
                                    Building = Building + "~" + YearTD[2].Text;
                                    Total    = Total + "~" + YearTD[3].Text;
                                }
                                else if (row1.Text.Contains("Totals"))
                                {
                                    Land     = Land + "~" + YearTD[1].Text;
                                    Building = Building + "~" + YearTD[2].Text;
                                    Total    = Total + "~" + YearTD[3].Text;
                                }

                                //Land = YearTD[1].Text + "~" + Land;
                                //Building = YearTD[2].Text + "~" + Building;
                                //Total = YearTD[3].Text + "~" + Total;
                            }
                        }
                    }
                    catch
                    {
                        IWebElement         YearB  = driver.FindElement(By.XPath("//*[@id='printArea']/div[7]/div/div[2]/table/tbody"));
                        IList <IWebElement> YearTR = YearB.FindElements(By.TagName("tr"));
                        IList <IWebElement> YearTD;

                        foreach (IWebElement row1 in YearTR)
                        {
                            YearTD = row1.FindElements(By.TagName("td"));

                            if (YearTD.Count != 0)
                            {
                                if (row1.Text.Contains("Land"))
                                {
                                    Land     = YearTD[1].Text;
                                    Building = YearTD[2].Text;
                                    Total    = YearTD[3].Text;
                                }
                                else if (row1.Text.Contains("Building"))
                                {
                                    Land     = Land + "~" + YearTD[1].Text;
                                    Building = Building + "~" + YearTD[2].Text;
                                    Total    = Total + "~" + YearTD[3].Text;
                                }
                                else if (row1.Text.Contains("Totals"))
                                {
                                    Land     = Land + "~" + YearTD[1].Text;
                                    Building = Building + "~" + YearTD[2].Text;
                                    Total    = Total + "~" + YearTD[3].Text;
                                }
                                //Land = YearTD[1].Text + "~" + Land;
                                //Building = YearTD[2].Text + "~" + Building;
                                //Total = YearTD[3].Text + "~" + Total;
                            }
                        }
                    }

                    //Land = Land + "bg";
                    //Building = Building + "bg";
                    //Total = Total + "bg";

                    //Land = Land.Replace("~bg","");
                    //Building = Building.Replace("~bg", "");
                    //Total = Total.Replace("~bg", "");

                    gc.insert_date(orderNumber, parcelNumber, 498, "Market value" + "~" + Land, 1, DateTime.Now);
                    gc.insert_date(orderNumber, parcelNumber, 498, "Assessed Value" + "~" + Building, 1, DateTime.Now);
                    gc.insert_date(orderNumber, parcelNumber, 498, "Taxable Value" + "~" + Total, 1, DateTime.Now);

                    string Assessment = "", TaxAmount = "";
                    try
                    {
                        try
                        {
                            MultiAssessTB = driver.FindElement(By.XPath("//*[@id='printArea']/div[9]/div/div[2]/table/tbody"));
                            strAssess     = MultiAssessTB.Text;
                        }
                        catch { }
                        try
                        {
                            if (strAssess == "")
                            {
                                MultiAssessTB = driver.FindElement(By.XPath("//*[@id='printArea']/div[10]/div/div[2]/table/tbody"));
                            }
                        }
                        catch { }

                        IList <IWebElement> MultiAssessTR = MultiAssessTB.FindElements(By.TagName("tr"));
                        IList <IWebElement> MultiAssessTD;

                        foreach (IWebElement row1 in MultiAssessTR)
                        {
                            MultiAssessTD = row1.FindElements(By.TagName("td"));
                            if (MultiAssessTD.Count != 0)
                            {
                                if (MultiAssessTD.Count == 1)
                                {
                                    Assessment = "Total";
                                    TaxAmount  = MultiAssessTD[0].Text.Replace("Total", "");
                                }
                                else
                                {
                                    Assessment = MultiAssessTD[0].Text;
                                    TaxAmount  = MultiAssessTD[1].Text;
                                }


                                string Assess = Assessment + "~" + TaxAmount;
                                gc.insert_date(orderNumber, parcelNumber, 499, Assess, 1, DateTime.Now);
                            }
                        }
                        MultiAssessTB.Clear();
                    }
                    catch { }

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

                    driver.Navigate().GoToUrl("https://www.arcountydata.com/propsearch.asp?county=Washington&s=T");
                    Thread.Sleep(3000);
                    // var SerachCategory = driver.FindElement(By.XPath("//*[@id='carouselOverlayDiv']/div/div[2]/ul/li[62]/a")).GetAttribute("href");
                    //var selectElement1 = new SelectElement(SerachCategory);
                    //selectElement1.SelectByText("Washington");
                    //driver.Navigate().GoToUrl(SerachCategory);
                    // driver.FindElement(By.XPath("//*[@id='StreetNumber']")).SendKeys(houseno);
                    //if (direction.Trim() != "")
                    //{



                    //}
                    //driver.FindElement(By.XPath("//*[@id='StreetName']")).SendKeys(sname);
                    //gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Collier");
                    //driver.FindElement(By.XPath("//*[@id='Collector']/div/div[2]/a")).Click();
                    Thread.Sleep(2000);//*[@id="SearchPanel"]/div/form/div[2]/div/input[1]
                    driver.FindElement(By.Name("ppan")).SendKeys(parcelNumber);
                    driver.FindElement(By.XPath("//*[@id='searchy']")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, parcelNumber, "Tax Details", driver, "AR", "Washington");
                    string Year = "", Book = "", Location = "", TaxpayerName = "", URL = "", Status = "";

                    IWebElement         SelectOption = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody"));
                    IList <IWebElement> Select       = SelectOption.FindElements(By.TagName("tr"));
                    IList <IWebElement> TD;
                    IList <IWebElement> CurrentTaxHistoryTA;
                    int J = 0;
                    foreach (IWebElement Op in Select)
                    {
                        TD = Op.FindElements(By.TagName("td"));
                        foreach (IWebElement Ro in TD)
                        {
                            CurrentTaxHistoryTA = Ro.FindElements(By.TagName("a"));
                            if (J == 0 && CurrentTaxHistoryTA.Count != 0)
                            {
                                URL = CurrentTaxHistoryTA[0].GetAttribute("href");
                                break;
                            }
                        }
                        if (TD.Count != 0 && !Op.Text.Contains("Parcel #"))
                        {
                            parcelNumber    = TD[0].Text;
                            Year            = TD[1].Text;
                            ownername       = TD[2].Text;
                            Book            = TD[3].Text;
                            PropertyAddress = TD[4].Text;
                            Location        = TD[5].Text;
                            TaxpayerName    = TD[6].Text;

                            if (J == 0)
                            {
                                Status = Book;
                                J++;
                            }

                            string History = Year + "~" + ownername + "~" + Book + "~" + PropertyAddress + "~" + Location + "~" + TaxpayerName;
                            gc.insert_date(orderNumber, parcelNumber, 500, History, 1, DateTime.Now);
                        }
                    }

                    //driver.Navigate().GoToUrl(URL);

                    string TaxYear = "", PaidBy = "", Exemption = "", TotalTax = "", PaidAmount = "", TaxDue = "";
                    gc.CreatePdf(orderNumber, parcelNumber, "Tax History", driver, "AR", "Washington");

                    // TaxYear = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[3]/td[2]")).Text;
                    string CurrentYear = DateTime.Now.Year.ToString();


                    IWebElement         CurrenttaxTB = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody"));
                    IList <IWebElement> CurrenttaxTR = CurrenttaxTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> CurrenttaxTD;

                    foreach (IWebElement row1 in CurrenttaxTR)
                    {
                        CurrenttaxTD = row1.FindElements(By.TagName("td"));
                        if (CurrenttaxTD.Count != 0 && !row1.Text.Contains("Taxpayer Name"))
                        {
                            TaxYear = CurrenttaxTD[1].Text;
                            if (CurrentYear == TaxYear)
                            {
                                CurrenttaxTD[0].Click();
                                break;
                            }
                            else if ((Convert.ToInt32(CurrentYear) - 1) == Convert.ToInt32(TaxYear))
                            {
                                CurrenttaxTD[0].Click();
                                break;
                            }

                            else if ((Convert.ToInt32(CurrentYear) - 2) == Convert.ToInt32(TaxYear))
                            {
                                CurrenttaxTD[0].Click();
                                break;
                            }
                        }
                    }
                    gc.CreatePdf(orderNumber, parcelNumber, "Current Tax History ", driver, "AR", "Washington");
                    string[] linesName1 = TaxYear.Split(stringSeparators1, StringSplitOptions.None);
                    TaxYear = linesName1[0];


                    PaidBy    = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[7]/td[2]")).Text.Replace("\r\n", " ");
                    Exemption = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[13]/td[2]")).Text;
                    try
                    {
                        TotalTax   = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[14]/td[2]")).Text;
                        PaidAmount = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[15]/td[2]")).Text;
                        TaxDue     = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[16]/td[2]/strong")).Text;
                    }
                    catch { }

                    PropertyType    = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[5]/td[2]")).Text;
                    PropertyAddress = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[8]/td[2]")).Text;
                    ownername       = driver.FindElement(By.XPath("/html/body/div[2]/table[1]/tbody/tr[6]/td[2]")).Text;

                    string TaxInfo = TaxYear + "~" + Status + "~" + PropertyType + "~" + ownername + "~" + PaidBy + "~" + PropertyAddress + "~" + Exemption + "~" + TotalTax + "~" + PaidAmount + "~" + TaxDue;
                    gc.insert_date(orderNumber, parcelNumber, 501, TaxInfo, 1, DateTime.Now);

                    string TaxType = "", TaxDescription = "", District = "", Exempt = "", AssessedValue = "", TaxOwed = "", TaxPaid = "", Balance = "";


                    IWebElement         CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("/html/body/div[2]/table[3]/tbody"));
                    IList <IWebElement> CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr"));
                    IList <IWebElement> CurrentTaxHistoryTD1;

                    foreach (IWebElement row1 in CurrentTaxHistoryTR1)
                    {
                        CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td"));

                        if (CurrentTaxHistoryTD1.Count != 0 && !row1.Text.Contains("Tax Type") && CurrentTaxHistoryTD1.Count == 8)
                        {
                            TaxType        = CurrentTaxHistoryTD1[0].Text;
                            TaxDescription = CurrentTaxHistoryTD1[1].Text;
                            District       = CurrentTaxHistoryTD1[2].Text;
                            Exempt         = CurrentTaxHistoryTD1[3].Text;
                            AssessedValue  = CurrentTaxHistoryTD1[4].Text;
                            TaxOwed        = CurrentTaxHistoryTD1[5].Text;
                            TaxPaid        = CurrentTaxHistoryTD1[6].Text;
                            Balance        = CurrentTaxHistoryTD1[7].Text;


                            string TaxDis = TaxType + "~" + TaxDescription + "~" + District + "~" + Exempt + "~" + AssessedValue + "~" + TaxOwed + "~" + TaxPaid + "~" + Balance;
                            gc.insert_date(orderNumber, parcelNumber, 503, TaxDis, 1, DateTime.Now);
                        }
                        else if (CurrentTaxHistoryTD1.Count == 4)
                        {
                            TaxType        = CurrentTaxHistoryTD1[0].Text;
                            TaxDescription = "";
                            District       = "";
                            Exempt         = "";
                            AssessedValue  = "";
                            TaxOwed        = CurrentTaxHistoryTD1[1].Text;
                            TaxPaid        = CurrentTaxHistoryTD1[2].Text;
                            Balance        = CurrentTaxHistoryTD1[3].Text;


                            string TaxDis = TaxType + "~" + TaxDescription + "~" + District + "~" + Exempt + "~" + AssessedValue + "~" + TaxOwed + "~" + TaxPaid + "~" + Balance;
                            gc.insert_date(orderNumber, parcelNumber, 503, TaxDis, 1, DateTime.Now);
                        }
                    }

                    string Receipt = "", ReceiptDate = "", CashAmt = "", CheckAmt = "", CreditAmt = "";


                    IWebElement         CurrentTaxHistoryTB = driver.FindElement(By.XPath("/html/body/div[2]/table[2]/tbody"));
                    IList <IWebElement> CurrentTaxHistoryTR = CurrentTaxHistoryTB.FindElements(By.TagName("tr"));
                    IList <IWebElement> CurrentTaxHistoryTD;


                    foreach (IWebElement row1 in CurrentTaxHistoryTR)
                    {
                        CurrentTaxHistoryTD = row1.FindElements(By.TagName("td"));
                        if (CurrentTaxHistoryTD.Count != 0 && !row1.Text.Contains("Book"))
                        {
                            Receipt     = CurrentTaxHistoryTD[0].Text;
                            Status      = CurrentTaxHistoryTD[1].Text;
                            TaxYear     = CurrentTaxHistoryTD[2].Text;
                            ReceiptDate = CurrentTaxHistoryTD[3].Text;
                            CashAmt     = CurrentTaxHistoryTD[4].Text;
                            CheckAmt    = CurrentTaxHistoryTD[5].Text;
                            CreditAmt   = CurrentTaxHistoryTD[6].Text;
                            Total       = CurrentTaxHistoryTD[7].Text;

                            string TaxPay = Receipt + "~" + Status + "~" + TaxYear + "~" + ReceiptDate + "~" + CashAmt + "~" + CheckAmt + "~" + CreditAmt + "~" + Total;
                            gc.insert_date(orderNumber, parcelNumber, 504, TaxPay, 1, DateTime.Now);
                        }
                    }

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

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

                    gc.insert_TakenTime(orderNumber, "AR", "Washington", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);


                    driver.Quit();
                    gc.mergpdf(orderNumber, "AR", "Washington");
                    // gc.MMREM_Template(orderNumber, parcelNumber, "", driver, "AR", "Washington", "149", "");
                    return("Data Inserted Successfully");
                }

                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
Exemplo n.º 7
0
        protected override bool ExecuteParent(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            EventHandlers.LogCommandUsed((CommandSender)sender, EventHandlers.FormatArguments(arguments, 0));
            if (!CommandProcessor.CheckPermissions(((CommandSender)sender), "broadcast", PlayerPermissions.Broadcasting, "AdminTools", false))
            {
                response = "You do not have permission to use this command";
                return(false);
            }

            if (arguments.Count < 1)
            {
                response = "Usage:\nbroadcast (time) (message)" +
                           "\nbroadcast user (player id / name) (time) (message)" +
                           "\nbroadcast users (player id / name group (i.e.: 1,2,3 or hello,there,hehe)) (time) (message)" +
                           "\nbroadcast group (group name) (time) (message)" +
                           "\nbroadcast groups (list of groups (i.e.: owner,admin,moderator)) (time) (message)" +
                           "\nbroadcast role (RoleType) (time) (message)" +
                           "\nbroadcast roles (RoleType group (i.e.: ClassD,Scientist,NtfCadet)) (time) (message)" +
                           "\nbroadcast (random / someone) (time) (message)" +
                           "\nbroadcast (staff / admin) (time) (message)" +
                           "\nbroadcast clearall";
                return(false);
            }

            switch (arguments.At(0))
            {
            case "user":
                if (arguments.Count < 4)
                {
                    response = "Usage: broadcast user (player id / name) (time) (message)";
                    return(false);
                }

                Player Ply = Player.Get(arguments.At(1));
                if (Ply == null)
                {
                    response = $"Player not found: {arguments.At(1)}";
                    return(false);
                }

                if (!ushort.TryParse(arguments.At(2), out ushort time) && time <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(2)}";
                    return(false);
                }

                Ply.Broadcast(time, EventHandlers.FormatArguments(arguments, 3));
                response = $"Message sent to {Ply.Nickname}";
                return(true);

            case "users":
                if (arguments.Count < 4)
                {
                    response = "Usage: broadcast users (player id / name group (i.e.: 1,2,3 or hello,there,hehe)) (time) (message)";
                    return(false);
                }

                string[]      Users   = arguments.At(1).Split(',');
                List <Player> PlyList = new List <Player>();
                foreach (string s in Users)
                {
                    if (int.TryParse(s, out int id) && Player.Get(id) != null)
                    {
                        PlyList.Add(Player.Get(id));
                    }
                    else if (Player.Get(s) != null)
                    {
                        PlyList.Add(Player.Get(s));
                    }
                }

                if (!ushort.TryParse(arguments.At(2), out ushort tme) && tme <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(2)}";
                    return(false);
                }

                foreach (Player P in PlyList)
                {
                    P.Broadcast(tme, EventHandlers.FormatArguments(arguments, 3));
                }


                StringBuilder Builder = StringBuilderPool.Shared.Rent("Message sent to players: ");
                foreach (Player P in PlyList)
                {
                    Builder.Append("\"");
                    Builder.Append(P.Nickname);
                    Builder.Append("\"");
                    Builder.Append(" ");
                }
                string message = Builder.ToString();
                StringBuilderPool.Shared.Return(Builder);
                response = message;
                return(true);

            case "group":
                if (arguments.Count < 4)
                {
                    response = "Usage: broadcast group (group) (time) (message)";
                    return(false);
                }

                UserGroup BroadcastGroup = ServerStatic.PermissionsHandler.GetGroup(arguments.At(1));
                if (BroadcastGroup == null)
                {
                    response = $"Invalid group: {arguments.At(1)}";
                    return(false);
                }

                if (!ushort.TryParse(arguments.At(2), out ushort tim) && tim <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(2)}";
                    return(false);
                }

                foreach (Player player in Player.List)
                {
                    if (player.Group.BadgeText.Equals(BroadcastGroup.BadgeText))
                    {
                        player.Broadcast(tim, EventHandlers.FormatArguments(arguments, 3));
                    }
                }

                response = $"Message sent to all members of \"{arguments.At(1)}\"";
                return(true);

            case "groups":
                if (arguments.Count < 4)
                {
                    response = "Usage: broadcast groups (list of groups (i.e.: owner,admin,moderator)) (time) (message)";
                    return(false);
                }

                string[]      Groups    = arguments.At(1).Split(',');
                List <string> GroupList = new List <string>();
                foreach (string s in Groups)
                {
                    UserGroup BroadGroup = ServerStatic.PermissionsHandler.GetGroup(s);
                    if (BroadGroup != null)
                    {
                        GroupList.Add(BroadGroup.BadgeText);
                    }
                }

                if (!ushort.TryParse(arguments.At(2), out ushort e) && e <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(2)}";
                    return(false);
                }

                foreach (Player P in Player.List)
                {
                    if (GroupList.Contains(P.Group.BadgeText))
                    {
                        P.Broadcast(e, EventHandlers.FormatArguments(arguments, 3));
                    }
                }


                StringBuilder Bdr = StringBuilderPool.Shared.Rent("Message sent to groups with badge text: ");
                foreach (string P in GroupList)
                {
                    Bdr.Append("\"");
                    Bdr.Append(P);
                    Bdr.Append("\"");
                    Bdr.Append(" ");
                }
                string ms = Bdr.ToString();
                StringBuilderPool.Shared.Return(Bdr);
                response = ms;
                return(true);

            case "role":
                if (arguments.Count < 4)
                {
                    response = "Usage: broadcast role (RoleType) (time) (message)";
                    return(false);
                }

                if (!Enum.TryParse(arguments.At(1), true, out RoleType Role))
                {
                    response = $"Invalid value for RoleType: {arguments.At(1)}";
                    return(false);
                }

                if (!ushort.TryParse(arguments.At(2), out ushort te) && te <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(2)}";
                    return(false);
                }

                foreach (Player Player in Player.List)
                {
                    if (Player.Role == Role)
                    {
                        Player.Broadcast(te, EventHandlers.FormatArguments(arguments, 3));
                    }
                }

                response = $"Message sent to all members of \"{arguments.At(1)}\"";
                return(true);

            case "roles":
                if (arguments.Count < 4)
                {
                    response = "Usage: broadcast roles (RoleType group (i.e.: ClassD, Scientist, NtfCadet)) (time) (message)";
                    return(false);
                }

                string[]        Roles    = arguments.At(1).Split(',');
                List <RoleType> RoleList = new List <RoleType>();
                foreach (string s in Roles)
                {
                    if (Enum.TryParse(s, true, out RoleType R))
                    {
                        RoleList.Add(R);
                    }
                }

                if (!ushort.TryParse(arguments.At(2), out ushort ti) && ti <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(2)}";
                    return(false);
                }

                foreach (Player P in Player.List)
                {
                    if (RoleList.Contains(P.Role))
                    {
                        P.Broadcast(ti, EventHandlers.FormatArguments(arguments, 3));
                    }
                }

                StringBuilder Build = StringBuilderPool.Shared.Rent("Message sent to roles: ");
                foreach (RoleType Ro in RoleList)
                {
                    Build.Append("\"");
                    Build.Append(Ro.ToString());
                    Build.Append("\"");
                    Build.Append(" ");
                }
                string msg = Build.ToString();
                StringBuilderPool.Shared.Return(Build);
                response = msg;
                return(true);

            case "random":
            case "someone":
                if (arguments.Count < 3)
                {
                    response = "Usage: broadcast (random / someone) (time) (message)";
                    return(false);
                }

                if (!ushort.TryParse(arguments.At(1), out ushort me) && me <= 0)
                {
                    response = $"Invalid value for duration: {arguments.At(1)}";
                    return(false);
                }

                Player Plyr = Player.List.ToList()[Plugin.NumGen.Next(0, Player.List.Count())];
                Plyr.Broadcast(me, EventHandlers.FormatArguments(arguments, 2));
                response = $"Message sent to {Plyr.Nickname}";
                return(true);

            case "staff":
            case "admin":
                if (arguments.Count < 3)
                {
                    response = "Usage: broadcast (staff / admin) (time) (message)";
                    return(false);
                }

                if (!ushort.TryParse(arguments.At(1), out ushort t))
                {
                    response = $"Invalid value for broadcast time: {arguments.At(1)}";
                    return(false);
                }

                foreach (Player Pl in Player.List)
                {
                    if (Pl.ReferenceHub.serverRoles.RemoteAdmin)
                    {
                        Pl.Broadcast(t, EventHandlers.FormatArguments(arguments, 2) + $" - {((CommandSender)sender).Nickname}", Broadcast.BroadcastFlags.AdminChat);
                    }
                }

                response = $"Message sent to all currently online staff";
                return(true);

            case "clearall":
                if (arguments.Count != 1)
                {
                    response = "Usage: broadcast clearall";
                    return(false);
                }

                PlayerManager.localPlayer.GetComponent <Broadcast>().RpcClearElements();
                response = "All current broadcasts have been cleared";
                return(true);

            default:
                if (arguments.Count < 2)
                {
                    response = "Usage: broadcast (time) (message)";
                    return(false);
                }

                if (!ushort.TryParse(arguments.At(0), out ushort tm))
                {
                    response = $"Invalid value for broadcast time: {arguments.At(0)}";
                    return(false);
                }
                Map.Broadcast(tm, EventHandlers.FormatArguments(arguments, 1));
                break;
            }
            response = "";
            return(false);
        }
Exemplo n.º 8
0
 public int CompareTo(Point obj)
 {
     return(Ro.CompareTo(obj.Ro));
 }
Exemplo n.º 9
0
 public bool CanSendChildMessages(int childIndex)
 {
     return(Ro.All(x => x >= 0) && ChildrenMessages.AllExcept(childIndex).All(y => y.All(z => z >= 0)));
 }
Exemplo n.º 10
0
 private Touch oldTouch2;  //上次触摸点2(手指2)
 /// <summary>
 /// Awake is called when the script instance is being loaded.
 /// </summary>
 void Awake()
 {
     instance = this;
 }