示例#1
0
        private static bool HasParameterBeenRemoved(ModelRelationshipInstance parameter, TSqlObject oldProcedure)
        {
            /*
                A parameter does not exist in the old model
            */

            return
                oldProcedure.GetReferencedRelationshipInstances(Procedure.Parameters)
                    .FirstOrDefault(p => p.ObjectName.Parts.Last() == parameter.ObjectName.Parts.Last()) == null;
        }
示例#2
0
        private static bool HasParameterBeenRemoved(ModelRelationshipInstance parameter, TSqlObject oldProcedure)
        {
            /*
             *  A parameter does not exist in the old model
             */

            return
                (oldProcedure.GetReferencedRelationshipInstances(Procedure.Parameters)
                 .FirstOrDefault(p => p.ObjectName.Parts.Last() == parameter.ObjectName.Parts.Last()) == null);
        }
示例#3
0
        public TSqlModelElementReference(ModelRelationshipInstance relationshipReference, ModelTypeClass typeClass) :
            this(relationshipReference)
        {
            if (relationshipInstance.Object != null && relationshipInstance.Object.ObjectType != typeClass)
            {
                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture,
                                                          ModelMessages.InvalidObjectType, relationshipInstance.Object.ObjectType.Name, typeClass.Name),
                                            "typeClass");
            }

            predefinedTypeClass = typeClass;
        }
示例#4
0
        private ColumnDescriptor CreateColumnDefinition(ModelRelationshipInstance column)
        {
            var definition = new ColumnDescriptor();
            definition.Name = new Identifier {Value = column.ObjectName.GetName()};
            var type = column.Object.GetReferenced(Column.DataType).FirstOrDefault();

            if (type == null)
                return null;//COMPUTED COLUMN

            definition.LiteralType = LiteralConverter.GetLiteralType(type.Name);
            return definition;
        }
示例#5
0
        private ColumnDescriptor CreateColumnDefinition(ModelRelationshipInstance column)
        {
            var definition = new ColumnDescriptor();

            definition.Name = new Identifier {
                Value = column.ObjectName.GetName()
            };
            var type = column.Object.GetReferenced(Column.DataType).FirstOrDefault();


            if (type == null)
            {
                return(null);//COMPUTED COLUMN
            }
            definition.LiteralType = LiteralConverter.GetLiteralType(type.Name);
            return(definition);
        }
示例#6
0
        private bool HasDefaultValueBeenRemoved(ModelRelationshipInstance parameter, TSqlObject oldProcedure)
        {
            var newParameterHasDefault = parameter.Object.GetProperty(Parameter.DefaultExpression) != null;

            var parameterInOldModel =
                oldProcedure.GetReferencedRelationshipInstances(Procedure.Parameters)
                .FirstOrDefault(p => p.ObjectName.Parts.Last() == parameter.ObjectName.Parts.Last());

            /*
             *  A parameter in the new model has no default but it had a default in the old model...
             */

            if (parameterInOldModel != null && !newParameterHasDefault && (parameterInOldModel.Object.GetProperty(Parameter.DefaultExpression) != null))
            {
                return(true);
            }

            return(false);
        }
示例#7
0
        private bool HasDefaultValueBeenRemoved(ModelRelationshipInstance parameter, TSqlObject oldProcedure)
        {
            var newParameterHasDefault = parameter.Object.GetProperty(Parameter.DefaultExpression) != null;

            var parameterInOldModel =
                oldProcedure.GetReferencedRelationshipInstances(Procedure.Parameters)
                    .FirstOrDefault(p => p.ObjectName.Parts.Last() == parameter.ObjectName.Parts.Last());

            /*
                A parameter in the new model has no default but it had a default in the old model...
            */

            if (parameterInOldModel != null && !newParameterHasDefault && (parameterInOldModel.Object.GetProperty(Parameter.DefaultExpression) != null))
            {
                return true;
            }

            return false;
        }
示例#8
0
        private static bool HasParameterBeenAddedWithoutDefaultValue(ModelRelationshipInstance parameter,
                                                                     TSqlObject newProcedure)
        {
            var hasDefault = parameter.Object.GetProperty(Parameter.DefaultExpression) != null;

            var parameterInOldModel =
                newProcedure.GetReferencedRelationshipInstances(Procedure.Parameters)
                .FirstOrDefault(p => p.ObjectName.Parts.Last() == parameter.ObjectName.Parts.Last());

            /*
             *  A parameter did not exist in the old model and has no default
             */

            if (parameterInOldModel == null && !hasDefault)
            {
                return(true);
            }

            return(false);
        }
示例#9
0
        private static bool HasParameterBeenAddedWithoutDefaultValue(ModelRelationshipInstance parameter,
            TSqlObject newProcedure)
        {
            var hasDefault = parameter.Object.GetProperty(Parameter.DefaultExpression) != null;

            var parameterInOldModel =
                newProcedure.GetReferencedRelationshipInstances(Procedure.Parameters)
                    .FirstOrDefault(p => p.ObjectName.Parts.Last() == parameter.ObjectName.Parts.Last());

            /*
                A parameter did not exist in the old model and has no default
            */

            if (parameterInOldModel == null && !hasDefault)
            {
                return true;
            }

            return false;
        }
示例#10
0
 public TSqlModelElementReference(ModelRelationshipInstance relationshipReference) :
     base()
 {
     relationshipInstance = relationshipReference;
 }
示例#11
0
 private static void DumpColumn(ModelRelationshipInstance column, string type)
 {
     Console.WriteLine("{0}: {1}", type, column.ObjectName);
 }
示例#12
0
 private static void DumpColumn(ModelRelationshipInstance column, string type)
 {
     Console.WriteLine("{0}: {1}", type, column.ObjectName);
 }