private void InitializeColumn(CremaDataColumn dataColumn, ColumnBase column)
        {
            if (dataColumn.CremaType != null)
            {
                if (dataColumn.CremaType.IsFlag == true)
                {
                    column.CellEditor = this.FindResource("CremaFlagTypeSelector") as CellEditor;
                }
                else
                {
                    column.CellEditor = this.FindResource("CremaTypeSelector") as CellEditor;
                }
                SetCremaTypeMembers(column, dataColumn.CremaType.Members);
            }

            CremaDataTableItemControl.SetIsKey(column, dataColumn.IsKey);
            CremaDataTableItemControl.SetIsUnique(column, dataColumn.Unique);
            CremaDataTableItemControl.SetFieldType(column, dataColumn.DataType);
            CremaDataTableItemControl.SetTags(column, dataColumn.Tags);
            CremaDataTableItemControl.SetComment(column, dataColumn.Comment);
            CremaDataTableItemControl.SetReference(column, dataColumn);

            column.TitleTemplate = this.FindResource("Title_Template") as DataTemplate;

            if (dataColumn.DerivedTags.Color != null)
            {
                CremaDataTableItemControl.SetHasTagColor(column, true);
                column.SetValue(TextElement.ForegroundProperty, new BrushConverter().ConvertFrom(dataColumn.DerivedTags.Color));
            }
        }
Example #2
0
        public void SetCremaType_Fail()
        {
            var type   = new CremaDataType();
            var column = new CremaDataColumn();

            column.CremaType = type;
        }
Example #3
0
        private static void WriteField(XmlWriter writer, CremaDataRow dataRow, CremaDataColumn dataColumn, bool ignoreDefaultValue)
        {
            var dataType = dataColumn.DataType;
            var value    = dataRow[dataColumn];

            if (value == DBNull.Value)
            {
                return;
            }

            var converter = TypeDescriptor.GetConverter(dataColumn.DataType);
            var textValue = CremaXmlConvert.ToString(value, dataType);

            if (object.Equals(value, dataColumn.DefaultValue) == true)
            {
                writer.WriteStartElement(dataColumn.ColumnName);
                writer.WriteEndElement();
            }
            else
            {
                writer.WriteStartElement(dataColumn.ColumnName);
                writer.WriteValue(textValue);
                writer.WriteEndElement();
            }
        }
Example #4
0
        private void WriteElement(XmlSchema schema, XmlSchemaSequence sequence, CremaDataColumn dataColumn)
        {
            var element = new XmlSchemaElement()
            {
                Name           = dataColumn.ColumnName,
                SchemaTypeName = this.GetXmlQualifiedName(schema, dataColumn)
            };
            var defaultValue = CremaXmlConvert.ToString(dataColumn.DefaultValue, dataColumn.DataType);

            if (string.IsNullOrEmpty(defaultValue) == false)
            {
                element.DefaultValue = defaultValue;
            }
            if (dataColumn.AllowDBNull == true && dataColumn.IsKey == false)
            {
                element.MinOccursString = "0";
            }

            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.Creator, dataColumn.CreationInfo.ID, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.CreatedDateTime, dataColumn.CreationInfo.DateTime, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.Modifier, dataColumn.ModificationInfo.ID, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.ModifiedDateTime, dataColumn.ModificationInfo.DateTime, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.AutoIncrement, dataColumn.AutoIncrement, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.ID, dataColumn.ColumnID, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.Tags, dataColumn.Tags, schema.TargetNamespace);
            element.WriteAppInfo(CremaSchema.ColumnInfo, CremaSchema.ReadOnly, dataColumn.ReadOnly, schema.TargetNamespace);

            element.WriteDescription(dataColumn.Comment);
            sequence.Items.Add(element);
        }
Example #5
0
        public void Remove_Fail()
        {
            var dataTable  = new CremaDataTable();
            var dataColumn = new CremaDataColumn();

            dataTable.Columns.Remove(dataColumn);
        }
Example #6
0
        public static void CompareColumn(CremaDataColumn column1, CremaDataColumn column2)
        {
            if (column1 == null && column2 == null)
            {
                return;
            }
            if (column1 == null || column2 == null)
            {
                Assert.Fail("컬럼이 같지 않습니다.");
            }

            Assert.AreEqual(column1.AllowDBNull, column2.AllowDBNull, "AllowDBNull");
            Assert.AreEqual(column1.AutoIncrement, column2.AutoIncrement, "AutoIncrement");
            Assert.AreEqual(column1.ColumnName, column2.ColumnName, "ColumnName");
            Assert.AreEqual(column1.DataType, column2.DataType, "DataType");
            CremaComparer.CompareType(column1.CremaType, column2.CremaType);
            Assert.AreEqual(column1.DefaultValue, column2.DefaultValue, "DefaultValue");
            Assert.AreEqual(column1.Expression, column2.Expression, "Expression");
            Assert.AreEqual(column1.Validation, column2.Validation, "Validation");
            Assert.AreEqual(column1.Unique, column2.Unique, "Unique");
            Assert.AreEqual(column1.ReadOnly, column2.ReadOnly, "ReadOnly");
            Assert.AreEqual(column1.Comment, column2.Comment, "Comment");
            Assert.AreEqual(column1.IsKey, column2.IsKey, "IsKey");
            Assert.AreEqual(column1.CreationInfo, column2.CreationInfo, "CreationInfo");
            Assert.AreEqual(column1.ModificationInfo, column2.ModificationInfo, "ModificationInfo");
            Assert.AreEqual(column1.ColumnID, column2.ColumnID, "ColumnID");
            Assert.AreEqual(column1.Tags, column2.Tags, "Tags");
            Assert.AreEqual(column1.ColumnInfo, column2.ColumnInfo, "ColumnInfo");
            Assert.AreEqual(column1.Index, column2.Index, "Ordinal");
        }
Example #7
0
        private void WriteDataColumn(XmlSchema schema, CremaDataColumn dataColumn)
        {
            if (dataColumn.Validation != string.Empty)
            {
                var simpleType = new XmlSchemaSimpleType()
                {
                    Name = dataColumn.GetXmlSchemaTypeName(),
                };
                {
                    var simpleTypeRestriction = new XmlSchemaSimpleTypeRestriction()
                    {
                        BaseTypeName = GetSystemQualifiedName(dataColumn.DataType)
                    };
                    {
                        var facet = new XmlSchemaPatternFacet()
                        {
                            Value = dataColumn.Validation
                        };
                        simpleTypeRestriction.Facets.Add(facet);
                    }
                    simpleType.Content = simpleTypeRestriction;
                }

                schema.Items.Add(simpleType);
            }
        }
        public void NewWithNullName()
        {
            var column = new CremaDataColumn(null);

            Assert.AreNotEqual(Guid.Empty, column.ColumnID);
            Assert.AreEqual(-1, column.Index);
            Assert.AreEqual(string.Empty, column.ColumnName);
            Assert.AreEqual(typeof(string), column.DataType);
            Assert.AreEqual(string.Empty, column.Comment);
            Assert.IsFalse(column.IsKey);
            Assert.IsFalse(column.Unique);
            Assert.IsFalse(column.ReadOnly);
            Assert.AreEqual(null, column.Table);
            Assert.AreEqual(TagInfo.All, column.Tags);
            Assert.AreEqual(TagInfo.All, column.DerivedTags);
            Assert.AreEqual(string.Empty, column.Validation);
            Assert.AreEqual(string.Empty, column.Expression);
            Assert.IsNull(column.CremaType);
            Assert.IsTrue(column.AllowDBNull);
            Assert.IsFalse(column.AutoIncrement);
            Assert.AreEqual(DBNull.Value, column.DefaultValue);

            Assert.AreEqual(column.CreationInfo, SignatureDate.Empty);
            Assert.AreEqual(column.ModificationInfo, SignatureDate.Empty);
        }
        public void NewWithNameAndCremaType()
        {
            var dataSet    = new CremaDataSet();
            var columnName = RandomUtility.NextIdentifier();
            var columnType = dataSet.AddRandomType();
            var column     = new CremaDataColumn(columnName, columnType);

            Assert.AreNotEqual(Guid.Empty, column.ColumnID);
            Assert.AreEqual(-1, column.Index);
            Assert.AreEqual(columnName, column.ColumnName);
            Assert.AreEqual(typeof(string), column.DataType);
            Assert.AreEqual(string.Empty, column.Comment);
            Assert.IsFalse(column.IsKey);
            Assert.IsFalse(column.Unique);
            Assert.IsFalse(column.ReadOnly);
            Assert.AreEqual(null, column.Table);
            Assert.AreEqual(TagInfo.All, column.Tags);
            Assert.AreEqual(TagInfo.All, column.DerivedTags);
            Assert.AreEqual(string.Empty, column.Validation);
            Assert.AreEqual(string.Empty, column.Expression);
            Assert.AreEqual(columnType, column.CremaType);
            Assert.IsTrue(column.AllowDBNull);
            Assert.IsFalse(column.AutoIncrement);
            Assert.AreEqual(DBNull.Value, column.DefaultValue);

            Assert.AreEqual(column.CreationInfo, SignatureDate.Empty);
            Assert.AreEqual(column.ModificationInfo, SignatureDate.Empty);
            Assert.AreEqual(0, columnType.ReferencedColumns.Length);
        }
Example #10
0
 private void ReadValue(XmlReader reader, CremaDataRow dataRow, CremaDataColumn dataColumn)
 {
     if (reader.IsEmptyElement == false)
     {
         reader.ReadStartElement();
         reader.MoveToContent();
         if (reader.HasValue == true)
         {
             this.ReadValue(dataRow, dataColumn, reader.ReadContentAsString());
         }
         reader.MoveToContent();
         reader.ReadEndElement();
     }
     else
     {
         if (dataColumn.AllowDBNull == true && object.Equals(dataColumn.DefaultValue, DBNull.Value) == false)
         {
             dataRow[dataColumn] = dataColumn.DefaultValue;
         }
         else if (object.Equals(dataColumn.DefaultValue, DBNull.Value) == true)
         {
             this.ReadValue(dataRow, dataColumn, string.Empty);
         }
         reader.Skip();
     }
     reader.MoveToContent();
 }
Example #11
0
        private void ReadColumn(XmlSchemaElement element, CremaDataTable dataTable)
        {
            var dataColumn = new CremaDataColumn()
            {
                InternalColumnName = element.Name,
                InternalComment    = element.ReadDescription(),
            };

            this.ReadColumnDataType(element.ElementSchemaType as XmlSchemaSimpleType, dataColumn);

            if (element.MinOccursString == null)
            {
                dataColumn.InternalAllowDBNull = false;
            }

            if (string.IsNullOrEmpty(element.DefaultValue) == false)
            {
                dataColumn.InternalDefaultValue = CremaXmlConvert.ToValue(element.DefaultValue, dataColumn.DataType);
            }

            if (this.version.Major == CremaSchema.MajorVersion)
            {
                this.ReadColumnInfo(element, dataColumn);
            }
            else
            {
                this.ReadColumnInfoVersion2(element, dataColumn);
            }

            dataTable.Columns.Add(dataColumn);
        }
Example #12
0
        public CremaTemplateColumn_InTableTest()
        {
            var dataSet = CremaDataSetExtensions.CreateRandomSet();

            this.template     = new CremaTemplate(dataSet.Tables.Random(item => item.TemplateNamespace == string.Empty));
            this.column       = this.template.Columns.Random();
            this.targetColumn = this.template.TargetTable.Columns[this.column.Name];
        }
Example #13
0
        public void AddColumn()
        {
            var dataTable  = new CremaDataTable();
            var dataColumn = new CremaDataColumn();

            dataTable.Columns.Add(dataColumn);
            Assert.AreEqual(1, dataTable.Columns.Count);
        }
Example #14
0
 public void Create()
 {
     foreach (var item in CremaDataTypeUtility.GetBaseTypes())
     {
         var column = new CremaDataColumn(RandomUtility.NextIdentifier(), item);
         Assert.IsNotNull(column);
     }
 }
Example #15
0
 private void ReadColumnInfo(XmlSchemaAnnotated annotated, CremaDataColumn dataColumn)
 {
     dataColumn.InternalCreationInfo     = annotated.ReadAppInfoAsSigunatureDate(CremaSchema.ColumnInfo, CremaSchema.Creator, CremaSchema.CreatedDateTime);
     dataColumn.InternalModificationInfo = annotated.ReadAppInfoAsSigunatureDate(CremaSchema.ColumnInfo, CremaSchema.Modifier, CremaSchema.ModifiedDateTime);
     dataColumn.InternalAutoIncrement    = annotated.ReadAppInfoAsBoolean(CremaSchema.ColumnInfo, CremaSchema.AutoIncrement);
     dataColumn.InternalColumnID         = annotated.ReadAppInfoAsGuid(CremaSchema.ColumnInfo, CremaSchema.ID);
     dataColumn.InternalTags             = annotated.ReadAppInfoAsTagInfo(CremaSchema.ColumnInfo, CremaSchema.Tags);
     dataColumn.InternalReadOnly         = annotated.ReadAppInfoAsBoolean(CremaSchema.ColumnInfo, CremaSchema.ReadOnly);
 }
Example #16
0
        public static void InitializeRandom(this CremaDataColumn dataColumn)
        {
            var dataTable = dataColumn.Table;

            if (RandomUtility.Within(75) == true)
            {
                dataColumn.DataType = CremaDataTypeUtility.GetBaseTypes().Random();
            }
            else if (dataTable != null && dataTable.DataSet != null && dataTable.DataSet.Types.Any())
            {
                dataColumn.CremaType = dataTable.DataSet.Types.Random();
            }

            if (RandomUtility.Within(25) == true)
            {
                SetHopeType(dataColumn);
            }

            if (dataTable != null && dataTable.PrimaryKey.Any() == false)
            {
                dataColumn.IsKey = true;
            }
            else if (RandomUtility.Within(10) && dataColumn.DataType != typeof(bool))
            {
                dataColumn.IsKey  = true;
                dataColumn.Unique = RandomUtility.Within(75);
            }

            if (RandomUtility.Within(25) && dataColumn.DataType != typeof(bool))
            {
                var unique = RandomUtility.Within(75);
                if (unique != false || dataTable == null || dataTable.PrimaryKey.Count() != 1)
                {
                    dataColumn.Unique = unique;
                }
            }

            if (RandomUtility.Within(25) == true)
            {
                dataColumn.Comment = RandomUtility.NextString();
            }

            if (RandomUtility.Within(25) == true)
            {
                dataColumn.DefaultValue = dataColumn.GetRandomValue();
            }

            if (CremaDataTypeUtility.CanUseAutoIncrement(dataColumn.DataType) == true && dataColumn.DefaultValue == DBNull.Value)
            {
                dataColumn.AutoIncrement = RandomUtility.NextBoolean();
            }

            if (RandomUtility.Within(5) == true)
            {
                dataColumn.ReadOnly = true;
            }
        }
Example #17
0
        private void ReadColumnDataType(XmlSchemaSimpleType simpleType, CremaDataColumn column)
        {
            var typeName = simpleType.QualifiedName.Name;

            if (simpleType.QualifiedName.Namespace == XmlSchema.Namespace)
            {
                column.InternalDataType = CremaDataTypeUtility.GetType(typeName) ?? typeof(string);
            }
            else if (simpleType.QualifiedName.Name == typeof(Guid).GetTypeName() && simpleType.QualifiedName.Namespace == simpleType.GetSchema().TargetNamespace)
            {
                column.InternalDataType = typeof(Guid);
            }
            else
            {
                var categoryPath = PathUtility.Separator;

                if (simpleType.QualifiedName.Namespace == CremaSchema.BaseNamespace)
                {
                    if (this.version.Minor >= CremaSchema.MinorVersion)
                    {
                        categoryPath = simpleType.ReadAppInfoAsString(CremaSchema.TypeInfo, CremaSchema.CategoryPath, PathUtility.Separator);
                    }
                    else
                    {
                        var xmlRestriction = simpleType.Content as XmlSchemaSimpleTypeRestriction;
                        if (xmlRestriction == null)
                        {
                            if (simpleType.Content is XmlSchemaSimpleTypeList == true)
                            {
                                simpleType = (simpleType.Content as XmlSchemaSimpleTypeList).BaseItemType;
                            }
                        }
                        var categoryName = simpleType.ReadAppInfoAsString(CremaSchema.TypeInfo, CremaSchema.Category) ?? string.Empty;
                        categoryPath = categoryName == string.Empty ? PathUtility.Separator : categoryName.WrapSeparator();
                    }
                }
                else
                {
                    if (this.version.Major >= CremaSchema.MajorVersion)
                    {
                        categoryPath = this.dataSet.GetTypeCategoryPath(simpleType.QualifiedName.Namespace);
                    }
                    else
                    {
                        categoryPath = PathUtility.Separator;
                    }
                }

                if (this.dataSet.Types.Contains(typeName, categoryPath) == false)
                {
                    this.ReadType(simpleType);
                }

                column.InternalCremaType = (InternalDataType)this.dataSet.Types[typeName, categoryPath];
            }
        }
 private static void Import(CremaDataColumn dataColumn, SerializationColumn serializedColumn)
 {
     dataColumn.ColumnName    = serializedColumn.Name;
     dataColumn.Tags          = serializedColumn.Tags;
     dataColumn.DataTypeName  = serializedColumn.DataType;
     dataColumn.Comment       = serializedColumn.Comment;
     dataColumn.AllowDBNull   = serializedColumn.AllowNull;
     dataColumn.AutoIncrement = serializedColumn.AutoIncrement;
     dataColumn.ReadOnly      = serializedColumn.ReadOnly;
 }
Example #19
0
        public void CreateWithCremaType()
        {
            var dataSet = CremaDataSetExtensions.CreateRandomSet();

            foreach (var item in dataSet.Types)
            {
                var column = new CremaDataColumn(RandomUtility.NextIdentifier(), item);
                Assert.IsNotNull(column);
            }
        }
Example #20
0
        public void AddKeyColumn()
        {
            var dataTable  = new CremaDataTable();
            var dataColumn = new CremaDataColumn()
            {
                IsKey = true
            };

            dataTable.Columns.Add(dataColumn);
            Assert.AreEqual(1, dataTable.Columns.Count);
            Assert.AreEqual(1, dataTable.PrimaryKey.Length);
        }
Example #21
0
 public static object GetHopeType(this CremaDataColumn dataColumn)
 {
     if (dataColumn.ExtendedProperties.ContainsKey(hopeTypeKey) == false)
     {
         if (dataColumn.CremaType != null)
         {
             return(dataColumn.CremaType);
         }
         return(dataColumn.DataType);
     }
     return(dataColumn.ExtendedProperties[hopeTypeKey]);
 }
Example #22
0
        public void AddColumnMany()
        {
            var dataTable   = new CremaDataTable();
            var columnCount = RandomUtility.Next(1, 10);

            for (var i = 0; i < columnCount; i++)
            {
                var dataColumn = new CremaDataColumn();
                dataTable.Columns.Add(dataColumn);
            }
            Assert.AreEqual(columnCount, dataTable.Columns.Count);
        }
Example #23
0
        private XmlQualifiedName GetXmlQualifiedName(XmlSchema schema, CremaDataColumn dataColumn)
        {
            if (dataColumn.CremaType != null)
            {
                var cremaType = dataColumn.CremaType;
                foreach (var item in schema.Includes)
                {
                    if (item is XmlSchemaImport == true)
                    {
                        var n = (item as XmlSchemaImport).Namespace;
                        if (cremaType.Namespace == n)
                        {
                            return(new XmlQualifiedName(cremaType.TypeName, cremaType.Namespace));
                        }
                    }
                }

                if (this.dataSet == null)
                {
                    using (var sr = new StringReader(cremaType.GetXmlSchema()))
                    {
                        var typeSchema     = XmlSchema.Read(sr, ValidationCallbackOne);
                        var schemaLocation = UriUtility.MakeRelative(dataColumn.Namespace, cremaType.Namespace) + CremaSchema.SchemaExtension;
                        schema.Includes.Add(new XmlSchemaImport()
                        {
                            Schema         = typeSchema,
                            SchemaLocation = schemaLocation,
                            Namespace      = cremaType.Namespace,
                        });
                    }

                    return(new XmlQualifiedName(cremaType.TypeName, cremaType.Namespace));
                }

                return(new XmlQualifiedName(cremaType.TypeName, schema.TargetNamespace));
            }
            else if (string.IsNullOrEmpty(dataColumn.Validation) == false)
            {
                return(new XmlQualifiedName(dataColumn.GetXmlSchemaTypeName(), schema.TargetNamespace));
            }
            else if (dataColumn.DataType == typeof(Guid))
            {
                return(new XmlQualifiedName(typeof(Guid).GetTypeName(), schema.TargetNamespace));
            }
            else
            {
                return(GetSystemQualifiedName(dataColumn.DataType));
            }
        }
Example #24
0
 public SerializationColumn(CremaDataColumn dataColumn)
     : this()
 {
     this.Index         = dataColumn.Index;
     this.Tags          = dataColumn.Tags;
     this.DerivedTags   = dataColumn.DerivedTags;
     this.Name          = dataColumn.ColumnName;
     this.DataType      = dataColumn.DataTypeName;
     this.Comment       = dataColumn.Comment;
     this.IsKey         = dataColumn.IsKey;
     this.IsUnique      = dataColumn.Unique;
     this.AllowNull     = dataColumn.AllowDBNull;
     this.AutoIncrement = dataColumn.AutoIncrement;
     this.ReadOnly      = dataColumn.ReadOnly;
 }
Example #25
0
 public static object GetRandomValue(CremaDataColumn dataColumn)
 {
     if (dataColumn.AllowDBNull == true && RandomUtility.Next(4) == 0)
     {
         return(DBNull.Value);
     }
     else if (dataColumn.CremaType != null)
     {
         return(GetRandomValue(dataColumn.CremaType));
     }
     else
     {
         return(RandomUtility.Next(dataColumn.DataType));
     }
 }
Example #26
0
        public static bool SetRandomValue(this CremaDataRow dataRow, CremaDataColumn dataColumn)
        {
            if (dataRow.RowState != System.Data.DataRowState.Detached && dataColumn.ReadOnly == true)
            {
                return(true);
            }
            var value = GetRandomValue(dataRow, dataColumn);

            if (value == null)
            {
                return(false);
            }
            dataRow.SetField(dataColumn, value);
            return(true);
        }
Example #27
0
        public void AddKeyColumnMany()
        {
            var dataTable   = new CremaDataTable();
            var columnCount = RandomUtility.Next(1, 10);

            for (var i = 0; i < columnCount; i++)
            {
                var dataColumn = new CremaDataColumn()
                {
                    IsKey = true
                };
                dataTable.Columns.Add(dataColumn);
            }
            Assert.AreEqual(columnCount, dataTable.Columns.Count);
            Assert.AreEqual(columnCount, dataTable.PrimaryKey.Length);
        }
Example #28
0
 public static void CopyFrom(this CremaTemplateColumn templateColumn, CremaDataColumn dataColumn)
 {
     templateColumn.ColumnID         = dataColumn.ColumnID;
     templateColumn.Tags             = dataColumn.Tags;
     templateColumn.Name             = dataColumn.ColumnName;
     templateColumn.IsKey            = dataColumn.IsKey;
     templateColumn.DataTypeName     = dataColumn.DataTypeName;
     templateColumn.Comment          = dataColumn.Comment;
     templateColumn.Unique           = dataColumn.Unique;
     templateColumn.AutoIncrement    = dataColumn.AutoIncrement;
     templateColumn.ReadOnly         = dataColumn.ReadOnly;
     templateColumn.AllowNull        = dataColumn.AllowDBNull;
     templateColumn.DefaultValue     = dataColumn.DefaultValueString;
     templateColumn.CreationInfo     = dataColumn.CreationInfo;
     templateColumn.ModificationInfo = dataColumn.ModificationInfo;
 }
Example #29
0
        internal static FindResultInfo FromDataRow(CremaDataRow dataRow, CremaDataColumn dataColumn, int index)
        {
            CremaDataTable table = dataRow.Table;
            FindResultInfo fri   = new FindResultInfo()
            {
                Path             = table.CategoryPath + table.Name,
                Row              = index,
                ColumnName       = dataColumn.ColumnName,
                Value            = dataRow[dataColumn].ToString(),
                Tags             = dataRow.DerivedTags.ToString(),
                IsEnabled        = dataRow.IsEnabled,
                ModificationInfo = dataRow.ModificationInfo,
            };

            return(fri);
        }
Example #30
0
        /// <summary>
        /// for version 2.0
        /// </summary>
        private void ReadColumnInfoVersion2(XmlSchemaAnnotated annotated, CremaDataColumn dataColumn)
        {
            dataColumn.InternalCreationInfo     = annotated.ReadAppInfoAsSigunatureDate(CremaSchema.ColumnInfo, CremaSchemaObsolete.CreatorObsolete, CremaSchema.CreatedDateTime);
            dataColumn.InternalModificationInfo = annotated.ReadAppInfoAsSigunatureDate(CremaSchema.ColumnInfo, CremaSchema.Modifier, CremaSchema.ModifiedDateTime);
            dataColumn.InternalAutoIncrement    = annotated.ReadAppInfoAsBoolean(CremaSchema.ColumnInfo, CremaSchema.AutoIncrement);
            dataColumn.InternalColumnID         = annotated.ReadAppInfoAsGuidVersion2(CremaSchema.ColumnInfo, CremaSchema.ID, dataColumn.ColumnName);
            dataColumn.InternalTags             = annotated.ReadAppInfoAsTagInfo(CremaSchema.ColumnInfo, CremaSchema.Tags);

            var properties = new PropertyCollection();

            this.ReadExtendedProperties(annotated, properties);
            if (properties.ContainsKey(CremaSchemaObsolete.DataLocation) == true)
            {
                dataColumn.InternalTags = new TagInfo(properties[CremaSchemaObsolete.DataLocation] as string);
                properties.Remove(CremaSchemaObsolete.DataLocation);
            }
        }