示例#1
0
        // Restrict
        protected override List <ReportColumnMapping> RestrictColumns(MappedSearchRequest request)
        {
            var allColumns = request.SelectedAndDependantColumns;

            // only non claculated columns in this table
            var result = allColumns.Where(x =>
                                          x.KnownTable == _fromTableName &&
                                          !QueryHelpers.IsCalculatedColumn(x)
                                          )

                         // remove the _C column used for getting group counts
                         .Where(x => QueryHelpers.GetFieldName(x) != _constants.CountKeyAlias).ToList();

            if (_primaryKeyColumnId > 0 && result.All(x => x.Id != _primaryKeyColumnId))
            {
                result.Add(QueryHelpers.GetColumnMapping(_primaryKeyColumnId));
            }

            // add the currency key column if its in this table
            if (result.All(x => x.Id != _constants.CurrencyColumnId))
            {
                var currencyCol = base.GetCurrencyColumn();
                if (currencyCol != null && currencyCol.KnownTable == _fromTableName)
                {
                    result.Add(currencyCol);
                }
            }


            return(result);
        }
示例#2
0
        protected override string GetFieldAlias(SelectedColumn column)
        {
            var fieldName = QueryHelpers.GetFieldName(column);

            if (Regex.IsMatch(fieldName, "^[0-9.]*$")) // for example fieldName = 1  for getting a count
            {
                fieldName = base.GetFieldAlias(column);
            }

            return(fieldName);
        }
        protected override string GetFieldAlias(ReportColumnMapping column, MappedSearchRequest request)
        {
            var result = QueryHelpers.GetFieldName(column);

            // to allow selecting both min and max together (not working with custom columns - its complicated)
            // depends on DefaultStatsQueryBuilder.GetColumnSelector()
//            if (RestrictGroupBy(request).Id != column.Id && result != _constants.CountKeyAlias)
//            {
//                result += "_" + column.FieldAggregationMethod;
//            }
            return(result);
        }
 // Override
 protected override string GetFieldAlias(SelectedColumn column)
 {
     return(QueryHelpers.GetFieldName(column));
 }