Example #1
0
        private static bool MergedDerivativeTable(DerivativeTableModifierModel mergedDerivativeTable,
                                                  IList <DerivativeTableModifierModel> mergedDerivativeTables,
                                                  DerativeTable derativeTable,
                                                  DerivativeTable defaultDt)
        {
            var hasChange = false;

            //Was created by user and is not in the default schema
            if (mergedDerivativeTable.IsDeleted && defaultDt == null)
            {
                mergedDerivativeTables.Remove(mergedDerivativeTable);
            }
            else
            {
                if (mergedDerivativeTable.Access != DerivativeTableAccess.NotSet ||
                    mergedDerivativeTable.Cascade == true ||
                    defaultDt == null)
                {
                    derativeTable.DerativeSubTables.Add(new DerivativeSubTable
                    {
                        ServerId = mergedDerivativeTable.ServerId,
                        Database = mergedDerivativeTable.Database,
                        Schema   = mergedDerivativeTable.Schema,
                        Table    = mergedDerivativeTable.Table,
                        Access   = mergedDerivativeTable.Access,
                        Cascade  = mergedDerivativeTable.Cascade
                    });

                    hasChange = true;
                }
            }

            return(hasChange);
        }
 public static TableMetadata GetTable(this Metadatas metadatas, DerivativeTable dt)
 {
     return(metadatas.GetTable(dt.ServerId, dt.Database, dt.Schema, dt.Table));
 }