Exemple #1
0
        protected DataRecord(SerializationInfo info, StreamingContext context)
        {
            foreach (SerializationEntry entry in info)
            {
                if (Compare.AreSameOrdinal("isDirtyRecord", entry.Name))
                {
                    continue;
                }

                Properties[entry.Name].InvokeSetter((TDataRecord)this, entry.Value);
            }

            flags[IsDirtyRecord] = info.GetBoolean("isDirtyRecord");
        }
Exemple #2
0
        public static bool TablesAreSame(TableData a, TableData b)
        {
            if (a == null || b == null)
            {
                return(false);
            }

            if (ReferenceEquals(a, b))
            {
                return(true);
            }

            return(Compare.AreSameOrdinal(a.Name, b.Name) &&
                   Compare.AreSameOrdinal(a.Owner, b.Owner));
        }
Exemple #3
0
        public static bool ColumnsAreSame(IQueryableColumn a, IQueryableColumn b)
        {
            if (a == null || b == null)
            {
                return(false);
            }

            if (ReferenceEquals(a, b))
            {
                return(true);
            }

            return(Compare.AreSameOrdinal(a.Name, b.Name) &&
                   Compare.AreSameOrdinal(a.Table.Name, b.Table.Name) &&
                   Compare.AreSameOrdinal(a.Table.Owner, b.Table.Owner));
        }
Exemple #4
0
        private void GenerateFromViews(string baseNamespace, IDictionary <string, StringBuilder> lookup, StringBuilder output)
        {
            foreach (TableDefinition table in session.Schema.Tables)
            {
                if (!table.IsReadOnly)
                {
                    continue;
                }

                string classNamespace = CodeFormat.ToPascalCase(table.Owner);
                // Separate tables into namespace buckets.
                StringBuilder value;
                if (lookup.TryGetValue(classNamespace, out value))
                {
                    if (table.IsEnum)
                    {
                        value.AppendLine(GenerateEnum(table));
                        value.AppendLine();
                    }
                    else
                    {
                        value.AppendLine(classProcessor.GenerateClass(table));
                        value.AppendLine();
                    }
                }
                else
                {
                    if (!Compare.AreSameOrdinal(table.Owner, "dbo"))
                    {
                        output.AppendLine(string.Format("using {0};", baseNamespace.Length > 0 ? baseNamespace + "." + classNamespace : classNamespace));
                    }

                    StringBuilder builder = new StringBuilder();
                    lookup.Add(classNamespace, builder);
                    if (table.IsEnum)
                    {
                        builder.AppendLine(GenerateEnum(table));
                        builder.AppendLine();
                    }
                    else
                    {
                        builder.AppendLine(classProcessor.GenerateClass(table));
                        builder.AppendLine();
                    }
                }
            }
        }
Exemple #5
0
        private string GenerateTableAttribute(TableDefinition table)
        {
            StringBuilder attrBuilder = new StringBuilder();

            attrBuilder.AppendFormat("ActiveTable(\"{0}\", \"{1}\"", table.Owner, table.Name);
            if (table.PrimaryKey != null)
            {
                attrBuilder.Append(", \"" + table.PrimaryKey.Name + "\"");
            }
            if (table.IsReadOnly)
            {
                attrBuilder.Append(", ReadOnly=true");
            }

            foreach (TableColumnDefinition column in table.Columns)
            {
                if (Compare.AreSameOrdinal(deletedColumn, column.Name))
                {
                    attrBuilder.AppendFormat(", DeletedColumn=\"{0}\"", column.Name);
                }
                if (Compare.AreSameOrdinal(modifiedOnColumn, column.Name))
                {
                    attrBuilder.AppendFormat(", ModifiedOnColumn=\"{0}\"", column.Name);
                }
                if (Compare.AreSameOrdinal(modifiedByColumn, column.Name))
                {
                    attrBuilder.AppendFormat(", ModifiedByColumn=\"{0}\"", column.Name);
                }
                if (Compare.AreSameOrdinal(createdOnColumn, column.Name))
                {
                    attrBuilder.AppendFormat(", CreatedOnColumn=\"{0}\"", column.Name);
                }
                if (Compare.AreSameOrdinal(createdbyColumn, column.Name))
                {
                    attrBuilder.AppendFormat(", CreatedByColumn=\"{0}\"", column.Name);
                }
            }
            attrBuilder.Append(")");
            return(attrBuilder.ToString());
        }
Exemple #6
0
        public static bool ColumnsAreSame(IQueryableColumn column, PrimaryKeys keys)
        {
            foreach (IQueryableColumn b in keys)
            {
                if (column == null || b == null)
                {
                    return(false);
                }

                if (ReferenceEquals(column, b))
                {
                    return(true);
                }

                if (Compare.AreSameOrdinal(column.Name, b.Name) &&
                    Compare.AreSameOrdinal(column.Table.Name, b.Table.Name) &&
                    Compare.AreSameOrdinal(column.Table.Owner, b.Table.Owner))
                {
                    return(true);
                }
            }

            return(false);
        }