/// <inheritdoc/> public ITableInfo[] GetAllForcedJoinsFor(AggregateConfiguration configuration) { return (_repository.SelectAllWhere <TableInfo>( "Select TableInfo_ID from AggregateForcedJoin where AggregateConfiguration_ID = " + configuration.ID, "TableInfo_ID").ToArray()); }
public AggregateConfiguration ShallowClone() { var clone = new AggregateConfiguration(CatalogueRepository, Catalogue, Name); CopyShallowValuesTo(clone); return(clone); }
/// <inheritdoc/> public void CreateLinkBetween(AggregateConfiguration configuration, TableInfo tableInfo) { using (var con = _repository.GetConnection()) DatabaseCommandHelper.GetCommand( string.Format( "INSERT INTO AggregateForcedJoin (AggregateConfiguration_ID,TableInfo_ID) VALUES ({0},{1})", configuration.ID, tableInfo.ID), con.Connection, con.Transaction).ExecuteNonQuery(); }
/// <inheritdoc/> public void BreakLinkBetween(AggregateConfiguration configuration, ITableInfo tableInfo) { _repository.Delete(string.Format("DELETE FROM AggregateForcedJoin WHERE AggregateConfiguration_ID = {0} AND TableInfo_ID = {1}", configuration.ID, tableInfo.ID)); }
public void InjectKnown(AggregateConfiguration ac) { _knownAggregateConfiguration = new Lazy <AggregateConfiguration>(() => ac); }
/// <summary> /// Declares a new column in an <see cref="AggregateConfiguration"/> (GROUP BY query). The new column will be based on the master Catalogue column /// (<see cref="ExtractionInformation"/>). /// </summary> /// <param name="repository"></param> /// <param name="basedOnColumn"></param> /// <param name="configuration"></param> public AggregateDimension(ICatalogueRepository repository, ExtractionInformation basedOnColumn, AggregateConfiguration configuration) { object alias = DBNull.Value; if (basedOnColumn.Alias != null) { alias = basedOnColumn.Alias; } repository.InsertAndHydrate(this, new Dictionary <string, object> { { "AggregateConfiguration_ID", configuration.ID }, { "ExtractionInformation_ID", basedOnColumn.ID }, { "SelectSQL", basedOnColumn.SelectSQL }, { "Alias", alias }, { "Order", basedOnColumn.Order } }); ClearAllInjections(); }