Exemplo n.º 1
0
        public Task <SessionResponse> EstimateImpact(SessionDetail data, string eventName, DateTimeOffset startDate, DateTimeOffset endDate,
                                                     ResultInterval resultInterval, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer, CancellationToken cancellationToken)
        {
            Argument.IsNotNull(data, nameof(data));
            Argument.IsNotNullOrEmpty(data.DataSetName, "data.DataSetName");
            Argument.IsNotNullOrEmpty(eventName, nameof(eventName));

            return(CreateSessionInternal("sessions/impact", data, eventName, startDate, endDate, resultInterval, null, httpMessageTransformer, cancellationToken, isEstimate: true));
        }
        public ForecastSessionRequest(string dataSourceName, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval, string targetColumn = null)
        {
            DataSourceName = dataSourceName;
            if (targetColumn != null)
            {
                TargetColumn = targetColumn;
            }

            StartDate      = startDate;
            EndDate        = endDate;
            ResultInterval = resultInterval;
        }
Exemplo n.º 3
0
        public static ImpactSessionRequest Impact(string dataSourceName, DateTimeOffset startDate,
                                                  DateTimeOffset endDate, ResultInterval resultInterval, string eventName, string targetColumn = null,
                                                  ImpactSessionRequest options = null)
        {
            var request = options ?? new ImpactSessionRequest();

            request.DataSourceName = dataSourceName;
            if (targetColumn != null)
            {
                request.TargetColumn = targetColumn;
            }
            request.EventName      = eventName;
            request.StartDate      = startDate;
            request.EndDate        = endDate;
            request.ResultInterval = resultInterval;
            return(request);
        }
Exemplo n.º 4
0
        public Task <SessionResponse> EstimateImpact(string dataSetName, string eventName, string targetColumn, DateTimeOffset startDate,
                                                     DateTimeOffset endDate, ResultInterval resultInterval, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer, CancellationToken cancellationToken)
        {
            Argument.IsNotNullOrEmpty(dataSetName, nameof(dataSetName));
            Argument.IsNotNullOrEmpty(targetColumn, nameof(targetColumn));

            var data = new SessionDetail
            {
                DataSetName = dataSetName,
                Columns     = new Dictionary <string, ColumnMetadata>()
                {
                    { targetColumn, new ColumnMetadata {
                          Role = ColumnRole.Target
                      } }
                }
            };

            return(EstimateImpact(data, eventName, startDate, endDate, resultInterval, httpMessageTransformer, cancellationToken));
        }
Exemplo n.º 5
0
        private Task <SessionResponse> CreateSessionInternal(string path, SessionDetail data, string eventName, DateTimeOffset startDate, DateTimeOffset endDate,
                                                             ResultInterval resultInterval, string statusCallbackUrl, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer, CancellationToken cancellationToken, bool isEstimate)
        {
            var parameters = new Dictionary <string, string>
            {
                { "dataSetName", data.DataSetName },
                { nameof(startDate), startDate.ToString("O") },
                { nameof(endDate), endDate.ToString("O") },
                { nameof(isEstimate), isEstimate.ToString().ToLowerInvariant() },
                { nameof(resultInterval), resultInterval.ToString().ToLowerInvariant() }
            };

            if (!string.IsNullOrEmpty(eventName))
            {
                parameters.Add(nameof(eventName), eventName);
            }
            if (!string.IsNullOrEmpty(statusCallbackUrl))
            {
                parameters.Add("callbackUrl", statusCallbackUrl);
            }
            return(apiConnection.Post <SessionResponse>(path, parameters, data, httpMessageTransformer, cancellationToken));
        }
Exemplo n.º 6
0
 public Task <SessionResponse> AnalyzeImpact(string dataSetName, string eventName, string targetColumn, DateTimeOffset startDate,
                                             DateTimeOffset endDate, ResultInterval resultInterval, string statusCallbackUrl)
 {
     return(AnalyzeImpact(dataSetName, eventName, targetColumn, startDate, endDate, resultInterval, statusCallbackUrl, null));
 }
Exemplo n.º 7
0
 public Task <SessionResponse> EstimateForecast(SessionDetail data, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval,
                                                Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer)
 {
     return(EstimateForecast(data, startDate, endDate, resultInterval, httpMessageTransformer, CancellationToken.None));
 }
Exemplo n.º 8
0
 public Task <SessionResponse> AnalyzeImpact(SessionDetail data, string eventName, DateTimeOffset startDate,
                                             DateTimeOffset endDate, ResultInterval resultInterval, string statusCallbackUrl, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer)
 {
     return(AnalyzeImpact(data, eventName, startDate, endDate, resultInterval, statusCallbackUrl, httpMessageTransformer, CancellationToken.None));
 }
Exemplo n.º 9
0
 public Task <SessionResponse> AnalyzeImpact(SessionDetail data, string eventName, DateTimeOffset startDate,
                                             DateTimeOffset endDate, ResultInterval resultInterval, string statusCallbackUrl)
 {
     return(AnalyzeImpact(data, eventName, startDate, endDate, resultInterval, statusCallbackUrl, null));
 }
Exemplo n.º 10
0
 public Task <SessionResponse> CreateForecast(string dataSetName, string targetColumn, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval,
                                              string statusCallbackUrl, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer)
 {
     return(CreateForecast(dataSetName, targetColumn, startDate, endDate, resultInterval, statusCallbackUrl, httpMessageTransformer, CancellationToken.None));
 }
Exemplo n.º 11
0
 public Task <SessionResponse> CreateForecast(string dataSetName, string targetColumn, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval,
                                              string statusCallbackUrl)
 {
     return(CreateForecast(dataSetName, targetColumn, startDate, endDate, resultInterval, statusCallbackUrl, null));
 }
Exemplo n.º 12
0
        public Task <SessionResponse> CreateForecast(SessionDetail data, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval,
                                                     string statusCallbackUrl, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer, CancellationToken cancellationToken)
        {
            Argument.IsNotNull(data, nameof(data));
            Argument.IsNotNullOrEmpty(data.DataSetName, "data.DataSetName");

            return(CreateSessionInternal("sessions/forecast", data, null /* eventName */, startDate, endDate, resultInterval, statusCallbackUrl, httpMessageTransformer, cancellationToken, isEstimate: false));
        }
Exemplo n.º 13
0
 public Task <SessionResponse> EstimateForecast(SessionDetail data, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval)
 {
     return(EstimateForecast(data, startDate, endDate, resultInterval, null));
 }
Exemplo n.º 14
0
 public Task <SessionResponse> EstimateImpact(string dataSetName, string eventName, string targetColumn, DateTimeOffset startDate,
                                              DateTimeOffset endDate, ResultInterval resultInterval, Action <HttpRequestMessage, HttpResponseMessage> httpMessageTransformer)
 {
     return(EstimateImpact(dataSetName, eventName, targetColumn, startDate, endDate, resultInterval, httpMessageTransformer, CancellationToken.None));
 }
Exemplo n.º 15
0
 public Task <SessionResponse> EstimateImpact(string dataSetName, string eventName, string targetColumn, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval)
 {
     return(EstimateImpact(dataSetName, eventName, targetColumn, startDate, endDate, resultInterval, null));
 }
Exemplo n.º 16
0
 public Task <SessionResponse> EstimateImpact(SessionDetail data, string eventName, DateTimeOffset startDate,
                                              DateTimeOffset endDate, ResultInterval resultInterval)
 {
     return(EstimateImpact(data, eventName, startDate, endDate, resultInterval, null));
 }
Exemplo n.º 17
0
 public Task <SessionResponse> CreateForecast(SessionDetail data, DateTimeOffset startDate, DateTimeOffset endDate, ResultInterval resultInterval,
                                              string statusCallbackUrl)
 {
     return(CreateForecast(data, startDate, endDate, resultInterval, statusCallbackUrl, null));
 }