Ejemplo n.º 1
0
        async public Task <List <ProjektAktuPrawnego> > GetProjektyAktowPrawnychList()
        {
            try {
                IJsonArrayRequestHandler <ProjektAktuPrawnego> handler = new JsonArrayRequestHandler <ProjektAktuPrawnego> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "prawo_projekty/search.json"));
                request.AddField("prawo_projekty.id");
                request.AddField("prawo_projekty.data_status");
                request.AddField("prawo_projekty.status_str");
                request.AddField("prawo_projekty.tytul");
                request.AddField("prawo_projekty.autorzy_str");
                request.AddField("prawo_projekty.opis_skrocony");
                request.Limit = 50;
                request.SetOrder("prawo_projekty.data_status");

                List <ProjektAktuPrawnego> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("Java.IO.IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <Interpellation> > GetPoselInterpellations(int id)
        {
            try {
                IJsonArrayRequestHandler <Interpellation> handler = new JsonArrayRequestHandler <Interpellation> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "sejm_interpelacje.json"));
                request.AddCondition("sejm_interpelacje.mowca_id", id.ToString());
                request.AddField("sejm_interpelacje.id");
                request.AddField("sejm_interpelacje.tytul_skrocony");
                request.AddField("sejm_interpelacje.data_wplywu");
                request.AddField("sejm_interpelacje.adresaci_str");
                request.Limit = 1000;
                request.SetOrder("sejm_interpelacje.data_wplywu desc");

                List <Interpellation> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <Posel> > GetPoselList()
        {
            try {
                IJsonArrayRequestHandler <Posel> handler = new JsonArrayRequestHandler <Posel> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "poslowie.json"));
                request.AddCondition("poslowie.kadencja", "8");
                // request.AddCondition("poslowie.mandat_wygasl", "0");
                request.AddField("poslowie.id");
                request.AddField("poslowie.imie_pierwsze");
                request.AddField("poslowie.nazwisko");
                request.AddField("ludzie.id");
                request.AddField("poslowie.mowca_id");
                request.AddField("sejm_kluby.nazwa");
                request.AddField("poslowie.okreg_wyborczy_numer");
                request.Limit = 1000;
                request.SetOrder("_title asc");

                List <Posel> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <Voting> > GetAllVotes()
        {
            try {
                IJsonArrayRequestHandler <Voting> handler = new JsonArrayRequestHandler <Voting> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "sejm_glosowania.json"));

                request.AddField("sejm_glosowania.id");
                request.AddField("sejm_glosowania.wynik_id");
                request.AddField("sejm_glosowania.tytul");
                request.AddField("sejm_glosowania.czas");

                request.Limit = 1000;

                request.SetOrder("sejm_glosowania.czas desc");

                List <Voting> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <Vote> > GetPoselVotes(int id)
        {
            try {
                IJsonArrayRequestHandler <Vote> handler = new JsonArrayRequestHandler <Vote> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "poslowie_glosy.json"));
                request.AddCondition("posel_id", id.ToString());
                // Na chwilę obecną pobieramy tylko głosowania dotyczące tylko przyjęć całych projektów ustaw (pomijamy poprawki itd)
                request.AddCondition("sejm_glosowania.typ_id", 26.ToString ());

                request.AddField("poslowie_glosy.glosowanie_id");
                request.AddField("sejm_glosowania.posiedzenie_id");
                request.AddField("sejm_glosowania.tytul");
                request.AddField("poslowie_glosy.glos_id");
                request.AddField("sejm_glosowania.typ_id");
                request.AddField("sejm_glosowania.czas");

                request.Limit = 1000;

                request.SetOrder("sejm_glosowania.czas desc");

                List <Vote> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <Speech> > GetPoselSpeeches(int id)
        {
            try {
                IJsonArrayRequestHandler <Speech> handler = new JsonArrayRequestHandler <Speech> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "sejm_wystapienia.json"));
                request.AddCondition("ludzie.posel_id", id.ToString());
                request.AddField("sejm_wystapienia.id");
                request.AddField("sejm_debaty.tytul");
                request.AddField("sejm_wystapienia.data");
                request.AddField("sejm_wystapienia.skrot");
                request.Limit = 1000;
                request.SetOrder("sejm_wystapienia.data asc");

                List <Speech> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <PoselNewest> > GetPoselNewest(int id)
        {
            try {
                IJsonArrayRequestHandler <PoselNewest> handler = new JsonArrayRequestHandler <PoselNewest> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_BASE_URI, "poslowie/" + id + "/feed.json"));
                request.Limit = 40;
                request.Contexts.Add(new PoslowieNowosciContext());

                List <PoselNewest> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }
        async public Task <List <PoselRejestrKorzysci> > GetPoselRejestrKorzysci(int id)
        {
            try {
                IJsonArrayRequestHandler <PoselRejestrKorzysci> handler = new JsonArrayRequestHandler <PoselRejestrKorzysci> (ConnectionProvider.Instance);

                var request = new RequestParamsHandler(String.Concat(RepositoriesContants.API_DATASET_URI, "poslowie_rejestr_korzysci.json"));
                request.AddCondition("poslowie.id", id.ToString());
                request.AddField("poslowie_rejestr_korzysci.data");
                request.AddField("poslowie_rejestr_korzysci.label");
                request.AddField("poslowie_rejestr_korzysci.dokument_id");
                request.Limit = 50;

                List <PoselRejestrKorzysci> p = await handler.GetJsonArrayAsync(request);

                return(p);
            } catch (IOException ex) {
                System.Diagnostics.Debug.WriteLine("IOException on GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z połączeniem:\n", ex.Message));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine("GetJsonArrayAsync", ex.ToString());
                throw new ApiRequestException(String.Concat("Problem z dostępem do API:\n", ex.Message));
            }
        }