Esempio n. 1
0
        public ReferenceField(XmlTextReader r, string version) : this()
        {
            string refTypeName;
            string refTypeNameSpace;

            if (r.Name != "ChildEntry")
            {
                throw new Exception(string.Format("Cannot load, expected ChildEntry, found '{0}'.",
                                                  r.Name));
            }

            r.MoveToAttribute("PropertyName");
            this.Name = r.Value;
            r.MoveToContent();
            r.Read();

            CustomPrivateName = string.Empty;
            r.ReadElementString("CustomPrivateName");
            CustomColumnName = string.Empty;
            r.ReadElementString("CustomColumnName");
            refTypeName = r.ReadElementString("DataType");
            if (r.Name == "Builder")
            {
                ReferenceTypeBuilder.Builders.TryGetValue(r.ReadElementString("Builder"), out builder);
            }
            refTypeNameSpace = r.ReadElementString("DataTypeNameSpace");
            if (r.LocalName == "AllowNull")
            {
                allowNull = bool.Parse(r.ReadElementString("AllowNull"));
            }
            Caption      = r.ReadElementString("Caption");
            Description  = r.ReadElementString("Description");
            isTableCoded = bool.Parse(r.ReadElementString("IsTableCoded"));
            tableName    = r.ReadElementString("TableName");
            isUnique     = bool.Parse(r.ReadElementString("IsUnique"));
            refMode      = ParseChildEntryType(r.ReadElementString("ChildEntryType"));
            if (r.LocalName == "Group")
            {
                group = r.ReadElementString("Group");
            }
            if (r.LocalName == "CascadeSaveEnabled")
            {
                cascadeSaveEnabled = bool.Parse(r.ReadElementString("CascadeSaveEnabled"));
            }
            else
            {
                cascadeSaveEnabled = true;
            }
            if (r.LocalName == "EnableCache")
            {
                enableCache = bool.Parse(r.ReadElementString("EnableCache"));
            }
            else
            {
                enableCache = false;
            }
            if (r.LocalName == "IsClientGridEnabled")
            {
                isClientGridEnabled = bool.Parse(r.ReadElementString("IsClientGridEnabled"));
            }
            if (r.LocalName == "IsClientEditEnabled")
            {
                isClientEditEnabled = bool.Parse(r.ReadElementString("IsClientEditEnabled"));
            }
            if (r.LocalName == "IsClientViewEnabled")
            {
                isClientViewEnabled = bool.Parse(r.ReadElementString("IsClientViewEnabled"));
            }
            if (r.LocalName == "IsClientCollectionAddEnabled")
            {
                isClientCollectionAddEnabled = bool.Parse(r.ReadElementString("IsClientCollectionAddEnabled"));
            }
            if (r.LocalName == "IsClientCollectionDeleteEnabled")
            {
                isClientCollectionDeleteEnabled = bool.Parse(r.ReadElementString("IsClientCollectionDeleteEnabled"));
            }
            if (r.LocalName == "IsClientCollectionEditEnabled")
            {
                isClientCollectionEditEnabled = bool.Parse(r.ReadElementString("IsClientCollectionEditEnabled"));
            }

            if (r.Name == "MetaAttributes")
            {
                if (!r.IsEmptyElement)
                {
                    r.Read();
                    while (r.LocalName == "MetaAttribute")
                    {
                        attributes.Add(new MetaAttribute(r));
                    }

                    r.ReadEndElement();
                }
                else
                {
                    r.Read();
                }
            }

            if (r.Name == "Extensions")
            {
                if (!r.IsEmptyElement)
                {
                    r.Read();

                    while (r.Name == "Extension")
                    {
                        ReferenceFieldExtension newExtension = (ReferenceFieldExtension)
                                                               ObjectExtension.Build(r, version);
                        extensions.Add(newExtension.GetType(), newExtension);
                    }

                    r.ReadEndElement();
                }
                else
                {
                    r.Read();
                }
            }

            r.ReadEndElement();

            // Create datatype
            refType = new ReferenceType(refTypeName, refTypeNameSpace);
        }
Esempio n. 2
0
 public static void DeleteDataType(ReferenceType type)
 {
     referenceTypes.Remove(type);
 }
 public bool Contains(ReferenceType value)
 {
     return(IndexOf(value) != -1);
 }