public PipelinesHubSpotResult GetAllPipelines()
        {
            RestRequest request = new RestRequest("/crm-pipelines/v1/pipelines/deals", Method.GET);

            request.AddParameter("hapikey", apiKey);
            IRestResponse          response = client.Execute(request);
            PipelinesHubSpotResult result   = JsonConvert.DeserializeObject <PipelinesHubSpotResult>(response.Content);

            return(result);
        }
        public IDictionary <string, IDictionary <string, PipelineState> > GetDealsPipelinesStages()
        {
            PipelinesHubSpotResult pipelineResult = this.GetDealsPipelines();

            if (pipelineResult == null || pipelineResult.Pipelines == null || !pipelineResult.Pipelines.Any())
            {
                return(null);
            }
            IEnumerable <Pipeline> pipelines =
                pipelineResult.Pipelines.Where(x => x.Stages != null && x.Stages.Any(stage => stage.Metadata != null));

            return(pipelineResult.Pipelines.ToDictionary(x => x.PipelineId, y => (IDictionary <string, PipelineState>)y.Stages.ToDictionary(k => k.StageId, v => v)));
        }