Пример #1
0
        private Model.View GetNewView(Microsoft.SqlServer.Management.Smo.View smoView)
        {
            Model.View view = new Model.View(smoView.Name, Script.GetSingluar(smoView.Name), false);

            // Columns
            int ordinalPosition = 0;
            List <Microsoft.SqlServer.Management.Smo.Column> smoColumns = new List <Microsoft.SqlServer.Management.Smo.Column>();

            foreach (Microsoft.SqlServer.Management.Smo.Column smoColumn in smoView.Columns)
            {
                smoColumns.Add(smoColumn);
            }

            smoColumns.Sort(new SortComparer <Microsoft.SqlServer.Management.Smo.Column>("ID", System.ComponentModel.ListSortDirection.Ascending));

            foreach (Microsoft.SqlServer.Management.Smo.Column smoColumn in smoColumns)
            {
                if (UnsupportedDataTypes.ToLower().IndexOf("'" + smoColumn.DataType.Name.ToLower() + "'") >= 0)
                {
                    continue;
                }

                Model.Column column = new Model.Column(smoColumn.Name, Script.GetSingluar(smoColumn.Name), false, smoColumn.Name, view, ordinalPosition, smoColumn.Nullable, smoColumn.DataType.Name, smoColumn.DataType.MaximumLength,
                                                       false, smoColumn.Identity, smoColumn.Default, true);
                view.AddColumn(column);
                ordinalPosition++;
            }

            return(view);
        }
Пример #2
0
        private Model.View GetNewView(Microsoft.SqlServer.Management.Smo.View smoView)
        {
            Model.View view = new Model.View(smoView.Name, Script.GetSingluar(smoView.Name), false);

            // Columns
            int ordinalPosition = 0;
            List<Microsoft.SqlServer.Management.Smo.Column> smoColumns = new List<Microsoft.SqlServer.Management.Smo.Column>();
            foreach (Microsoft.SqlServer.Management.Smo.Column smoColumn in smoView.Columns)
            {
                smoColumns.Add(smoColumn);
            }

            smoColumns.Sort(new SortComparer<Microsoft.SqlServer.Management.Smo.Column>("ID", System.ComponentModel.ListSortDirection.Ascending));

            foreach (Microsoft.SqlServer.Management.Smo.Column smoColumn in smoColumns)
            {
                if (UnsupportedDataTypes.ToLower().IndexOf("'" + smoColumn.DataType.Name.ToLower() + "'") >= 0)
                {
                    continue;
                }

                Model.Column column = new Model.Column(smoColumn.Name, Script.GetSingluar(smoColumn.Name), false, smoColumn.Name, view, ordinalPosition, smoColumn.Nullable, smoColumn.DataType.Name, smoColumn.DataType.MaximumLength,
                    false, smoColumn.Identity, smoColumn.Default, true);
                view.AddColumn(column);
                ordinalPosition++;
            }

            return view;
        }
Пример #3
0
        private void AutoMap()
        {
            List <string> unassignedAliases = UnMappedAssociatedColumnAliases;

            for (int nodeCounter = 0; nodeCounter < gridMappings.Rows.Count; nodeCounter++)
            {
                DataGridViewRow row = gridMappings.Rows[nodeCounter];
                string          associatedColumnAlias = row.Cells[1].Value.ToString();

                if (string.IsNullOrEmpty(associatedColumnAlias))
                {
                    Model.Column column = (Model.Column)row.Tag;

                    for (int unassignedCounter = unassignedAliases.Count - 1; unassignedCounter >= 0; unassignedCounter--)
                    {
                        string availableAlias = unassignedAliases[unassignedCounter];

                        if (availableAlias.ToLower().Replace("_", "").IndexOf(column.Alias.ToLower().Replace("_", "")) >= 0)
                        {
                            Model.Column associatedColumn = FindAssociatedColumn(availableAlias);

                            if (associatedColumn != null && associatedColumn.DataType == column.DataType)
                            {
                                row.Cells[1].Value = string.Format("{0} ({1})", availableAlias, associatedColumn.DataType);
                                unassignedAliases.RemoveAt(unassignedCounter);
                                AutoMappedNodes.Add(nodeCounter);
                                row.Cells[1].Style.ForeColor = Color.Green;
                            }
                        }
                    }
                }
            }
            AutoMappedNodes.Sort();
        }
Пример #4
0
        public override bool Next()
        {
            Owner.TheFilter.ClearFilterColumns();
            gridFilterColumns.EndEdit();

            foreach (DataGridViewRow row in gridFilterColumns.Rows)
            {
                Model.Filter.FilterColumn filterColumn;

                if ((bool)row.Cells[(int)Cells.Selected].Value)
                {
                    string logicalValue = row.Cells[(int)Cells.Logical].Value == null ? "" : row.Cells[(int)Cells.Logical].Value.ToString().Trim();

                    if (row.Tag is Model.Filter.FilterColumn)
                    {
                        filterColumn = (Model.Filter.FilterColumn)row.Tag;
                        filterColumn.CompareOperator = row.Cells[(int)Cells.Comparer].Value.ToString();
                        filterColumn.LogicalOperator = logicalValue;
                    }
                    else
                    {
                        Model.Column column = (Model.Column)row.Tag;
                        filterColumn = new Model.Filter.FilterColumn(column, logicalValue, row.Cells[(int)Cells.Comparer].Value.ToString(), column.Name);
                    }
                    Owner.TheFilter.AddFilterColumn(filterColumn);
                }
            }
            return(true);
        }
Пример #5
0
        protected bool IsSupported(Model.Column column)
        {
            foreach (string unsupportedDataType in _unsupportedDataTypes)
            {
                if (column.DataType == unsupportedDataType)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #6
0
        private void AddTreelistNode(Model.Column column)
        {
            Model.Association.Mapping mapping = frmAssociationWizard.Association.FindMappingByPrimaryColumn(column);
            string associatedColumnName       = "";

            if (mapping != null && mapping.AssociatedColumn != null && mapping.AssociatedColumn.Parent == frmAssociationWizard.Association.AssociatedObject)
            {
                associatedColumnName = string.Format("{0} ({1})", mapping.AssociatedColumn.Alias, mapping.AssociatedColumn.DataType);
            }
            int newIndex = gridMappings.Rows.Add(new object[] { string.Format("{0} ({1})", column.Alias, column.DataType), associatedColumnName });

            gridMappings.Rows[newIndex].Tag = column;
        }
Пример #7
0
        private void GetTestData()
        {
            var r1 = new Row();
            var c1 = new Model.Column();
            var r2 = new Row();
            var c2 = new Model.Column();
            var r3 = new Row();

            r1.Add(new Cartoon()
            {
                Link = ListOfImages[0], ParentType = r1.Type
            });
            r1.Add(c1);
            r1.Add(new Cartoon()
            {
                Link = ListOfImages[1], ParentType = r1.Type
            });
            c1.Add(r2);
            c1.Add(new Cartoon()
            {
                Link = ListOfImages[2], ParentType = c1.Type
            });
            r2.Add(new Cartoon()
            {
                Link = ListOfImages[3], ParentType = r2.Type
            });
            r2.Add(c2);
            c2.Add(r3);
            c2.Add(new Cartoon()
            {
                Link = ListOfImages[4], ParentType = c2.Type
            });
            r3.Add(new Cartoon()
            {
                Link = ListOfImages[5], ParentType = r3.Type
            });
            r3.Add(new Cartoon()
            {
                Link = ListOfImages[6], ParentType = r3.Type
            });

            //Window.StackP.Children.Add(ListOfImages[0]);
            //SourceImage = ListOfImages[0];

            GetResultImage(r1, 650);
        }
Пример #8
0
        public DataGridViewRow AddGridRow(Model.Column column, bool checkedColumnsOnly)
        {
            DataGridViewRow newRow = null;

            Model.Filter.FilterColumn filterColumn = null;

            foreach (ArchAngel.Providers.Database.Model.Filter.FilterColumn filterCol in Owner.TheFilter.FilterColumns)
            {
                if (filterCol.Column.Name == column.Name && filterCol.Column.Parent.Name == column.Parent.Name)
                {
                    filterColumn = filterCol;
                    break;
                }
            }
            if (filterColumn != null)
            {
                if (checkedColumnsOnly)
                {
                    string logicalOperator = filterColumn.LogicalOperator;

                    if (string.IsNullOrEmpty(logicalOperator))
                    {
                        logicalOperator = " ";
                    }
                    int index = gridFilterColumns.Rows.Add(new object[] { true, filterColumn.Column.Parent.Name, filterColumn.Column.Name, filterColumn.Column.Alias, filterColumn.CompareOperator, logicalOperator });
                    gridFilterColumns.Rows[index].Tag = filterColumn;
                    newRow = gridFilterColumns.Rows[index];
                }
            }
            else
            {
                if (!checkedColumnsOnly)
                {
                    int index = gridFilterColumns.Rows.Add(new object[] { false, column.Parent.Name, column.Name, column.Alias, "=", "And" });
                    gridFilterColumns.Rows[index].Tag = column;
                    newRow = gridFilterColumns.Rows[index];
                }
            }
            return(newRow);
        }
Пример #9
0
        //The issue context is specified by including one of the following columns in the result set: schema_context, table_context or column_context
        //Default context is database context (also used if e.g. one of the specified tables does not exist in the model)
        private static IssueContext getContextFromSQLIssue(DataTable result, DataRow issueRow, Model.Database database)
        {
            //Schema context
            if (result.Columns.Contains("schema_context"))
            {
                String       schemaName = (String)issueRow["schema_context"];
                Model.Schema schema     = database.Schemas.Where(s => s.SchemaName == schemaName).FirstOrDefault();
                if (schema != null)
                {
                    return(new SchemaContext(schema));
                }
            }
            //Table context
            else if (result.Columns.Contains("table_context"))
            {
                String      tableName = (String)issueRow["table_context"];
                Model.Table table     = database.Tables.Where(t => t.TableName == tableName).FirstOrDefault();
                if (table != null)
                {
                    return(new TableContext(table));
                }
            }
            //Column context
            else if (result.Columns.Contains("column_context"))
            {
                String       columnName = (String)issueRow["column_context"];
                Model.Column column     = database.Columns.Where(c => c.TableName == columnName).FirstOrDefault();
                if (column != null)
                {
                    return(new ColumnContext(column));
                }
            }

            //Default context
            return(new DatabaseContext(database));
        }