// 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); }
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)); }