public ApiResultWithMoreResultIndicator <Vote> GetLegislatorVotes(string legislatorBioguideId, int page, int resultsPerPage = _defaultResultsPerPage)
        {
            var votes = new List <Vote>();

            var votesResult = _voteSvc.GetVotesByLegislator(legislatorBioguideId, page, resultsPerPage);

            foreach (var iVote in votesResult.Results)
            {
                votes.Add(Vote.TransformToVote(iVote));
            }


            var results = new ApiResultWithMoreResultIndicator <Vote>(votes, votesResult.IsThereMoreResults);

            return(results);
        }
        protected ApiResultWithMoreResultIndicator <T> GetApiResultFromQuery <T, T2>(ApiBase apiSvc, string query, int?page = null, int?expectedResultsPerPage = null) where T2 : class, IServiceResult <T>
        {
            if (string.IsNullOrWhiteSpace(query))
            {
                throw new ArgumentException("Error: Cannot retrieve results due to an invalid or empty query");
            }

            try
            {
                //update query
                if (page != null && expectedResultsPerPage != null)
                {
                    query = AppendOffsetToProPublicaQuery(query, (int)page, (int)expectedResultsPerPage);
                }

                //var votesResults = GetMemberResults<DomainModel.ApiModels.ProPublica.VotesResult.Rootobject>(query, _congressApiSvc).Result;
                var votesResults = GetMemberResults <T2>(query, apiSvc).Result;
                var results      = (votesResults as IServiceResult <T>).GetResults();

                var isThereMoreResults = true;

                if (expectedResultsPerPage == null)
                {
                    isThereMoreResults = false;
                }
                else if (results.Count < (int)expectedResultsPerPage)
                {
                    isThereMoreResults = false;
                }
                else
                {
                    isThereMoreResults = true;
                }


                var apiResults = new ApiResultWithMoreResultIndicator <T>(results, isThereMoreResults);

                return(apiResults);
            }
            catch (Exception ex)
            {
                _logger.Error($"Error: Could not retrieve Bills from query {query}", ex);
            }

            return(null);
        }