示例#1
0
        private async void btnShowBills_Click(object sender, EventArgs e)
        {
            OpenStateClientLib.OpenStateClient cli;
            cli = new OpenStateClientLib.OpenStateClient();

            string Session = "";

            if (this.lbTexasSessions.DataSource == null)
            {
                var results = await cli.GetStateLegesAsync("Texas");

                var aaa = results.Data;

                string Name0 = results.Data.jurisdiction.legislativeSessions.edges[0].node.name.ToString();

                string Identifier0 = results.Data.jurisdiction.legislativeSessions.edges[0].node.identifier.ToString();
                Session = Name0;

                SetSessionsListBox(this.lbTexasSessions, results);
            }
            else
            {
                Session = ((System.Data.DataRowView) this.lbTexasSessions.SelectedValue)["id"].ToString();
            }


            System.DateTime SinceDate = this.dateTimePickerBills.Value;
            string          Subjects  = this.txtSubject.Text;

            await cli.GetBillsFilteredAsync("Texas", SinceDate, System.DateTime.MaxValue, Subjects, null, ExtraGuiActionBill);
        }
        /// <summary>
        /// get all bills filtered by both subject and start dates.
        /// The start dates of the sessions helps keep us from making quite so many
        /// bill queries.
        /// </summary>
        /// <param name="state"></param>
        /// <param name="startdate"></param>
        /// <param name="subjects">each space delimited token is searched for and all bill subjects that contain any token are returned</param>
        /// <param name="cursor"></param>
        /// <param name="f">action for each bill. null means no action.</param>
        public async Task <Newtonsoft.Json.Linq.JArray> GetBillsFilteredAsync(string state, DateTime startdate, DateTime enddate, string subjects, string cursor, ExtraActionPerBill f)
        {
            OpenStateClientLib.OpenStateClient cli;
            cli = new OpenStateClientLib.OpenStateClient();

            Newtonsoft.Json.Linq.JArray AllBills = new Newtonsoft.Json.Linq.JArray();

            var results = await cli.GetStateLegesAsync(state);

            var aaa = results.Data;

            List <string>   SessionNames;
            List <string>   SessionIds;
            List <DateTime> SessionStarts;
            bool            Ok = ExtractSessionNames(results, out SessionNames, out SessionIds, out SessionStarts);

            if (SessionNames != null && SessionIds != null)
            {
                int nn = SessionNames.Count;
                for (int ii = 0; ii < nn; ii++)
                {
                    string SessionI   = SessionNames[ii];
                    string SessionIdI = SessionIds[ii];
                    if (startdate <= SessionStarts[ii])
                    {
                        Newtonsoft.Json.Linq.JArray Bills = await cli.GetBillsAllAsync(state, SessionIdI, "", null);

                        if (Bills != null)
                        {
                            int n = Bills.Count;
                            for (int i = 0; i < n; i++)
                            {
                                Newtonsoft.Json.Linq.JToken OneBill = Bills[i]["node"];

                                Newtonsoft.Json.Linq.JArray SubjectsFound = OneBill["subject"] as Newtonsoft.Json.Linq.JArray;
                                string          updatedAt = OneBill["updatedAt"].ToString();
                                System.DateTime updatedAtDate;
                                bool            OkUpdatedAtDate = System.DateTime.TryParse(updatedAt, out updatedAtDate);
                                if (OkUpdatedAtDate && updatedAtDate >= startdate &&
                                    updatedAtDate <= enddate &&
                                    OpenStateClientLib.OpenStateClient.IsBillSubjectFound(subjects, SubjectsFound))
                                {
                                    f?.Invoke(OneBill);
                                    AllBills.Add(OneBill);
                                }
                            }
                        }
                    }
                }
            }
            return(AllBills);
        }
示例#3
0
        private async void btnShowTexasSessions_Click(object sender, EventArgs e)
        {
            OpenStateClientLib.OpenStateClient cli;
            cli = new OpenStateClientLib.OpenStateClient();

            var results = await cli.GetStateLegesAsync("Texas");

            var aaa = results.Data;

            string Name0 = results.Data.jurisdiction.legislativeSessions.edges[0].node.name.ToString();

            string Identifier0 = results.Data.jurisdiction.legislativeSessions.edges[0].node.identifier.ToString();

            SetSessionsListBox(this.lbTexasSessions, results);
        }
示例#4
0
        private async void btnTestJurisLeges_Click(object sender, EventArgs e)
        {
            OpenStateClientLib.OpenStateClient cli;
            cli = new OpenStateClientLib.OpenStateClient();
            var resultsJL = await cli.GetStateLegesAsync("Texas");

            string s = resultsJL.Data.ToString();


            OpenStateClientLib.LegeSet lset = await cli.GetStatePeopleAsync("Texas");

            string ss = lset.SummarizeLeges();

            rtbResults.Clear();
            rtbResults.AppendText(ss);
        }
示例#5
0
        private async void btnShowTexasHouseLegislators_Click(object sender, EventArgs e)
        {
            OpenStateClientLib.OpenStateClient cli;
            cli = new OpenStateClientLib.OpenStateClient();
            var resultsJ = await cli.GetJurisdictionsAsync();

            Newtonsoft.Json.Linq.JArray array = resultsJ.Data.jurisdictions.edges;

            string TexasOrgName = cli.FindJurisdictionId(array, "Texas");
            var    resultsT     = await cli.GetStateLegesAsync("Texas");

            string TexasHouseLegeID = "ocd-organization/d6189dbb-417e-429e-ae4b-2ee6747eddc0";

            var ResultsP = await cli.GetPeopleByOrgIDAllAsync(TexasHouseLegeID, "", ExtraGuiAction);

            SetPeopleListBox(lbHouseLegislators, ResultsP);
        }
示例#6
0
        private async void btnShowTexasSenateLegislators_Click(object sender, EventArgs e)
        {
            OpenStateClientLib.OpenStateClient cli;
            cli = new OpenStateClientLib.OpenStateClient();
            var resultsJ = await cli.GetJurisdictionsAsync();

            Newtonsoft.Json.Linq.JArray array = resultsJ.Data.jurisdictions.edges;

            string TexasOrgName = cli.FindJurisdictionId(array, "Texas");
            var    resultsT     = await cli.GetStateLegesAsync("Texas");

            string TexasSenateLegeID = "ocd-organization/cabf1716-c572-406a-bfdd-1917c11ac629";

            var ResultsP = await cli.GetPeopleByOrgIDAllAsync(TexasSenateLegeID, "", ExtraGuiAction);

            SetPeopleListBox(lbSenateLegislators, ResultsP);
        }