protected DataSourceBase(IDataSourceComponents dataSourceComponents) { _dataSourceComponents = dataSourceComponents; columnProvider = dataSourceComponents.ColumnProvider; QueryHelpers = dataSourceComponents.QueryHelpers; _calculatedColumnHelper = dataSourceComponents.CalculatedColumnHelper; requestMapper = dataSourceComponents.SearchRequestMapper; _constants = dataSourceComponents.Constants; _tableMappings = dataSourceComponents.TableMappings; _columnValidator = dataSourceComponents.ColumnMappingValidator; }
public override ReportColumnMapping CreateColumnMapping(int dataSourceId, ReportColumnMapping columnMapping, IReportColumnMappingValidator columnValidator) { if (!columnValidator.FieldNameIsValid(columnMapping.FieldName)) { throw new Exception("Column FieldName is invalid"); } columnMapping.DataSourceTypeId = dataSourceId; _reportColumnMappingCreationService.InsertReportColumnMapping(columnMapping); return(_reportColumnMappingQueryService.GetReportColumnMappingsById(dataSourceId, new[] { columnMapping.Id }).FirstOrDefault()); }
public override ReportColumnMapping UpdateColumnMapping(int dataSourceId, int columnId, ReportColumnMapping columnMapping, IReportColumnMappingValidator columnValidator) { if (columnMapping.Id != columnId) { throw new Exception("Column ID does not match"); } if (!columnValidator.FieldNameIsValid(columnMapping.FieldName)) { throw new Exception("Column FieldName is invalid"); } _reportColumnMappingUpdaterService.UpdateReportColumnMapping(columnMapping); return(_reportColumnMappingQueryService.GetReportColumnMappingsById(dataSourceId, new[] { columnId }).FirstOrDefault()); }
protected DataSourceComponentsBase(IColumnProvider columnProvider) { // injected ColumnProvider = columnProvider; // implemented RegisterComponents(); // populate constants if (Constants == null) { throw new Exception("Constants is not registered"); } PopulateColumnsInConstants(Constants, ColumnProvider); // set defaults for missing properties SearchRequestMapper = SearchRequestMapper ?? new DefaultSearchRequestMapper(this); QueryHelpers = QueryHelpers ?? new DefaultQueryHelpers(ColumnProvider, Constants, TableMappings); CalculatedColumnHelper = CalculatedColumnHelper ?? new DefaultCalculatedColumnHelper(ColumnProvider, TableMappings, Constants, QueryHelpers); TransposeStatsQueryBuilder = TransposeStatsQueryBuilder ?? new DefaultTransposeStatsCteQueryBuilder(this); DateStatsQueryBuilder = DateStatsQueryBuilder ?? new DefaultDateStatsCteQueryBuilder(this); StatsQueryBuilder = StatsQueryBuilder ?? new DefaultStatsQueryBuilder(this); DataQueryBuilder = DataQueryBuilder ?? new DefaultDataQueryBuilder(this); OneToManyCteQueryBuliderFactory = OneToManyCteQueryBuliderFactory ?? new DefaultOneToManyCteQueryBuilderFactory(this); MissingSummarizeDataQueryBuilder = MissingSummarizeDataQueryBuilder ?? new DefaultMissingSummariseDataQueryBuilder(this); SearchQueryBuilder = SearchQueryBuilder ?? new DefaultSearchQueryBuilder(this); ColumnMappingValidator = ColumnMappingValidator ?? new DefaultColumnMappingValidator(); if (TableMappings == null) { throw new Exception("TableMappings is not registered"); } if (QueryHelpers == null) { throw new Exception("QueryHelpers is not registered"); } if (CalculatedColumnHelper == null) { throw new Exception("CalculatedColumnHelper is not registered"); } if (SearchRequestMapper == null) { throw new Exception("SearchRequestMapper is not registered"); } if (SearchQueryBuilder == null) { throw new Exception("SearchQueryBuilder is not registered"); } if (DateStatsQueryBuilder == null) { throw new Exception("DateStatsQueryBuilder is not registered"); } if (TransposeStatsQueryBuilder == null) { throw new Exception("TransposeStatsQueryBuilder is not registered"); } if (QueryBuilderBase == null) { throw new Exception("QueryBuilderBase is not registered"); } if (StatsQueryBuilder == null) { throw new Exception("StatsQueryBuilder is not registered"); } if (DataQueryBuilder == null) { throw new Exception("DataQueryBuilder is not registered"); } if (OneToManyCteQueryBuliderFactory == null) { throw new Exception("OneToManyCteQueryBuliderFactory is not registered"); } if (MissingSummarizeDataQueryBuilder == null) { throw new Exception("MissingSummarizeDataQueryBuilder is not registered"); } ColumnProvider.Initialize(); }
public abstract ReportColumnMapping CreateColumnMapping(int dataSourceId, ReportColumnMapping columnMapping, IReportColumnMappingValidator columnValidator);