/// <inheritdoc/> public override bool ApplyRowXCategoryValueArraySumLine(ICrmDataSourceRow dataSourceRow, List <object> xCategoryValueArray, bool sumLine) { string rid = $"{this.YCategoryValue.Key}:{dataSourceRow.RecordIdentificationAtIndex(this.queryTableIndex)}"; if (string.IsNullOrEmpty(rid)) { return(false); } if (this.OccurrenceCountForKey(rid) == 1) { ++this.count; } foreach (AnalysisProcessingXCategoryValue xCategoryValue in xCategoryValueArray) { if (this.OccurrenceCountForKey($"{xCategoryValue.Key}:{rid}") == 1) { AnalysisProcessingTableXResultColumnValue num = this.XResultColumnValueForCategoryValueKey(xCategoryValue.Key); num.Count++; } } return(true); }
/// <summary> /// X result column value for category value key /// </summary> /// <param name="key">Key</param> /// <returns>Returns x result column value for category value key</returns> public AnalysisProcessingTableXResultColumnValue XResultColumnValueForCategoryValueKey(string key) { AnalysisProcessingTableXResultColumnValue resultValue; if (this.xResults == null) { resultValue = new AnalysisProcessingTableXResultColumnValue(); this.xResults = new Dictionary <string, object> { { key, resultValue } }; } else { resultValue = this.xResults.ValueOrDefault(key) as AnalysisProcessingTableXResultColumnValue; if (resultValue == null) { resultValue = new AnalysisProcessingTableXResultColumnValue(); this.xResults.SetObjectForKey(resultValue, key); } } return(resultValue); }