Пример #1
0
 /// <inheritdoc/>
 public ITableInfo[] GetAllForcedJoinsFor(AggregateConfiguration configuration)
 {
     return
         (_repository.SelectAllWhere <TableInfo>(
              "Select TableInfo_ID from AggregateForcedJoin where AggregateConfiguration_ID = " + configuration.ID,
              "TableInfo_ID").ToArray());
 }
Пример #2
0
        public AggregateConfiguration ShallowClone()
        {
            var clone = new AggregateConfiguration(CatalogueRepository, Catalogue, Name);

            CopyShallowValuesTo(clone);
            return(clone);
        }
Пример #3
0
 /// <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();
 }
Пример #4
0
 /// <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));
 }
Пример #5
0
 public void InjectKnown(AggregateConfiguration ac)
 {
     _knownAggregateConfiguration = new Lazy <AggregateConfiguration>(() => ac);
 }
Пример #6
0
        /// <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();
        }