Ejemplo n.º 1
0
        internal new static CalculatedTable CreateFromMetadata(Model parent, TOM.Table metadataObject)
        {
            if (metadataObject.GetSourceType() != TOM.PartitionSourceType.Calculated)
            {
                throw new ArgumentException("Provided metadataObject is not a Calculated Table.");
            }

            // Generate a new LineageTag if an object with the provided lineage tag already exists:
            if (!string.IsNullOrEmpty(metadataObject.LineageTag))
            {
                if (parent.Handler.CompatibilityLevel < 1540)
                {
                    metadataObject.LineageTag = null;
                }
                else if (parent.MetadataObject.Tables.FindByLineageTag(metadataObject.LineageTag) != metadataObject)
                {
                    metadataObject.LineageTag = Guid.NewGuid().ToString();
                }
            }
            var obj = new CalculatedTable(metadataObject);

            parent.Tables.Add(obj);

            obj.Init();

            return(obj);
        }
Ejemplo n.º 2
0
        internal new static CalculatedTable CreateFromMetadata(Model parent, TOM.Table metadataObject)
        {
            if (metadataObject.GetSourceType() != TOM.PartitionSourceType.Calculated)
            {
                throw new ArgumentException("Provided metadataObject is not a Calculated Table.");
            }
            var obj = new CalculatedTable(metadataObject);

            parent.Tables.Add(obj);

            obj.Init();

            return(obj);
        }
        internal new static CalculationGroupTable CreateFromMetadata(Model parent, TOM.Table metadataObject)
        {
            if (metadataObject.GetSourceType() != TOM.PartitionSourceType.CalculationGroup)
            {
                throw new ArgumentException("Provided metadataObject is not a Calculation Group Table.");
            }
            var obj = new CalculationGroupTable(metadataObject);

            parent.Tables.Add(obj);

            obj.Init();
            //obj.NameField = new CalculationGroupAttribute(obj.DataColumns.First());

            return(obj);
        }