Beispiel #1
0
        void setData(object sender, DoWorkEventArgs e)
        {
            try
            {
                if (dataFilter.IsBasicFilter)
                {
                    if (basicDataFilter == null || (dataFilter.IsBasicFilter && dataFilter != basicDataFilter))
                    {
                        basicDataFilter = new DataFilter(this.dataFilter);
                        basicRows       = AnalysisRow.GetRows(session, dataFilter);
                    }

                    rows = basicRows;
                }
                else
                {
                    rows = AnalysisRow.GetRows(session, dataFilter);
                }

                applySort();

                if (FinishedSetData != null)
                {
                    FinishedSetData(this, EventArgs.Empty);
                }
            }
            catch (Exception ex)
            {
                e.Result = ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Add Rows to AnalysisResult object
        /// </summary>
        /// <param name="result">
        /// <see cref="AnalysisResult"/> object
        /// </param>
        /// <returns>
        /// <see cref="AnalysisResult"/> updated object
        /// </returns>
        private AnalysisResult AddAnalysisResultRows(AnalysisResult result)
        {
            var maxNumberOfRows = Settings.Category.MaxNumberOfRows;

            if (maxNumberOfRows > 0 && yCategoryArray.Count > maxNumberOfRows)
            {
                var otherCategory = new List <AnalysisProcessingYCategoryValue>();
                foreach (var categoryValue in yCategoryArray)
                {
                    if (--maxNumberOfRows > 0)
                    {
                        var r = new AnalysisRow(result, categoryValue) as AnalysisRow;
                        result.AddRow(r);
                    }
                    else
                    {
                        otherCategory.Add(categoryValue);
                    }
                }

                var row = new AnalysisRow(result, otherCategory);
                result.AddRow(row);
            }
            else
            {
                foreach (var catVal in yCategoryArray)
                {
                    var row = new AnalysisRow(result, catVal);
                    result.AddRow(row);
                }
            }

            return(result);
        }
 private void AddDetailsActionFromRowToListRow(AnalysisRow row, UPMResultRow listRow)
 {
     if (row.ResultRows.Count > 0 && row.Result.DetailsFields.Count > 0)
     {
         var action = new UPMOrganizerDrillThruAction(StringIdentifier.IdentifierWithStringId("drillThru"))
         {
             AnalysisRow = row
         };
         action.SetTargetAction(this, this.PerformDrillThru);
         action.LabelText = LocalizedString.TextAnalysesDetails;
         listRow.AddDetailAction(action);
     }
 }
        private void AddDrilldownActionsFromRowToListRow(AnalysisRow row, UPMResultRow listRow)
        {
            string drilldownText = LocalizedString.TextAnalysesDrilldown;

            foreach (AnalysisDrilldownOption drilldownOption in row.DrilldownOptions)
            {
                var action = new UPMOrganizerDrilldownAction(StringIdentifier.IdentifierWithStringId($"action.{drilldownOption.Key}"))
                {
                    DrilldownOption = drilldownOption,
                    AnalysisRow     = row
                };
                action.SetTargetAction(this, this.PerformDrilldown);
                action.LabelText = drilldownText.Replace("%@", drilldownOption.Label);
                listRow.AddDetailAction(action);
            }
        }
        private static List <UPMField> CreateFieldArray(AnalysisRow row, IReadOnlyList <object> xColumnArray, bool keyAsRawString, int columnCount, int i)
        {
            var fieldArray = new List <UPMField>();
            var field      = new UPMStringField(StringIdentifier.IdentifierWithStringId($"row {i}"))
            {
                StringValue    = row.Label,
                RawStringValue = keyAsRawString ? row.Key : row.Label
            };

            fieldArray.Add(field);

            for (var j = 0; j < columnCount; j++)
            {
                var field2     = new UPMStringField(StringIdentifier.IdentifierWithStringId($"cell{i}_{j}"));
                var resultCell = row.Values[j] as AnalysisResultCell;
                if (resultCell == null)
                {
                    throw new InvalidOperationException("value must be AnalysisResultCell");
                }

                field2.StringValue    = resultCell.ToString();
                field2.RawStringValue = resultCell.Value.ToString();
                fieldArray.Add(field2);
                var numberOfXColumn = xColumnArray[j].ToInt();
                for (var k = 0; k < numberOfXColumn; k++)
                {
                    var xField = new UPMStringField(StringIdentifier.IdentifierWithStringId($"cell{i}_{j}_{k}"))
                    {
                        StringValue    = resultCell.StringXResultAtIndex(k),
                        RawStringValue = resultCell.RawStringXResultAtIndex(k)
                    };
                    fieldArray.Add(xField);
                }
            }

            return(fieldArray);
        }
        private void ProcessResultRows(
            AnalysisRow row,
            List <object> columnInfoArray,
            UPMResultSection section,
            UPMGridPage searchPage,
            AnalysisResult analysisResult,
            Page oldPage)
        {
            var dataSource         = analysisResult.DataSource;
            var contextMenuOptions = GetContextMenuOptions(dataSource);
            var i = 0;

            foreach (ICrmDataSourceRow crmRow in row.ResultRows)
            {
                var identifier = StringIdentifier.IdentifierWithStringId($"row {i}");
                var listRow    = new UPMResultRow(identifier)
                {
                    Context = row
                };
                var fieldArray = new List <UPMField>();
                foreach (AnalysisDrillThruColumn col in columnInfoArray)
                {
                    var field = new UPMStringField(StringIdentifier.IdentifierWithStringId($"row {++i}"))
                    {
                        StringValue    = crmRow.ValueAtIndex(col.SourceField.QueryResultFieldIndex),
                        RawStringValue = crmRow.RawValueAtIndex(col.SourceField.QueryResultFieldIndex)
                    };
                    fieldArray.Add(field);
                }

                listRow.Fields = fieldArray;
                section.AddResultRow(listRow);
                ++i;
                this.ProcessSearchPage(searchPage, contextMenuOptions, crmRow, listRow, analysisResult, oldPage, i);
            }
        }
Beispiel #7
0
        /// <summary>
        /// LogSettings with drilldown option row
        /// </summary>
        /// <param name="option">Option</param>
        /// <param name="row">Row</param>
        /// <returns>Analysis execution settings</returns>
        public AnalysisExecutionSettings SettingsWithDrilldownOptionRow(AnalysisDrilldownOption option, AnalysisRow row)
        {
            AnalysisFilter filter = new AnalysisCategoryFilter(this.Category, row.Key);

            return(this.SettingsWithAdditionalConditionCategory(filter, option.Category));
        }