예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }