Ejemplo n.º 1
0
        /// <summary>The build tool tip.</summary>
        /// <param name="table">The table.</param>
        /// <param name="column">The column.</param>
        /// <returns>The build tool tip.</returns>
        private string BuildToolTip(DbModelTable table, DbModelColumn column)
        {
            string friendlyColumnName = Utility.MakeSqlFriendly(column.Name);
            string toolTip            = table.FullName + "." + friendlyColumnName;

            if (column.IsKey)
            {
                toolTip += "; Primary Key";
            }

            if (column.IsAutoIncrement)
            {
                toolTip += "; Auto*";
            }

            if (column.ForeignKeyReference != null)
            {
                toolTip += string.Format("; FK -> {0}.{1}", column.ForeignKeyReference.ReferenceTable.FullName, column.ForeignKeyReference.ReferenceColumn.Name);
            }

            if (column.IsReadOnly)
            {
                toolTip += "; Read Only";
            }

            return(toolTip);
        }
Ejemplo n.º 2
0
        /// <summary>The navigate to.</summary>
        /// <param name="modelObject">The model object.</param>
        public void NavigateTo(IDbModelNamedObject modelObject)
        {
            if (modelObject == null)
            {
                return;
            }

            switch (modelObject.ObjectType)
            {
            case ObjectTypes.Table:
                foreach (TreeNode treeNode in _tablesNode.Nodes)
                {
                    IDbModelNamedObject obj = treeNode.Tag as IDbModelNamedObject;
                    if (obj != null && modelObject == obj)
                    {
                        SelectNode(treeNode);
                    }
                }

                break;

            case ObjectTypes.View:
                foreach (TreeNode treeNode in _viewsNode.Nodes)
                {
                    IDbModelNamedObject obj = treeNode.Tag as IDbModelNamedObject;
                    if (obj != null && modelObject == obj)
                    {
                        SelectNode(treeNode);
                    }
                }

                break;

            case ObjectTypes.Column:
                DbModelColumn modelColumn = modelObject as DbModelColumn;
                if (modelColumn != null)
                {
                    foreach (TreeNode treeNode in _tablesNode.Nodes)
                    {
// only look in the tables nodw for FK refs
                        DbModelTable modelTable = treeNode.Tag as DbModelTable;
                        if (modelTable != null && modelTable == modelColumn.ParentTable)
                        {
                            // now find the column in the child nodes
                            foreach (TreeNode columnNode in treeNode.Nodes)
                            {
                                DbModelColumn modelReferingColumn = columnNode.Tag as DbModelColumn;
                                if (modelReferingColumn != null && modelReferingColumn == modelColumn)
                                {
                                    SelectNode(columnNode);
                                }
                            }
                        }
                    }
                }

                break;
            }
        }
Ejemplo n.º 3
0
        /// <summary>Execute the command.</summary>
        public override void Execute()
        {
            DbModelColumn column = HostWindow.DatabaseInspector.RightClickedModelObject as DbModelColumn;

            if (column != null && column.ForeignKeyReference != null)
            {
                HostWindow.DatabaseInspector.NavigateTo(column.ForeignKeyReference.ReferenceColumn);
            }
        }
Ejemplo n.º 4
0
        /// <summary>The get summary.</summary>
        /// <param name="column">The column.</param>
        /// <returns>The get summary.</returns>
        private string GetSummary(DbModelColumn column)
        {
            StringWriter stringWriter = new StringWriter();

            if (_sqlWriter == null)
            {
                _sqlWriter = _services.Resolve <ISqlWriter>();
            }

            _sqlWriter.WriteSummary(stringWriter, column);
            return(stringWriter.ToString());
        }
Ejemplo n.º 5
0
        /// <summary>The build image key.</summary>
        /// <param name="column">The column.</param>
        /// <returns>The build image key.</returns>
        private string BuildImageKey(DbModelColumn column)
        {
            string imageKey = column.ObjectType;

            if (column.IsRowVersion)
            {
                imageKey += "-RowVersion";
            }
            else
            {
                if (column.IsKey)
                {
                    imageKey += "-PK";
                }

                if (column.ForeignKeyReference != null)
                {
                    imageKey += "-FK";
                }
            }

            return(imageKey);
        }
Ejemplo n.º 6
0
 /// <summary>Initializes a new instance of the <see cref="DbModelForeignKeyReference"/> class.</summary>
 /// <param name="owningColumn">The owning column.</param>
 /// <param name="fkTable">The fk table.</param>
 /// <param name="fkColumn">The fk column.</param>
 public DbModelForeignKeyReference(DbModelColumn owningColumn, DbModelTable fkTable, DbModelColumn fkColumn)
 {
     OwningColumn    = owningColumn;
     ReferenceTable  = fkTable;
     ReferenceColumn = fkColumn;
 }