public async Task <ProjectAnalysisEvent> CreateProjectAnalysisEventAsync(string analysis, EventCategories?category = null, string name = null)
        {
            var queryParamValues = new Dictionary <string, object>
            {
                [nameof(analysis)] = analysis,
                [nameof(category)] = EventCategoriesConverter.ToString(category),
                [nameof(name)]     = name
            };

            var response = await GetProjectAnalysesUrl("create_event")
                           .SetQueryParams(queryParamValues)
                           .PostAsync(s_emptyHttpContent)
                           .ConfigureAwait(false);

            return(await HandleResponseAsync <ProjectAnalysisEvent>(response).ConfigureAwait(false));
        }
        public async Task <IEnumerable <ProjectAnalysis> > SearchProjectAnalysesAsync(string project, EventCategories?category = null, int?p = null, int?ps = null, DateTime?from = null, DateTime?to = null)
        {
            var queryParamValues = new Dictionary <string, object>
            {
                [nameof(project)]  = project,
                [nameof(category)] = EventCategoriesConverter.ToString(category),
                [nameof(p)]        = p,
                [nameof(ps)]       = ps,
                [nameof(from)]     = DateTimeToStringConverter.ToString(from, "yyyy-MM-dd"),
                [nameof(to)]       = DateTimeToStringConverter.ToString(to, "yyyy-MM-dd")
            };

            return(await GetProjectAnalysesUrl("search")
                   .SetQueryParams(queryParamValues)
                   .GetJsonNamedNodeAsync <IEnumerable <ProjectAnalysis> >("analyses")
                   .ConfigureAwait(false));
        }