/// <summary> /// Compute result with settings /// </summary> /// <param name="settings">LogSettings</param> /// <returns>Analysis result</returns> public AnalysisResult ComputeResultWithSettings(AnalysisExecutionSettings settings) { this.currentSettings = settings; this.currentContext = this.ExecutionContext.ExecutionContext(); var result = this.currentContext.QueryResult(); AnalysisProcessing processing = new AnalysisProcessing(this, this.currentSettings, result); return(processing.ComputeResult()); }
/// <summary> /// Checks if equals /// </summary> /// <param name="obj">Object</param> /// <returns>True if equal</returns> public bool IsEqual(AnalysisExecutionSettings obj) { if (!(obj is AnalysisExecutionSettings) || (this.Analysis != obj.Analysis) || (this.Category != obj.Category) || this.XCategory != obj.XCategory || this.ResultColumns.Count != obj.ResultColumns.Count || this.Conditions.Count != obj.Conditions.Count) { return(false); } return(true); }
/// <summary> /// Compute result settings request option /// </summary> /// <param name="settings">LogSettings</param> /// <param name="requestOption">Request option</param> /// <param name="theDelegate">Delegate</param> public void ComputeResultWithSettingsRequestOption(AnalysisExecutionSettings settings, UPRequestOption requestOption, IAnalysisDelegate theDelegate) { AnalysisExecutionContext currentContext = this.ExecutionContext.ExecutionContext(); AnalysisDataSourceCacheItem cacheItem = this.dataSourceCache?.CacheItemForExecutionContext(currentContext); if (cacheItem != null) { this.TheDelegate = theDelegate; this.currentSettings = settings; this.currentContext = currentContext; this.ContinueWithQueryResult(cacheItem.DataSource); return; } this.TheDelegate = theDelegate; this.currentSettings = settings; this.currentContext = currentContext; this.currentContext.QueryResultWithRequestOptionDelegate(requestOption, this); }