//------------------------------------------------------------------------------
// <autogenerated>
//     This code was generated by a tool.
//     Runtime Version: 1.1.4322.2032
//
//     Changes to this file may cause incorrect behavior and will be lost if 
//     the code is regenerated.
// </autogenerated>
//------------------------------------------------------------------------------

namespace tests {
    using System;
    using System.Data;
    using System.Xml;
    using System.Runtime.Serialization;
    
    
    [Serializable()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Diagnostics.DebuggerStepThrough()]
    [System.ComponentModel.ToolboxItem(true)]
    public class OrciidDataset : DataSet {
        
        private AccessControlDataTable tableAccessControl;
        
        private AnnouncementsDataTable tableAnnouncements;
        
        private CollectionsDataTable tableCollections;
        
        private CollectionGroupsDataTable tableCollectionGroups;
        
        private UsersDataTable tableUsers;
        
        private ControlledListsDataTable tableControlledLists;
        
        private ControlledListValuesDataTable tableControlledListValues;
        
        private DatabaseVersionDataTable tableDatabaseVersion;
        
        private FavoriteImagesDataTable tableFavoriteImages;
        
        private FieldDataDataTable tableFieldData;
        
        private FieldDefinitionsDataTable tableFieldDefinitions;
        
        private FoldersDataTable tableFolders;
        
        private ImageAnnotationsDataTable tableImageAnnotations;
        
        private ImagesDataTable tableImages;
        
        private PropertiesDataTable tableProperties;
        
        private RecordMaintenanceDataTable tableRecordMaintenance;
        
        private RemoteCollectionAccessDataTable tableRemoteCollectionAccess;
        
        private SavedSearchesDataTable tableSavedSearches;
        
        private SlidesDataTable tableSlides;
        
        private SlideshowsDataTable tableSlideshows;
        
        private TrackUsageAgreementsDataTable tableTrackUsageAgreements;
        
        private TransactionLogDataTable tableTransactionLog;
        
        private UserGroupAttributesDataTable tableUserGroupAttributes;
        
        private UserGroupIPRangesDataTable tableUserGroupIPRanges;
        
        private UserGroupMembersDataTable tableUserGroupMembers;
        
        private UserGroupsDataTable tableUserGroups;
        
        public OrciidDataset() {
            this.InitClass();
            System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
            this.Tables.CollectionChanged += schemaChangedHandler;
            this.Relations.CollectionChanged += schemaChangedHandler;
        }
        
        protected OrciidDataset(SerializationInfo info, StreamingContext context) {
            string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
            if ((strSchema != null)) {
                DataSet ds = new DataSet();
                ds.ReadXmlSchema(new XmlTextReader(new System.IO.StringReader(strSchema)));
                if ((ds.Tables["AccessControl"] != null)) {
                    this.Tables.Add(new AccessControlDataTable(ds.Tables["AccessControl"]));
                }
                if ((ds.Tables["Announcements"] != null)) {
                    this.Tables.Add(new AnnouncementsDataTable(ds.Tables["Announcements"]));
                }
                if ((ds.Tables["Collections"] != null)) {
                    this.Tables.Add(new CollectionsDataTable(ds.Tables["Collections"]));
                }
                if ((ds.Tables["CollectionGroups"] != null)) {
                    this.Tables.Add(new CollectionGroupsDataTable(ds.Tables["CollectionGroups"]));
                }
                if ((ds.Tables["Users"] != null)) {
                    this.Tables.Add(new UsersDataTable(ds.Tables["Users"]));
                }
                if ((ds.Tables["ControlledLists"] != null)) {
                    this.Tables.Add(new ControlledListsDataTable(ds.Tables["ControlledLists"]));
                }
                if ((ds.Tables["ControlledListValues"] != null)) {
                    this.Tables.Add(new ControlledListValuesDataTable(ds.Tables["ControlledListValues"]));
                }
                if ((ds.Tables["DatabaseVersion"] != null)) {
                    this.Tables.Add(new DatabaseVersionDataTable(ds.Tables["DatabaseVersion"]));
                }
                if ((ds.Tables["FavoriteImages"] != null)) {
                    this.Tables.Add(new FavoriteImagesDataTable(ds.Tables["FavoriteImages"]));
                }
                if ((ds.Tables["FieldData"] != null)) {
                    this.Tables.Add(new FieldDataDataTable(ds.Tables["FieldData"]));
                }
                if ((ds.Tables["FieldDefinitions"] != null)) {
                    this.Tables.Add(new FieldDefinitionsDataTable(ds.Tables["FieldDefinitions"]));
                }
                if ((ds.Tables["Folders"] != null)) {
                    this.Tables.Add(new FoldersDataTable(ds.Tables["Folders"]));
                }
                if ((ds.Tables["ImageAnnotations"] != null)) {
                    this.Tables.Add(new ImageAnnotationsDataTable(ds.Tables["ImageAnnotations"]));
                }
                if ((ds.Tables["Images"] != null)) {
                    this.Tables.Add(new ImagesDataTable(ds.Tables["Images"]));
                }
                if ((ds.Tables["Properties"] != null)) {
                    this.Tables.Add(new PropertiesDataTable(ds.Tables["Properties"]));
                }
                if ((ds.Tables["RecordMaintenance"] != null)) {
                    this.Tables.Add(new RecordMaintenanceDataTable(ds.Tables["RecordMaintenance"]));
                }
                if ((ds.Tables["RemoteCollectionAccess"] != null)) {
                    this.Tables.Add(new RemoteCollectionAccessDataTable(ds.Tables["RemoteCollectionAccess"]));
                }
                if ((ds.Tables["SavedSearches"] != null)) {
                    this.Tables.Add(new SavedSearchesDataTable(ds.Tables["SavedSearches"]));
                }
                if ((ds.Tables["Slides"] != null)) {
                    this.Tables.Add(new SlidesDataTable(ds.Tables["Slides"]));
                }
                if ((ds.Tables["Slideshows"] != null)) {
                    this.Tables.Add(new SlideshowsDataTable(ds.Tables["Slideshows"]));
                }
                if ((ds.Tables["TrackUsageAgreements"] != null)) {
                    this.Tables.Add(new TrackUsageAgreementsDataTable(ds.Tables["TrackUsageAgreements"]));
                }
                if ((ds.Tables["TransactionLog"] != null)) {
                    this.Tables.Add(new TransactionLogDataTable(ds.Tables["TransactionLog"]));
                }
                if ((ds.Tables["UserGroupAttributes"] != null)) {
                    this.Tables.Add(new UserGroupAttributesDataTable(ds.Tables["UserGroupAttributes"]));
                }
                if ((ds.Tables["UserGroupIPRanges"] != null)) {
                    this.Tables.Add(new UserGroupIPRangesDataTable(ds.Tables["UserGroupIPRanges"]));
                }
                if ((ds.Tables["UserGroupMembers"] != null)) {
                    this.Tables.Add(new UserGroupMembersDataTable(ds.Tables["UserGroupMembers"]));
                }
                if ((ds.Tables["UserGroups"] != null)) {
                    this.Tables.Add(new UserGroupsDataTable(ds.Tables["UserGroups"]));
                }
                this.DataSetName = ds.DataSetName;
                this.Prefix = ds.Prefix;
                this.Namespace = ds.Namespace;
                this.Locale = ds.Locale;
                this.CaseSensitive = ds.CaseSensitive;
                this.EnforceConstraints = ds.EnforceConstraints;
                this.Merge(ds, false, System.Data.MissingSchemaAction.Add);
                this.InitVars();
            }
            else {
                this.InitClass();
            }
            this.GetSerializationData(info, context);
            System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
            this.Tables.CollectionChanged += schemaChangedHandler;
            this.Relations.CollectionChanged += schemaChangedHandler;
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public AccessControlDataTable AccessControl {
            get {
                return this.tableAccessControl;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public AnnouncementsDataTable Announcements {
            get {
                return this.tableAnnouncements;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public CollectionsDataTable Collections {
            get {
                return this.tableCollections;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public CollectionGroupsDataTable CollectionGroups {
            get {
                return this.tableCollectionGroups;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public UsersDataTable Users {
            get {
                return this.tableUsers;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ControlledListsDataTable ControlledLists {
            get {
                return this.tableControlledLists;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ControlledListValuesDataTable ControlledListValues {
            get {
                return this.tableControlledListValues;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public DatabaseVersionDataTable DatabaseVersion {
            get {
                return this.tableDatabaseVersion;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public FavoriteImagesDataTable FavoriteImages {
            get {
                return this.tableFavoriteImages;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public FieldDataDataTable FieldData {
            get {
                return this.tableFieldData;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public FieldDefinitionsDataTable FieldDefinitions {
            get {
                return this.tableFieldDefinitions;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public FoldersDataTable Folders {
            get {
                return this.tableFolders;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ImageAnnotationsDataTable ImageAnnotations {
            get {
                return this.tableImageAnnotations;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ImagesDataTable Images {
            get {
                return this.tableImages;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public PropertiesDataTable Properties {
            get {
                return this.tableProperties;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public RecordMaintenanceDataTable RecordMaintenance {
            get {
                return this.tableRecordMaintenance;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public RemoteCollectionAccessDataTable RemoteCollectionAccess {
            get {
                return this.tableRemoteCollectionAccess;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public SavedSearchesDataTable SavedSearches {
            get {
                return this.tableSavedSearches;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public SlidesDataTable Slides {
            get {
                return this.tableSlides;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public SlideshowsDataTable Slideshows {
            get {
                return this.tableSlideshows;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public TrackUsageAgreementsDataTable TrackUsageAgreements {
            get {
                return this.tableTrackUsageAgreements;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public TransactionLogDataTable TransactionLog {
            get {
                return this.tableTransactionLog;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public UserGroupAttributesDataTable UserGroupAttributes {
            get {
                return this.tableUserGroupAttributes;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public UserGroupIPRangesDataTable UserGroupIPRanges {
            get {
                return this.tableUserGroupIPRanges;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public UserGroupMembersDataTable UserGroupMembers {
            get {
                return this.tableUserGroupMembers;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public UserGroupsDataTable UserGroups {
            get {
                return this.tableUserGroups;
            }
        }
        
        public override DataSet Clone() {
            OrciidDataset cln = ((OrciidDataset)(base.Clone()));
            cln.InitVars();
            return cln;
        }
        
        protected override bool ShouldSerializeTables() {
            return false;
        }
        
        protected override bool ShouldSerializeRelations() {
            return false;
        }
        
        protected override void ReadXmlSerializable(XmlReader reader) {
            this.Reset();
            DataSet ds = new DataSet();
            ds.ReadXml(reader);
            if ((ds.Tables["AccessControl"] != null)) {
                this.Tables.Add(new AccessControlDataTable(ds.Tables["AccessControl"]));
            }
            if ((ds.Tables["Announcements"] != null)) {
                this.Tables.Add(new AnnouncementsDataTable(ds.Tables["Announcements"]));
            }
            if ((ds.Tables["Collections"] != null)) {
                this.Tables.Add(new CollectionsDataTable(ds.Tables["Collections"]));
            }
            if ((ds.Tables["CollectionGroups"] != null)) {
                this.Tables.Add(new CollectionGroupsDataTable(ds.Tables["CollectionGroups"]));
            }
            if ((ds.Tables["Users"] != null)) {
                this.Tables.Add(new UsersDataTable(ds.Tables["Users"]));
            }
            if ((ds.Tables["ControlledLists"] != null)) {
                this.Tables.Add(new ControlledListsDataTable(ds.Tables["ControlledLists"]));
            }
            if ((ds.Tables["ControlledListValues"] != null)) {
                this.Tables.Add(new ControlledListValuesDataTable(ds.Tables["ControlledListValues"]));
            }
            if ((ds.Tables["DatabaseVersion"] != null)) {
                this.Tables.Add(new DatabaseVersionDataTable(ds.Tables["DatabaseVersion"]));
            }
            if ((ds.Tables["FavoriteImages"] != null)) {
                this.Tables.Add(new FavoriteImagesDataTable(ds.Tables["FavoriteImages"]));
            }
            if ((ds.Tables["FieldData"] != null)) {
                this.Tables.Add(new FieldDataDataTable(ds.Tables["FieldData"]));
            }
            if ((ds.Tables["FieldDefinitions"] != null)) {
                this.Tables.Add(new FieldDefinitionsDataTable(ds.Tables["FieldDefinitions"]));
            }
            if ((ds.Tables["Folders"] != null)) {
                this.Tables.Add(new FoldersDataTable(ds.Tables["Folders"]));
            }
            if ((ds.Tables["ImageAnnotations"] != null)) {
                this.Tables.Add(new ImageAnnotationsDataTable(ds.Tables["ImageAnnotations"]));
            }
            if ((ds.Tables["Images"] != null)) {
                this.Tables.Add(new ImagesDataTable(ds.Tables["Images"]));
            }
            if ((ds.Tables["Properties"] != null)) {
                this.Tables.Add(new PropertiesDataTable(ds.Tables["Properties"]));
            }
            if ((ds.Tables["RecordMaintenance"] != null)) {
                this.Tables.Add(new RecordMaintenanceDataTable(ds.Tables["RecordMaintenance"]));
            }
            if ((ds.Tables["RemoteCollectionAccess"] != null)) {
                this.Tables.Add(new RemoteCollectionAccessDataTable(ds.Tables["RemoteCollectionAccess"]));
            }
            if ((ds.Tables["SavedSearches"] != null)) {
                this.Tables.Add(new SavedSearchesDataTable(ds.Tables["SavedSearches"]));
            }
            if ((ds.Tables["Slides"] != null)) {
                this.Tables.Add(new SlidesDataTable(ds.Tables["Slides"]));
            }
            if ((ds.Tables["Slideshows"] != null)) {
                this.Tables.Add(new SlideshowsDataTable(ds.Tables["Slideshows"]));
            }
            if ((ds.Tables["TrackUsageAgreements"] != null)) {
                this.Tables.Add(new TrackUsageAgreementsDataTable(ds.Tables["TrackUsageAgreements"]));
            }
            if ((ds.Tables["TransactionLog"] != null)) {
                this.Tables.Add(new TransactionLogDataTable(ds.Tables["TransactionLog"]));
            }
            if ((ds.Tables["UserGroupAttributes"] != null)) {
                this.Tables.Add(new UserGroupAttributesDataTable(ds.Tables["UserGroupAttributes"]));
            }
            if ((ds.Tables["UserGroupIPRanges"] != null)) {
                this.Tables.Add(new UserGroupIPRangesDataTable(ds.Tables["UserGroupIPRanges"]));
            }
            if ((ds.Tables["UserGroupMembers"] != null)) {
                this.Tables.Add(new UserGroupMembersDataTable(ds.Tables["UserGroupMembers"]));
            }
            if ((ds.Tables["UserGroups"] != null)) {
                this.Tables.Add(new UserGroupsDataTable(ds.Tables["UserGroups"]));
            }
            this.DataSetName = ds.DataSetName;
            this.Prefix = ds.Prefix;
            this.Namespace = ds.Namespace;
            this.Locale = ds.Locale;
            this.CaseSensitive = ds.CaseSensitive;
            this.EnforceConstraints = ds.EnforceConstraints;
            this.Merge(ds, false, System.Data.MissingSchemaAction.Add);
            this.InitVars();
        }
        
        protected override System.Xml.Schema.XmlSchema GetSchemaSerializable() {
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            this.WriteXmlSchema(new XmlTextWriter(stream, null));
            stream.Position = 0;
            return System.Xml.Schema.XmlSchema.Read(new XmlTextReader(stream), null);
        }
        
        internal void InitVars() {
            this.tableAccessControl = ((AccessControlDataTable)(this.Tables["AccessControl"]));
            if ((this.tableAccessControl != null)) {
                this.tableAccessControl.InitVars();
            }
            this.tableAnnouncements = ((AnnouncementsDataTable)(this.Tables["Announcements"]));
            if ((this.tableAnnouncements != null)) {
                this.tableAnnouncements.InitVars();
            }
            this.tableCollections = ((CollectionsDataTable)(this.Tables["Collections"]));
            if ((this.tableCollections != null)) {
                this.tableCollections.InitVars();
            }
            this.tableCollectionGroups = ((CollectionGroupsDataTable)(this.Tables["CollectionGroups"]));
            if ((this.tableCollectionGroups != null)) {
                this.tableCollectionGroups.InitVars();
            }
            this.tableUsers = ((UsersDataTable)(this.Tables["Users"]));
            if ((this.tableUsers != null)) {
                this.tableUsers.InitVars();
            }
            this.tableControlledLists = ((ControlledListsDataTable)(this.Tables["ControlledLists"]));
            if ((this.tableControlledLists != null)) {
                this.tableControlledLists.InitVars();
            }
            this.tableControlledListValues = ((ControlledListValuesDataTable)(this.Tables["ControlledListValues"]));
            if ((this.tableControlledListValues != null)) {
                this.tableControlledListValues.InitVars();
            }
            this.tableDatabaseVersion = ((DatabaseVersionDataTable)(this.Tables["DatabaseVersion"]));
            if ((this.tableDatabaseVersion != null)) {
                this.tableDatabaseVersion.InitVars();
            }
            this.tableFavoriteImages = ((FavoriteImagesDataTable)(this.Tables["FavoriteImages"]));
            if ((this.tableFavoriteImages != null)) {
                this.tableFavoriteImages.InitVars();
            }
            this.tableFieldData = ((FieldDataDataTable)(this.Tables["FieldData"]));
            if ((this.tableFieldData != null)) {
                this.tableFieldData.InitVars();
            }
            this.tableFieldDefinitions = ((FieldDefinitionsDataTable)(this.Tables["FieldDefinitions"]));
            if ((this.tableFieldDefinitions != null)) {
                this.tableFieldDefinitions.InitVars();
            }
            this.tableFolders = ((FoldersDataTable)(this.Tables["Folders"]));
            if ((this.tableFolders != null)) {
                this.tableFolders.InitVars();
            }
            this.tableImageAnnotations = ((ImageAnnotationsDataTable)(this.Tables["ImageAnnotations"]));
            if ((this.tableImageAnnotations != null)) {
                this.tableImageAnnotations.InitVars();
            }
            this.tableImages = ((ImagesDataTable)(this.Tables["Images"]));
            if ((this.tableImages != null)) {
                this.tableImages.InitVars();
            }
            this.tableProperties = ((PropertiesDataTable)(this.Tables["Properties"]));
            if ((this.tableProperties != null)) {
                this.tableProperties.InitVars();
            }
            this.tableRecordMaintenance = ((RecordMaintenanceDataTable)(this.Tables["RecordMaintenance"]));
            if ((this.tableRecordMaintenance != null)) {
                this.tableRecordMaintenance.InitVars();
            }
            this.tableRemoteCollectionAccess = ((RemoteCollectionAccessDataTable)(this.Tables["RemoteCollectionAccess"]));
            if ((this.tableRemoteCollectionAccess != null)) {
                this.tableRemoteCollectionAccess.InitVars();
            }
            this.tableSavedSearches = ((SavedSearchesDataTable)(this.Tables["SavedSearches"]));
            if ((this.tableSavedSearches != null)) {
                this.tableSavedSearches.InitVars();
            }
            this.tableSlides = ((SlidesDataTable)(this.Tables["Slides"]));
            if ((this.tableSlides != null)) {
                this.tableSlides.InitVars();
            }
            this.tableSlideshows = ((SlideshowsDataTable)(this.Tables["Slideshows"]));
            if ((this.tableSlideshows != null)) {
                this.tableSlideshows.InitVars();
            }
            this.tableTrackUsageAgreements = ((TrackUsageAgreementsDataTable)(this.Tables["TrackUsageAgreements"]));
            if ((this.tableTrackUsageAgreements != null)) {
                this.tableTrackUsageAgreements.InitVars();
            }
            this.tableTransactionLog = ((TransactionLogDataTable)(this.Tables["TransactionLog"]));
            if ((this.tableTransactionLog != null)) {
                this.tableTransactionLog.InitVars();
            }
            this.tableUserGroupAttributes = ((UserGroupAttributesDataTable)(this.Tables["UserGroupAttributes"]));
            if ((this.tableUserGroupAttributes != null)) {
                this.tableUserGroupAttributes.InitVars();
            }
            this.tableUserGroupIPRanges = ((UserGroupIPRangesDataTable)(this.Tables["UserGroupIPRanges"]));
            if ((this.tableUserGroupIPRanges != null)) {
                this.tableUserGroupIPRanges.InitVars();
            }
            this.tableUserGroupMembers = ((UserGroupMembersDataTable)(this.Tables["UserGroupMembers"]));
            if ((this.tableUserGroupMembers != null)) {
                this.tableUserGroupMembers.InitVars();
            }
            this.tableUserGroups = ((UserGroupsDataTable)(this.Tables["UserGroups"]));
            if ((this.tableUserGroups != null)) {
                this.tableUserGroups.InitVars();
            }
        }
        
        private void InitClass() {
            this.DataSetName = "OrciidDataset";
            this.Prefix = "";
            this.Namespace = "http://tempuri.org/OrciidDataset.xsd";
            this.Locale = new System.Globalization.CultureInfo("en-US");
            this.CaseSensitive = false;
            this.EnforceConstraints = true;
            this.tableAccessControl = new AccessControlDataTable();
            this.Tables.Add(this.tableAccessControl);
            this.tableAnnouncements = new AnnouncementsDataTable();
            this.Tables.Add(this.tableAnnouncements);
            this.tableCollections = new CollectionsDataTable();
            this.Tables.Add(this.tableCollections);
            this.tableCollectionGroups = new CollectionGroupsDataTable();
            this.Tables.Add(this.tableCollectionGroups);
            this.tableUsers = new UsersDataTable();
            this.Tables.Add(this.tableUsers);
            this.tableControlledLists = new ControlledListsDataTable();
            this.Tables.Add(this.tableControlledLists);
            this.tableControlledListValues = new ControlledListValuesDataTable();
            this.Tables.Add(this.tableControlledListValues);
            this.tableDatabaseVersion = new DatabaseVersionDataTable();
            this.Tables.Add(this.tableDatabaseVersion);
            this.tableFavoriteImages = new FavoriteImagesDataTable();
            this.Tables.Add(this.tableFavoriteImages);
            this.tableFieldData = new FieldDataDataTable();
            this.Tables.Add(this.tableFieldData);
            this.tableFieldDefinitions = new FieldDefinitionsDataTable();
            this.Tables.Add(this.tableFieldDefinitions);
            this.tableFolders = new FoldersDataTable();
            this.Tables.Add(this.tableFolders);
            this.tableImageAnnotations = new ImageAnnotationsDataTable();
            this.Tables.Add(this.tableImageAnnotations);
            this.tableImages = new ImagesDataTable();
            this.Tables.Add(this.tableImages);
            this.tableProperties = new PropertiesDataTable();
            this.Tables.Add(this.tableProperties);
            this.tableRecordMaintenance = new RecordMaintenanceDataTable();
            this.Tables.Add(this.tableRecordMaintenance);
            this.tableRemoteCollectionAccess = new RemoteCollectionAccessDataTable();
            this.Tables.Add(this.tableRemoteCollectionAccess);
            this.tableSavedSearches = new SavedSearchesDataTable();
            this.Tables.Add(this.tableSavedSearches);
            this.tableSlides = new SlidesDataTable();
            this.Tables.Add(this.tableSlides);
            this.tableSlideshows = new SlideshowsDataTable();
            this.Tables.Add(this.tableSlideshows);
            this.tableTrackUsageAgreements = new TrackUsageAgreementsDataTable();
            this.Tables.Add(this.tableTrackUsageAgreements);
            this.tableTransactionLog = new TransactionLogDataTable();
            this.Tables.Add(this.tableTransactionLog);
            this.tableUserGroupAttributes = new UserGroupAttributesDataTable();
            this.Tables.Add(this.tableUserGroupAttributes);
            this.tableUserGroupIPRanges = new UserGroupIPRangesDataTable();
            this.Tables.Add(this.tableUserGroupIPRanges);
            this.tableUserGroupMembers = new UserGroupMembersDataTable();
            this.Tables.Add(this.tableUserGroupMembers);
            this.tableUserGroups = new UserGroupsDataTable();
            this.Tables.Add(this.tableUserGroups);
        }
        
        private bool ShouldSerializeAccessControl() {
            return false;
        }
        
        private bool ShouldSerializeAnnouncements() {
            return false;
        }
        
        private bool ShouldSerializeCollections() {
            return false;
        }
        
        private bool ShouldSerializeCollectionGroups() {
            return false;
        }
        
        private bool ShouldSerializeUsers() {
            return false;
        }
        
        private bool ShouldSerializeControlledLists() {
            return false;
        }
        
        private bool ShouldSerializeControlledListValues() {
            return false;
        }
        
        private bool ShouldSerializeDatabaseVersion() {
            return false;
        }
        
        private bool ShouldSerializeFavoriteImages() {
            return false;
        }
        
        private bool ShouldSerializeFieldData() {
            return false;
        }
        
        private bool ShouldSerializeFieldDefinitions() {
            return false;
        }
        
        private bool ShouldSerializeFolders() {
            return false;
        }
        
        private bool ShouldSerializeImageAnnotations() {
            return false;
        }
        
        private bool ShouldSerializeImages() {
            return false;
        }
        
        private bool ShouldSerializeProperties() {
            return false;
        }
        
        private bool ShouldSerializeRecordMaintenance() {
            return false;
        }
        
        private bool ShouldSerializeRemoteCollectionAccess() {
            return false;
        }
        
        private bool ShouldSerializeSavedSearches() {
            return false;
        }
        
        private bool ShouldSerializeSlides() {
            return false;
        }
        
        private bool ShouldSerializeSlideshows() {
            return false;
        }
        
        private bool ShouldSerializeTrackUsageAgreements() {
            return false;
        }
        
        private bool ShouldSerializeTransactionLog() {
            return false;
        }
        
        private bool ShouldSerializeUserGroupAttributes() {
            return false;
        }
        
        private bool ShouldSerializeUserGroupIPRanges() {
            return false;
        }
        
        private bool ShouldSerializeUserGroupMembers() {
            return false;
        }
        
        private bool ShouldSerializeUserGroups() {
            return false;
        }
        
        private void SchemaChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e) {
            if ((e.Action == System.ComponentModel.CollectionChangeAction.Remove)) {
                this.InitVars();
            }
        }
        
        public delegate void AccessControlRowChangeEventHandler(object sender, AccessControlRowChangeEvent e);
        
        public delegate void AnnouncementsRowChangeEventHandler(object sender, AnnouncementsRowChangeEvent e);
        
        public delegate void CollectionsRowChangeEventHandler(object sender, CollectionsRowChangeEvent e);
        
        public delegate void CollectionGroupsRowChangeEventHandler(object sender, CollectionGroupsRowChangeEvent e);
        
        public delegate void UsersRowChangeEventHandler(object sender, UsersRowChangeEvent e);
        
        public delegate void ControlledListsRowChangeEventHandler(object sender, ControlledListsRowChangeEvent e);
        
        public delegate void ControlledListValuesRowChangeEventHandler(object sender, ControlledListValuesRowChangeEvent e);
        
        public delegate void DatabaseVersionRowChangeEventHandler(object sender, DatabaseVersionRowChangeEvent e);
        
        public delegate void FavoriteImagesRowChangeEventHandler(object sender, FavoriteImagesRowChangeEvent e);
        
        public delegate void FieldDataRowChangeEventHandler(object sender, FieldDataRowChangeEvent e);
        
        public delegate void FieldDefinitionsRowChangeEventHandler(object sender, FieldDefinitionsRowChangeEvent e);
        
        public delegate void FoldersRowChangeEventHandler(object sender, FoldersRowChangeEvent e);
        
        public delegate void ImageAnnotationsRowChangeEventHandler(object sender, ImageAnnotationsRowChangeEvent e);
        
        public delegate void ImagesRowChangeEventHandler(object sender, ImagesRowChangeEvent e);
        
        public delegate void PropertiesRowChangeEventHandler(object sender, PropertiesRowChangeEvent e);
        
        public delegate void RecordMaintenanceRowChangeEventHandler(object sender, RecordMaintenanceRowChangeEvent e);
        
        public delegate void RemoteCollectionAccessRowChangeEventHandler(object sender, RemoteCollectionAccessRowChangeEvent e);
        
        public delegate void SavedSearchesRowChangeEventHandler(object sender, SavedSearchesRowChangeEvent e);
        
        public delegate void SlidesRowChangeEventHandler(object sender, SlidesRowChangeEvent e);
        
        public delegate void SlideshowsRowChangeEventHandler(object sender, SlideshowsRowChangeEvent e);
        
        public delegate void TrackUsageAgreementsRowChangeEventHandler(object sender, TrackUsageAgreementsRowChangeEvent e);
        
        public delegate void TransactionLogRowChangeEventHandler(object sender, TransactionLogRowChangeEvent e);
        
        public delegate void UserGroupAttributesRowChangeEventHandler(object sender, UserGroupAttributesRowChangeEvent e);
        
        public delegate void UserGroupIPRangesRowChangeEventHandler(object sender, UserGroupIPRangesRowChangeEvent e);
        
        public delegate void UserGroupMembersRowChangeEventHandler(object sender, UserGroupMembersRowChangeEvent e);
        
        public delegate void UserGroupsRowChangeEventHandler(object sender, UserGroupsRowChangeEvent e);
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class AccessControlDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnObjectType;
            
            private DataColumn columnObjectID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnGroupID;
            
            private DataColumn columnGrantPriv;
            
            private DataColumn columnDenyPriv;
            
            internal AccessControlDataTable() : 
                    base("AccessControl") {
                this.InitClass();
            }
            
            internal AccessControlDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn ObjectTypeColumn {
                get {
                    return this.columnObjectType;
                }
            }
            
            internal DataColumn ObjectIDColumn {
                get {
                    return this.columnObjectID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn GroupIDColumn {
                get {
                    return this.columnGroupID;
                }
            }
            
            internal DataColumn GrantPrivColumn {
                get {
                    return this.columnGrantPriv;
                }
            }
            
            internal DataColumn DenyPrivColumn {
                get {
                    return this.columnDenyPriv;
                }
            }
            
            public AccessControlRow this[int index] {
                get {
                    return ((AccessControlRow)(this.Rows[index]));
                }
            }
            
            public event AccessControlRowChangeEventHandler AccessControlRowChanged;
            
            public event AccessControlRowChangeEventHandler AccessControlRowChanging;
            
            public event AccessControlRowChangeEventHandler AccessControlRowDeleted;
            
            public event AccessControlRowChangeEventHandler AccessControlRowDeleting;
            
            public void AddAccessControlRow(AccessControlRow row) {
                this.Rows.Add(row);
            }
            
            public AccessControlRow AddAccessControlRow(string ObjectType, int ObjectID, int UserID, int GroupID, int GrantPriv, int DenyPriv) {
                AccessControlRow rowAccessControlRow = ((AccessControlRow)(this.NewRow()));
                rowAccessControlRow.ItemArray = new object[] {
                        null,
                        ObjectType,
                        ObjectID,
                        UserID,
                        GroupID,
                        GrantPriv,
                        DenyPriv};
                this.Rows.Add(rowAccessControlRow);
                return rowAccessControlRow;
            }
            
            public AccessControlRow FindByID(int ID) {
                return ((AccessControlRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                AccessControlDataTable cln = ((AccessControlDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new AccessControlDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnObjectType = this.Columns["ObjectType"];
                this.columnObjectID = this.Columns["ObjectID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnGroupID = this.Columns["GroupID"];
                this.columnGrantPriv = this.Columns["GrantPriv"];
                this.columnDenyPriv = this.Columns["DenyPriv"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnObjectType = new DataColumn("ObjectType", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnObjectType);
                this.columnObjectID = new DataColumn("ObjectID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnObjectID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnGroupID = new DataColumn("GroupID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnGroupID);
                this.columnGrantPriv = new DataColumn("GrantPriv", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnGrantPriv);
                this.columnDenyPriv = new DataColumn("DenyPriv", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDenyPriv);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey1", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
            }
            
            public AccessControlRow NewAccessControlRow() {
                return ((AccessControlRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new AccessControlRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(AccessControlRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.AccessControlRowChanged != null)) {
                    this.AccessControlRowChanged(this, new AccessControlRowChangeEvent(((AccessControlRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.AccessControlRowChanging != null)) {
                    this.AccessControlRowChanging(this, new AccessControlRowChangeEvent(((AccessControlRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.AccessControlRowDeleted != null)) {
                    this.AccessControlRowDeleted(this, new AccessControlRowChangeEvent(((AccessControlRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.AccessControlRowDeleting != null)) {
                    this.AccessControlRowDeleting(this, new AccessControlRowChangeEvent(((AccessControlRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveAccessControlRow(AccessControlRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class AccessControlRow : DataRow {
            
            private AccessControlDataTable tableAccessControl;
            
            internal AccessControlRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableAccessControl = ((AccessControlDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableAccessControl.IDColumn]));
                }
                set {
                    this[this.tableAccessControl.IDColumn] = value;
                }
            }
            
            public string ObjectType {
                get {
                    try {
                        return ((string)(this[this.tableAccessControl.ObjectTypeColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAccessControl.ObjectTypeColumn] = value;
                }
            }
            
            public int ObjectID {
                get {
                    try {
                        return ((int)(this[this.tableAccessControl.ObjectIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAccessControl.ObjectIDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    try {
                        return ((int)(this[this.tableAccessControl.UserIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAccessControl.UserIDColumn] = value;
                }
            }
            
            public int GroupID {
                get {
                    try {
                        return ((int)(this[this.tableAccessControl.GroupIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAccessControl.GroupIDColumn] = value;
                }
            }
            
            public int GrantPriv {
                get {
                    try {
                        return ((int)(this[this.tableAccessControl.GrantPrivColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAccessControl.GrantPrivColumn] = value;
                }
            }
            
            public int DenyPriv {
                get {
                    try {
                        return ((int)(this[this.tableAccessControl.DenyPrivColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAccessControl.DenyPrivColumn] = value;
                }
            }
            
            public bool IsObjectTypeNull() {
                return this.IsNull(this.tableAccessControl.ObjectTypeColumn);
            }
            
            public void SetObjectTypeNull() {
                this[this.tableAccessControl.ObjectTypeColumn] = System.Convert.DBNull;
            }
            
            public bool IsObjectIDNull() {
                return this.IsNull(this.tableAccessControl.ObjectIDColumn);
            }
            
            public void SetObjectIDNull() {
                this[this.tableAccessControl.ObjectIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsUserIDNull() {
                return this.IsNull(this.tableAccessControl.UserIDColumn);
            }
            
            public void SetUserIDNull() {
                this[this.tableAccessControl.UserIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsGroupIDNull() {
                return this.IsNull(this.tableAccessControl.GroupIDColumn);
            }
            
            public void SetGroupIDNull() {
                this[this.tableAccessControl.GroupIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsGrantPrivNull() {
                return this.IsNull(this.tableAccessControl.GrantPrivColumn);
            }
            
            public void SetGrantPrivNull() {
                this[this.tableAccessControl.GrantPrivColumn] = System.Convert.DBNull;
            }
            
            public bool IsDenyPrivNull() {
                return this.IsNull(this.tableAccessControl.DenyPrivColumn);
            }
            
            public void SetDenyPrivNull() {
                this[this.tableAccessControl.DenyPrivColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class AccessControlRowChangeEvent : EventArgs {
            
            private AccessControlRow eventRow;
            
            private DataRowAction eventAction;
            
            public AccessControlRowChangeEvent(AccessControlRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public AccessControlRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class AnnouncementsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnPosted;
            
            private DataColumn columnTitle;
            
            private DataColumn columnText;
            
            private DataColumn columnLink;
            
            private DataColumn columnLinkTitle;
            
            internal AnnouncementsDataTable() : 
                    base("Announcements") {
                this.InitClass();
            }
            
            internal AnnouncementsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn PostedColumn {
                get {
                    return this.columnPosted;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn TextColumn {
                get {
                    return this.columnText;
                }
            }
            
            internal DataColumn LinkColumn {
                get {
                    return this.columnLink;
                }
            }
            
            internal DataColumn LinkTitleColumn {
                get {
                    return this.columnLinkTitle;
                }
            }
            
            public AnnouncementsRow this[int index] {
                get {
                    return ((AnnouncementsRow)(this.Rows[index]));
                }
            }
            
            public event AnnouncementsRowChangeEventHandler AnnouncementsRowChanged;
            
            public event AnnouncementsRowChangeEventHandler AnnouncementsRowChanging;
            
            public event AnnouncementsRowChangeEventHandler AnnouncementsRowDeleted;
            
            public event AnnouncementsRowChangeEventHandler AnnouncementsRowDeleting;
            
            public void AddAnnouncementsRow(AnnouncementsRow row) {
                this.Rows.Add(row);
            }
            
            public AnnouncementsRow AddAnnouncementsRow(int UserID, System.DateTime Posted, string Title, string Text, string Link, string LinkTitle) {
                AnnouncementsRow rowAnnouncementsRow = ((AnnouncementsRow)(this.NewRow()));
                rowAnnouncementsRow.ItemArray = new object[] {
                        null,
                        UserID,
                        Posted,
                        Title,
                        Text,
                        Link,
                        LinkTitle};
                this.Rows.Add(rowAnnouncementsRow);
                return rowAnnouncementsRow;
            }
            
            public AnnouncementsRow FindByID(int ID) {
                return ((AnnouncementsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                AnnouncementsDataTable cln = ((AnnouncementsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new AnnouncementsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnPosted = this.Columns["Posted"];
                this.columnTitle = this.Columns["Title"];
                this.columnText = this.Columns["Text"];
                this.columnLink = this.Columns["Link"];
                this.columnLinkTitle = this.Columns["LinkTitle"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnPosted = new DataColumn("Posted", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnPosted);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnText = new DataColumn("Text", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnText);
                this.columnLink = new DataColumn("Link", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLink);
                this.columnLinkTitle = new DataColumn("LinkTitle", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLinkTitle);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey2", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnUserID.AllowDBNull = false;
                this.columnPosted.AllowDBNull = false;
                this.columnTitle.AllowDBNull = false;
                this.columnText.AllowDBNull = false;
            }
            
            public AnnouncementsRow NewAnnouncementsRow() {
                return ((AnnouncementsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new AnnouncementsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(AnnouncementsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.AnnouncementsRowChanged != null)) {
                    this.AnnouncementsRowChanged(this, new AnnouncementsRowChangeEvent(((AnnouncementsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.AnnouncementsRowChanging != null)) {
                    this.AnnouncementsRowChanging(this, new AnnouncementsRowChangeEvent(((AnnouncementsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.AnnouncementsRowDeleted != null)) {
                    this.AnnouncementsRowDeleted(this, new AnnouncementsRowChangeEvent(((AnnouncementsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.AnnouncementsRowDeleting != null)) {
                    this.AnnouncementsRowDeleting(this, new AnnouncementsRowChangeEvent(((AnnouncementsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveAnnouncementsRow(AnnouncementsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class AnnouncementsRow : DataRow {
            
            private AnnouncementsDataTable tableAnnouncements;
            
            internal AnnouncementsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableAnnouncements = ((AnnouncementsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableAnnouncements.IDColumn]));
                }
                set {
                    this[this.tableAnnouncements.IDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableAnnouncements.UserIDColumn]));
                }
                set {
                    this[this.tableAnnouncements.UserIDColumn] = value;
                }
            }
            
            public System.DateTime Posted {
                get {
                    return ((System.DateTime)(this[this.tableAnnouncements.PostedColumn]));
                }
                set {
                    this[this.tableAnnouncements.PostedColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableAnnouncements.TitleColumn]));
                }
                set {
                    this[this.tableAnnouncements.TitleColumn] = value;
                }
            }
            
            public string Text {
                get {
                    return ((string)(this[this.tableAnnouncements.TextColumn]));
                }
                set {
                    this[this.tableAnnouncements.TextColumn] = value;
                }
            }
            
            public string Link {
                get {
                    try {
                        return ((string)(this[this.tableAnnouncements.LinkColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAnnouncements.LinkColumn] = value;
                }
            }
            
            public string LinkTitle {
                get {
                    try {
                        return ((string)(this[this.tableAnnouncements.LinkTitleColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableAnnouncements.LinkTitleColumn] = value;
                }
            }
            
            public bool IsLinkNull() {
                return this.IsNull(this.tableAnnouncements.LinkColumn);
            }
            
            public void SetLinkNull() {
                this[this.tableAnnouncements.LinkColumn] = System.Convert.DBNull;
            }
            
            public bool IsLinkTitleNull() {
                return this.IsNull(this.tableAnnouncements.LinkTitleColumn);
            }
            
            public void SetLinkTitleNull() {
                this[this.tableAnnouncements.LinkTitleColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class AnnouncementsRowChangeEvent : EventArgs {
            
            private AnnouncementsRow eventRow;
            
            private DataRowAction eventAction;
            
            public AnnouncementsRowChangeEvent(AnnouncementsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public AnnouncementsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class CollectionsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnTitle;
            
            private DataColumn columnDescription;
            
            private DataColumn columnResourcePath;
            
            private DataColumn columnType;
            
            private DataColumn columnUsageAgreement;
            
            private DataColumn columnFullImageHeight;
            
            private DataColumn columnFullImageWidth;
            
            private DataColumn columnFullImageQuality;
            
            private DataColumn columnFullImageFixedSize;
            
            private DataColumn columnMediumImageHeight;
            
            private DataColumn columnMediumImageWidth;
            
            private DataColumn columnMediumImageQuality;
            
            private DataColumn columnMediumImageFixedSize;
            
            private DataColumn columnThumbImageHeight;
            
            private DataColumn columnThumbImageWidth;
            
            private DataColumn columnThumbImageQuality;
            
            private DataColumn columnThumbImageFixedSize;
            
            private DataColumn columnGroupID;
            
            private DataColumn columnCacheRestriction;
            
            private DataColumn columnRemoteUrl;
            
            private DataColumn columnFullImageBGColor;
            
            private DataColumn columnMediumImageBGColor;
            
            private DataColumn columnThumbImageBGColor;
            
            internal CollectionsDataTable() : 
                    base("Collections") {
                this.InitClass();
            }
            
            internal CollectionsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn DescriptionColumn {
                get {
                    return this.columnDescription;
                }
            }
            
            internal DataColumn ResourcePathColumn {
                get {
                    return this.columnResourcePath;
                }
            }
            
            internal DataColumn TypeColumn {
                get {
                    return this.columnType;
                }
            }
            
            internal DataColumn UsageAgreementColumn {
                get {
                    return this.columnUsageAgreement;
                }
            }
            
            internal DataColumn FullImageHeightColumn {
                get {
                    return this.columnFullImageHeight;
                }
            }
            
            internal DataColumn FullImageWidthColumn {
                get {
                    return this.columnFullImageWidth;
                }
            }
            
            internal DataColumn FullImageQualityColumn {
                get {
                    return this.columnFullImageQuality;
                }
            }
            
            internal DataColumn FullImageFixedSizeColumn {
                get {
                    return this.columnFullImageFixedSize;
                }
            }
            
            internal DataColumn MediumImageHeightColumn {
                get {
                    return this.columnMediumImageHeight;
                }
            }
            
            internal DataColumn MediumImageWidthColumn {
                get {
                    return this.columnMediumImageWidth;
                }
            }
            
            internal DataColumn MediumImageQualityColumn {
                get {
                    return this.columnMediumImageQuality;
                }
            }
            
            internal DataColumn MediumImageFixedSizeColumn {
                get {
                    return this.columnMediumImageFixedSize;
                }
            }
            
            internal DataColumn ThumbImageHeightColumn {
                get {
                    return this.columnThumbImageHeight;
                }
            }
            
            internal DataColumn ThumbImageWidthColumn {
                get {
                    return this.columnThumbImageWidth;
                }
            }
            
            internal DataColumn ThumbImageQualityColumn {
                get {
                    return this.columnThumbImageQuality;
                }
            }
            
            internal DataColumn ThumbImageFixedSizeColumn {
                get {
                    return this.columnThumbImageFixedSize;
                }
            }
            
            internal DataColumn GroupIDColumn {
                get {
                    return this.columnGroupID;
                }
            }
            
            internal DataColumn CacheRestrictionColumn {
                get {
                    return this.columnCacheRestriction;
                }
            }
            
            internal DataColumn RemoteUrlColumn {
                get {
                    return this.columnRemoteUrl;
                }
            }
            
            internal DataColumn FullImageBGColorColumn {
                get {
                    return this.columnFullImageBGColor;
                }
            }
            
            internal DataColumn MediumImageBGColorColumn {
                get {
                    return this.columnMediumImageBGColor;
                }
            }
            
            internal DataColumn ThumbImageBGColorColumn {
                get {
                    return this.columnThumbImageBGColor;
                }
            }
            
            public CollectionsRow this[int index] {
                get {
                    return ((CollectionsRow)(this.Rows[index]));
                }
            }
            
            public event CollectionsRowChangeEventHandler CollectionsRowChanged;
            
            public event CollectionsRowChangeEventHandler CollectionsRowChanging;
            
            public event CollectionsRowChangeEventHandler CollectionsRowDeleted;
            
            public event CollectionsRowChangeEventHandler CollectionsRowDeleting;
            
            public void AddCollectionsRow(CollectionsRow row) {
                this.Rows.Add(row);
            }
            
            public CollectionsRow AddCollectionsRow(
                        string Title, 
                        string Description, 
                        string ResourcePath, 
                        string Type, 
                        string UsageAgreement, 
                        int FullImageHeight, 
                        int FullImageWidth, 
                        int FullImageQuality, 
                        bool FullImageFixedSize, 
                        int MediumImageHeight, 
                        int MediumImageWidth, 
                        int MediumImageQuality, 
                        bool MediumImageFixedSize, 
                        int ThumbImageHeight, 
                        int ThumbImageWidth, 
                        int ThumbImageQuality, 
                        bool ThumbImageFixedSize, 
                        int GroupID, 
                        int CacheRestriction, 
                        string RemoteUrl, 
                        int FullImageBGColor, 
                        int MediumImageBGColor, 
                        int ThumbImageBGColor) {
                CollectionsRow rowCollectionsRow = ((CollectionsRow)(this.NewRow()));
                rowCollectionsRow.ItemArray = new object[] {
                        null,
                        Title,
                        Description,
                        ResourcePath,
                        Type,
                        UsageAgreement,
                        FullImageHeight,
                        FullImageWidth,
                        FullImageQuality,
                        FullImageFixedSize,
                        MediumImageHeight,
                        MediumImageWidth,
                        MediumImageQuality,
                        MediumImageFixedSize,
                        ThumbImageHeight,
                        ThumbImageWidth,
                        ThumbImageQuality,
                        ThumbImageFixedSize,
                        GroupID,
                        CacheRestriction,
                        RemoteUrl,
                        FullImageBGColor,
                        MediumImageBGColor,
                        ThumbImageBGColor};
                this.Rows.Add(rowCollectionsRow);
                return rowCollectionsRow;
            }
            
            public CollectionsRow FindByID(int ID) {
                return ((CollectionsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                CollectionsDataTable cln = ((CollectionsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new CollectionsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnTitle = this.Columns["Title"];
                this.columnDescription = this.Columns["Description"];
                this.columnResourcePath = this.Columns["ResourcePath"];
                this.columnType = this.Columns["Type"];
                this.columnUsageAgreement = this.Columns["UsageAgreement"];
                this.columnFullImageHeight = this.Columns["FullImageHeight"];
                this.columnFullImageWidth = this.Columns["FullImageWidth"];
                this.columnFullImageQuality = this.Columns["FullImageQuality"];
                this.columnFullImageFixedSize = this.Columns["FullImageFixedSize"];
                this.columnMediumImageHeight = this.Columns["MediumImageHeight"];
                this.columnMediumImageWidth = this.Columns["MediumImageWidth"];
                this.columnMediumImageQuality = this.Columns["MediumImageQuality"];
                this.columnMediumImageFixedSize = this.Columns["MediumImageFixedSize"];
                this.columnThumbImageHeight = this.Columns["ThumbImageHeight"];
                this.columnThumbImageWidth = this.Columns["ThumbImageWidth"];
                this.columnThumbImageQuality = this.Columns["ThumbImageQuality"];
                this.columnThumbImageFixedSize = this.Columns["ThumbImageFixedSize"];
                this.columnGroupID = this.Columns["GroupID"];
                this.columnCacheRestriction = this.Columns["CacheRestriction"];
                this.columnRemoteUrl = this.Columns["RemoteUrl"];
                this.columnFullImageBGColor = this.Columns["FullImageBGColor"];
                this.columnMediumImageBGColor = this.Columns["MediumImageBGColor"];
                this.columnThumbImageBGColor = this.Columns["ThumbImageBGColor"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnDescription = new DataColumn("Description", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDescription);
                this.columnResourcePath = new DataColumn("ResourcePath", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnResourcePath);
                this.columnType = new DataColumn("Type", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnType);
                this.columnUsageAgreement = new DataColumn("UsageAgreement", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUsageAgreement);
                this.columnFullImageHeight = new DataColumn("FullImageHeight", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFullImageHeight);
                this.columnFullImageWidth = new DataColumn("FullImageWidth", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFullImageWidth);
                this.columnFullImageQuality = new DataColumn("FullImageQuality", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFullImageQuality);
                this.columnFullImageFixedSize = new DataColumn("FullImageFixedSize", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFullImageFixedSize);
                this.columnMediumImageHeight = new DataColumn("MediumImageHeight", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMediumImageHeight);
                this.columnMediumImageWidth = new DataColumn("MediumImageWidth", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMediumImageWidth);
                this.columnMediumImageQuality = new DataColumn("MediumImageQuality", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMediumImageQuality);
                this.columnMediumImageFixedSize = new DataColumn("MediumImageFixedSize", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMediumImageFixedSize);
                this.columnThumbImageHeight = new DataColumn("ThumbImageHeight", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnThumbImageHeight);
                this.columnThumbImageWidth = new DataColumn("ThumbImageWidth", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnThumbImageWidth);
                this.columnThumbImageQuality = new DataColumn("ThumbImageQuality", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnThumbImageQuality);
                this.columnThumbImageFixedSize = new DataColumn("ThumbImageFixedSize", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnThumbImageFixedSize);
                this.columnGroupID = new DataColumn("GroupID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnGroupID);
                this.columnCacheRestriction = new DataColumn("CacheRestriction", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCacheRestriction);
                this.columnRemoteUrl = new DataColumn("RemoteUrl", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnRemoteUrl);
                this.columnFullImageBGColor = new DataColumn("FullImageBGColor", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFullImageBGColor);
                this.columnMediumImageBGColor = new DataColumn("MediumImageBGColor", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMediumImageBGColor);
                this.columnThumbImageBGColor = new DataColumn("ThumbImageBGColor", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnThumbImageBGColor);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey3", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnTitle.AllowDBNull = false;
                this.columnDescription.AllowDBNull = false;
                this.columnResourcePath.AllowDBNull = false;
                this.columnType.AllowDBNull = false;
                this.columnFullImageHeight.AllowDBNull = false;
                this.columnFullImageWidth.AllowDBNull = false;
                this.columnFullImageQuality.AllowDBNull = false;
                this.columnFullImageFixedSize.AllowDBNull = false;
                this.columnMediumImageHeight.AllowDBNull = false;
                this.columnMediumImageWidth.AllowDBNull = false;
                this.columnMediumImageQuality.AllowDBNull = false;
                this.columnMediumImageFixedSize.AllowDBNull = false;
                this.columnThumbImageHeight.AllowDBNull = false;
                this.columnThumbImageWidth.AllowDBNull = false;
                this.columnThumbImageQuality.AllowDBNull = false;
                this.columnThumbImageFixedSize.AllowDBNull = false;
                this.columnGroupID.AllowDBNull = false;
                this.columnCacheRestriction.AllowDBNull = false;
            }
            
            public CollectionsRow NewCollectionsRow() {
                return ((CollectionsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new CollectionsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(CollectionsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.CollectionsRowChanged != null)) {
                    this.CollectionsRowChanged(this, new CollectionsRowChangeEvent(((CollectionsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.CollectionsRowChanging != null)) {
                    this.CollectionsRowChanging(this, new CollectionsRowChangeEvent(((CollectionsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.CollectionsRowDeleted != null)) {
                    this.CollectionsRowDeleted(this, new CollectionsRowChangeEvent(((CollectionsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.CollectionsRowDeleting != null)) {
                    this.CollectionsRowDeleting(this, new CollectionsRowChangeEvent(((CollectionsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveCollectionsRow(CollectionsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class CollectionsRow : DataRow {
            
            private CollectionsDataTable tableCollections;
            
            internal CollectionsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableCollections = ((CollectionsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableCollections.IDColumn]));
                }
                set {
                    this[this.tableCollections.IDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableCollections.TitleColumn]));
                }
                set {
                    this[this.tableCollections.TitleColumn] = value;
                }
            }
            
            public string Description {
                get {
                    return ((string)(this[this.tableCollections.DescriptionColumn]));
                }
                set {
                    this[this.tableCollections.DescriptionColumn] = value;
                }
            }
            
            public string ResourcePath {
                get {
                    return ((string)(this[this.tableCollections.ResourcePathColumn]));
                }
                set {
                    this[this.tableCollections.ResourcePathColumn] = value;
                }
            }
            
            public string Type {
                get {
                    return ((string)(this[this.tableCollections.TypeColumn]));
                }
                set {
                    this[this.tableCollections.TypeColumn] = value;
                }
            }
            
            public string UsageAgreement {
                get {
                    try {
                        return ((string)(this[this.tableCollections.UsageAgreementColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCollections.UsageAgreementColumn] = value;
                }
            }
            
            public int FullImageHeight {
                get {
                    return ((int)(this[this.tableCollections.FullImageHeightColumn]));
                }
                set {
                    this[this.tableCollections.FullImageHeightColumn] = value;
                }
            }
            
            public int FullImageWidth {
                get {
                    return ((int)(this[this.tableCollections.FullImageWidthColumn]));
                }
                set {
                    this[this.tableCollections.FullImageWidthColumn] = value;
                }
            }
            
            public int FullImageQuality {
                get {
                    return ((int)(this[this.tableCollections.FullImageQualityColumn]));
                }
                set {
                    this[this.tableCollections.FullImageQualityColumn] = value;
                }
            }
            
            public bool FullImageFixedSize {
                get {
                    return ((bool)(this[this.tableCollections.FullImageFixedSizeColumn]));
                }
                set {
                    this[this.tableCollections.FullImageFixedSizeColumn] = value;
                }
            }
            
            public int MediumImageHeight {
                get {
                    return ((int)(this[this.tableCollections.MediumImageHeightColumn]));
                }
                set {
                    this[this.tableCollections.MediumImageHeightColumn] = value;
                }
            }
            
            public int MediumImageWidth {
                get {
                    return ((int)(this[this.tableCollections.MediumImageWidthColumn]));
                }
                set {
                    this[this.tableCollections.MediumImageWidthColumn] = value;
                }
            }
            
            public int MediumImageQuality {
                get {
                    return ((int)(this[this.tableCollections.MediumImageQualityColumn]));
                }
                set {
                    this[this.tableCollections.MediumImageQualityColumn] = value;
                }
            }
            
            public bool MediumImageFixedSize {
                get {
                    return ((bool)(this[this.tableCollections.MediumImageFixedSizeColumn]));
                }
                set {
                    this[this.tableCollections.MediumImageFixedSizeColumn] = value;
                }
            }
            
            public int ThumbImageHeight {
                get {
                    return ((int)(this[this.tableCollections.ThumbImageHeightColumn]));
                }
                set {
                    this[this.tableCollections.ThumbImageHeightColumn] = value;
                }
            }
            
            public int ThumbImageWidth {
                get {
                    return ((int)(this[this.tableCollections.ThumbImageWidthColumn]));
                }
                set {
                    this[this.tableCollections.ThumbImageWidthColumn] = value;
                }
            }
            
            public int ThumbImageQuality {
                get {
                    return ((int)(this[this.tableCollections.ThumbImageQualityColumn]));
                }
                set {
                    this[this.tableCollections.ThumbImageQualityColumn] = value;
                }
            }
            
            public bool ThumbImageFixedSize {
                get {
                    return ((bool)(this[this.tableCollections.ThumbImageFixedSizeColumn]));
                }
                set {
                    this[this.tableCollections.ThumbImageFixedSizeColumn] = value;
                }
            }
            
            public int GroupID {
                get {
                    return ((int)(this[this.tableCollections.GroupIDColumn]));
                }
                set {
                    this[this.tableCollections.GroupIDColumn] = value;
                }
            }
            
            public int CacheRestriction {
                get {
                    return ((int)(this[this.tableCollections.CacheRestrictionColumn]));
                }
                set {
                    this[this.tableCollections.CacheRestrictionColumn] = value;
                }
            }
            
            public string RemoteUrl {
                get {
                    try {
                        return ((string)(this[this.tableCollections.RemoteUrlColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCollections.RemoteUrlColumn] = value;
                }
            }
            
            public int FullImageBGColor {
                get {
                    try {
                        return ((int)(this[this.tableCollections.FullImageBGColorColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCollections.FullImageBGColorColumn] = value;
                }
            }
            
            public int MediumImageBGColor {
                get {
                    try {
                        return ((int)(this[this.tableCollections.MediumImageBGColorColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCollections.MediumImageBGColorColumn] = value;
                }
            }
            
            public int ThumbImageBGColor {
                get {
                    try {
                        return ((int)(this[this.tableCollections.ThumbImageBGColorColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCollections.ThumbImageBGColorColumn] = value;
                }
            }
            
            public bool IsUsageAgreementNull() {
                return this.IsNull(this.tableCollections.UsageAgreementColumn);
            }
            
            public void SetUsageAgreementNull() {
                this[this.tableCollections.UsageAgreementColumn] = System.Convert.DBNull;
            }
            
            public bool IsRemoteUrlNull() {
                return this.IsNull(this.tableCollections.RemoteUrlColumn);
            }
            
            public void SetRemoteUrlNull() {
                this[this.tableCollections.RemoteUrlColumn] = System.Convert.DBNull;
            }
            
            public bool IsFullImageBGColorNull() {
                return this.IsNull(this.tableCollections.FullImageBGColorColumn);
            }
            
            public void SetFullImageBGColorNull() {
                this[this.tableCollections.FullImageBGColorColumn] = System.Convert.DBNull;
            }
            
            public bool IsMediumImageBGColorNull() {
                return this.IsNull(this.tableCollections.MediumImageBGColorColumn);
            }
            
            public void SetMediumImageBGColorNull() {
                this[this.tableCollections.MediumImageBGColorColumn] = System.Convert.DBNull;
            }
            
            public bool IsThumbImageBGColorNull() {
                return this.IsNull(this.tableCollections.ThumbImageBGColorColumn);
            }
            
            public void SetThumbImageBGColorNull() {
                this[this.tableCollections.ThumbImageBGColorColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class CollectionsRowChangeEvent : EventArgs {
            
            private CollectionsRow eventRow;
            
            private DataRowAction eventAction;
            
            public CollectionsRowChangeEvent(CollectionsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public CollectionsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class CollectionGroupsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnTitle;
            
            internal CollectionGroupsDataTable() : 
                    base("CollectionGroups") {
                this.InitClass();
            }
            
            internal CollectionGroupsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            public CollectionGroupsRow this[int index] {
                get {
                    return ((CollectionGroupsRow)(this.Rows[index]));
                }
            }
            
            public event CollectionGroupsRowChangeEventHandler CollectionGroupsRowChanged;
            
            public event CollectionGroupsRowChangeEventHandler CollectionGroupsRowChanging;
            
            public event CollectionGroupsRowChangeEventHandler CollectionGroupsRowDeleted;
            
            public event CollectionGroupsRowChangeEventHandler CollectionGroupsRowDeleting;
            
            public void AddCollectionGroupsRow(CollectionGroupsRow row) {
                this.Rows.Add(row);
            }
            
            public CollectionGroupsRow AddCollectionGroupsRow(string Title) {
                CollectionGroupsRow rowCollectionGroupsRow = ((CollectionGroupsRow)(this.NewRow()));
                rowCollectionGroupsRow.ItemArray = new object[] {
                        null,
                        Title};
                this.Rows.Add(rowCollectionGroupsRow);
                return rowCollectionGroupsRow;
            }
            
            public CollectionGroupsRow FindByID(int ID) {
                return ((CollectionGroupsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                CollectionGroupsDataTable cln = ((CollectionGroupsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new CollectionGroupsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnTitle = this.Columns["Title"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey4", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnTitle.AllowDBNull = false;
            }
            
            public CollectionGroupsRow NewCollectionGroupsRow() {
                return ((CollectionGroupsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new CollectionGroupsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(CollectionGroupsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.CollectionGroupsRowChanged != null)) {
                    this.CollectionGroupsRowChanged(this, new CollectionGroupsRowChangeEvent(((CollectionGroupsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.CollectionGroupsRowChanging != null)) {
                    this.CollectionGroupsRowChanging(this, new CollectionGroupsRowChangeEvent(((CollectionGroupsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.CollectionGroupsRowDeleted != null)) {
                    this.CollectionGroupsRowDeleted(this, new CollectionGroupsRowChangeEvent(((CollectionGroupsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.CollectionGroupsRowDeleting != null)) {
                    this.CollectionGroupsRowDeleting(this, new CollectionGroupsRowChangeEvent(((CollectionGroupsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveCollectionGroupsRow(CollectionGroupsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class CollectionGroupsRow : DataRow {
            
            private CollectionGroupsDataTable tableCollectionGroups;
            
            internal CollectionGroupsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableCollectionGroups = ((CollectionGroupsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableCollectionGroups.IDColumn]));
                }
                set {
                    this[this.tableCollectionGroups.IDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableCollectionGroups.TitleColumn]));
                }
                set {
                    this[this.tableCollectionGroups.TitleColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class CollectionGroupsRowChangeEvent : EventArgs {
            
            private CollectionGroupsRow eventRow;
            
            private DataRowAction eventAction;
            
            public CollectionGroupsRowChangeEvent(CollectionGroupsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public CollectionGroupsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UsersDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnLogin;
            
            private DataColumn columnPassword;
            
            private DataColumn columnName;
            
            private DataColumn columnFirstName;
            
            private DataColumn columnEmail;
            
            private DataColumn columnAdministrator;
            
            private DataColumn columnLastAuthenticated;
            
            internal UsersDataTable() : 
                    base("Users") {
                this.InitClass();
            }
            
            internal UsersDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn LoginColumn {
                get {
                    return this.columnLogin;
                }
            }
            
            internal DataColumn PasswordColumn {
                get {
                    return this.columnPassword;
                }
            }
            
            internal DataColumn NameColumn {
                get {
                    return this.columnName;
                }
            }
            
            internal DataColumn FirstNameColumn {
                get {
                    return this.columnFirstName;
                }
            }
            
            internal DataColumn EmailColumn {
                get {
                    return this.columnEmail;
                }
            }
            
            internal DataColumn AdministratorColumn {
                get {
                    return this.columnAdministrator;
                }
            }
            
            internal DataColumn LastAuthenticatedColumn {
                get {
                    return this.columnLastAuthenticated;
                }
            }
            
            public UsersRow this[int index] {
                get {
                    return ((UsersRow)(this.Rows[index]));
                }
            }
            
            public event UsersRowChangeEventHandler UsersRowChanged;
            
            public event UsersRowChangeEventHandler UsersRowChanging;
            
            public event UsersRowChangeEventHandler UsersRowDeleted;
            
            public event UsersRowChangeEventHandler UsersRowDeleting;
            
            public void AddUsersRow(UsersRow row) {
                this.Rows.Add(row);
            }
            
            public UsersRow AddUsersRow(string Login, string Password, string Name, string FirstName, string Email, bool Administrator, System.DateTime LastAuthenticated) {
                UsersRow rowUsersRow = ((UsersRow)(this.NewRow()));
                rowUsersRow.ItemArray = new object[] {
                        null,
                        Login,
                        Password,
                        Name,
                        FirstName,
                        Email,
                        Administrator,
                        LastAuthenticated};
                this.Rows.Add(rowUsersRow);
                return rowUsersRow;
            }
            
            public UsersRow FindByID(int ID) {
                return ((UsersRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                UsersDataTable cln = ((UsersDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new UsersDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnLogin = this.Columns["Login"];
                this.columnPassword = this.Columns["Password"];
                this.columnName = this.Columns["Name"];
                this.columnFirstName = this.Columns["FirstName"];
                this.columnEmail = this.Columns["Email"];
                this.columnAdministrator = this.Columns["Administrator"];
                this.columnLastAuthenticated = this.Columns["LastAuthenticated"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnLogin = new DataColumn("Login", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLogin);
                this.columnPassword = new DataColumn("Password", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnPassword);
                this.columnName = new DataColumn("Name", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnName);
                this.columnFirstName = new DataColumn("FirstName", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFirstName);
                this.columnEmail = new DataColumn("Email", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnEmail);
                this.columnAdministrator = new DataColumn("Administrator", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAdministrator);
                this.columnLastAuthenticated = new DataColumn("LastAuthenticated", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLastAuthenticated);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey5", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnLogin.AllowDBNull = false;
            }
            
            public UsersRow NewUsersRow() {
                return ((UsersRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new UsersRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(UsersRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.UsersRowChanged != null)) {
                    this.UsersRowChanged(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.UsersRowChanging != null)) {
                    this.UsersRowChanging(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.UsersRowDeleted != null)) {
                    this.UsersRowDeleted(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.UsersRowDeleting != null)) {
                    this.UsersRowDeleting(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveUsersRow(UsersRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UsersRow : DataRow {
            
            private UsersDataTable tableUsers;
            
            internal UsersRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableUsers = ((UsersDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableUsers.IDColumn]));
                }
                set {
                    this[this.tableUsers.IDColumn] = value;
                }
            }
            
            public string Login {
                get {
                    return ((string)(this[this.tableUsers.LoginColumn]));
                }
                set {
                    this[this.tableUsers.LoginColumn] = value;
                }
            }
            
            public string Password {
                get {
                    try {
                        return ((string)(this[this.tableUsers.PasswordColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUsers.PasswordColumn] = value;
                }
            }
            
            public string Name {
                get {
                    try {
                        return ((string)(this[this.tableUsers.NameColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUsers.NameColumn] = value;
                }
            }
            
            public string FirstName {
                get {
                    try {
                        return ((string)(this[this.tableUsers.FirstNameColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUsers.FirstNameColumn] = value;
                }
            }
            
            public string Email {
                get {
                    try {
                        return ((string)(this[this.tableUsers.EmailColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUsers.EmailColumn] = value;
                }
            }
            
            public bool Administrator {
                get {
                    try {
                        return ((bool)(this[this.tableUsers.AdministratorColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUsers.AdministratorColumn] = value;
                }
            }
            
            public System.DateTime LastAuthenticated {
                get {
                    try {
                        return ((System.DateTime)(this[this.tableUsers.LastAuthenticatedColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUsers.LastAuthenticatedColumn] = value;
                }
            }
            
            public bool IsPasswordNull() {
                return this.IsNull(this.tableUsers.PasswordColumn);
            }
            
            public void SetPasswordNull() {
                this[this.tableUsers.PasswordColumn] = System.Convert.DBNull;
            }
            
            public bool IsNameNull() {
                return this.IsNull(this.tableUsers.NameColumn);
            }
            
            public void SetNameNull() {
                this[this.tableUsers.NameColumn] = System.Convert.DBNull;
            }
            
            public bool IsFirstNameNull() {
                return this.IsNull(this.tableUsers.FirstNameColumn);
            }
            
            public void SetFirstNameNull() {
                this[this.tableUsers.FirstNameColumn] = System.Convert.DBNull;
            }
            
            public bool IsEmailNull() {
                return this.IsNull(this.tableUsers.EmailColumn);
            }
            
            public void SetEmailNull() {
                this[this.tableUsers.EmailColumn] = System.Convert.DBNull;
            }
            
            public bool IsAdministratorNull() {
                return this.IsNull(this.tableUsers.AdministratorColumn);
            }
            
            public void SetAdministratorNull() {
                this[this.tableUsers.AdministratorColumn] = System.Convert.DBNull;
            }
            
            public bool IsLastAuthenticatedNull() {
                return this.IsNull(this.tableUsers.LastAuthenticatedColumn);
            }
            
            public void SetLastAuthenticatedNull() {
                this[this.tableUsers.LastAuthenticatedColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UsersRowChangeEvent : EventArgs {
            
            private UsersRow eventRow;
            
            private DataRowAction eventAction;
            
            public UsersRowChangeEvent(UsersRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public UsersRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ControlledListsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnTitle;
            
            private DataColumn columnDescription;
            
            private DataColumn columnStandard;
            
            private DataColumn columnOrigin;
            
            private DataColumn columnCollectionID;
            
            internal ControlledListsDataTable() : 
                    base("ControlledLists") {
                this.InitClass();
            }
            
            internal ControlledListsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn DescriptionColumn {
                get {
                    return this.columnDescription;
                }
            }
            
            internal DataColumn StandardColumn {
                get {
                    return this.columnStandard;
                }
            }
            
            internal DataColumn OriginColumn {
                get {
                    return this.columnOrigin;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            public ControlledListsRow this[int index] {
                get {
                    return ((ControlledListsRow)(this.Rows[index]));
                }
            }
            
            public event ControlledListsRowChangeEventHandler ControlledListsRowChanged;
            
            public event ControlledListsRowChangeEventHandler ControlledListsRowChanging;
            
            public event ControlledListsRowChangeEventHandler ControlledListsRowDeleted;
            
            public event ControlledListsRowChangeEventHandler ControlledListsRowDeleting;
            
            public void AddControlledListsRow(ControlledListsRow row) {
                this.Rows.Add(row);
            }
            
            public ControlledListsRow AddControlledListsRow(string Title, string Description, bool Standard, string Origin, int CollectionID) {
                ControlledListsRow rowControlledListsRow = ((ControlledListsRow)(this.NewRow()));
                rowControlledListsRow.ItemArray = new object[] {
                        null,
                        Title,
                        Description,
                        Standard,
                        Origin,
                        CollectionID};
                this.Rows.Add(rowControlledListsRow);
                return rowControlledListsRow;
            }
            
            public ControlledListsRow FindByID(int ID) {
                return ((ControlledListsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                ControlledListsDataTable cln = ((ControlledListsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new ControlledListsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnTitle = this.Columns["Title"];
                this.columnDescription = this.Columns["Description"];
                this.columnStandard = this.Columns["Standard"];
                this.columnOrigin = this.Columns["Origin"];
                this.columnCollectionID = this.Columns["CollectionID"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnDescription = new DataColumn("Description", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDescription);
                this.columnStandard = new DataColumn("Standard", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnStandard);
                this.columnOrigin = new DataColumn("Origin", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnOrigin);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey6", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnTitle.AllowDBNull = false;
                this.columnCollectionID.AllowDBNull = false;
            }
            
            public ControlledListsRow NewControlledListsRow() {
                return ((ControlledListsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new ControlledListsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(ControlledListsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ControlledListsRowChanged != null)) {
                    this.ControlledListsRowChanged(this, new ControlledListsRowChangeEvent(((ControlledListsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ControlledListsRowChanging != null)) {
                    this.ControlledListsRowChanging(this, new ControlledListsRowChangeEvent(((ControlledListsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ControlledListsRowDeleted != null)) {
                    this.ControlledListsRowDeleted(this, new ControlledListsRowChangeEvent(((ControlledListsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ControlledListsRowDeleting != null)) {
                    this.ControlledListsRowDeleting(this, new ControlledListsRowChangeEvent(((ControlledListsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveControlledListsRow(ControlledListsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ControlledListsRow : DataRow {
            
            private ControlledListsDataTable tableControlledLists;
            
            internal ControlledListsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableControlledLists = ((ControlledListsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableControlledLists.IDColumn]));
                }
                set {
                    this[this.tableControlledLists.IDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableControlledLists.TitleColumn]));
                }
                set {
                    this[this.tableControlledLists.TitleColumn] = value;
                }
            }
            
            public string Description {
                get {
                    try {
                        return ((string)(this[this.tableControlledLists.DescriptionColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableControlledLists.DescriptionColumn] = value;
                }
            }
            
            public bool Standard {
                get {
                    try {
                        return ((bool)(this[this.tableControlledLists.StandardColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableControlledLists.StandardColumn] = value;
                }
            }
            
            public string Origin {
                get {
                    try {
                        return ((string)(this[this.tableControlledLists.OriginColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableControlledLists.OriginColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableControlledLists.CollectionIDColumn]));
                }
                set {
                    this[this.tableControlledLists.CollectionIDColumn] = value;
                }
            }
            
            public bool IsDescriptionNull() {
                return this.IsNull(this.tableControlledLists.DescriptionColumn);
            }
            
            public void SetDescriptionNull() {
                this[this.tableControlledLists.DescriptionColumn] = System.Convert.DBNull;
            }
            
            public bool IsStandardNull() {
                return this.IsNull(this.tableControlledLists.StandardColumn);
            }
            
            public void SetStandardNull() {
                this[this.tableControlledLists.StandardColumn] = System.Convert.DBNull;
            }
            
            public bool IsOriginNull() {
                return this.IsNull(this.tableControlledLists.OriginColumn);
            }
            
            public void SetOriginNull() {
                this[this.tableControlledLists.OriginColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ControlledListsRowChangeEvent : EventArgs {
            
            private ControlledListsRow eventRow;
            
            private DataRowAction eventAction;
            
            public ControlledListsRowChangeEvent(ControlledListsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public ControlledListsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ControlledListValuesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnControlledListID;
            
            private DataColumn columnItemValue;
            
            internal ControlledListValuesDataTable() : 
                    base("ControlledListValues") {
                this.InitClass();
            }
            
            internal ControlledListValuesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn ControlledListIDColumn {
                get {
                    return this.columnControlledListID;
                }
            }
            
            internal DataColumn ItemValueColumn {
                get {
                    return this.columnItemValue;
                }
            }
            
            public ControlledListValuesRow this[int index] {
                get {
                    return ((ControlledListValuesRow)(this.Rows[index]));
                }
            }
            
            public event ControlledListValuesRowChangeEventHandler ControlledListValuesRowChanged;
            
            public event ControlledListValuesRowChangeEventHandler ControlledListValuesRowChanging;
            
            public event ControlledListValuesRowChangeEventHandler ControlledListValuesRowDeleted;
            
            public event ControlledListValuesRowChangeEventHandler ControlledListValuesRowDeleting;
            
            public void AddControlledListValuesRow(ControlledListValuesRow row) {
                this.Rows.Add(row);
            }
            
            public ControlledListValuesRow AddControlledListValuesRow(int ControlledListID, string ItemValue) {
                ControlledListValuesRow rowControlledListValuesRow = ((ControlledListValuesRow)(this.NewRow()));
                rowControlledListValuesRow.ItemArray = new object[] {
                        null,
                        ControlledListID,
                        ItemValue};
                this.Rows.Add(rowControlledListValuesRow);
                return rowControlledListValuesRow;
            }
            
            public ControlledListValuesRow FindByID(int ID) {
                return ((ControlledListValuesRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                ControlledListValuesDataTable cln = ((ControlledListValuesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new ControlledListValuesDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnControlledListID = this.Columns["ControlledListID"];
                this.columnItemValue = this.Columns["ItemValue"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnControlledListID = new DataColumn("ControlledListID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnControlledListID);
                this.columnItemValue = new DataColumn("ItemValue", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnItemValue);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey7", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnControlledListID.AllowDBNull = false;
                this.columnItemValue.AllowDBNull = false;
            }
            
            public ControlledListValuesRow NewControlledListValuesRow() {
                return ((ControlledListValuesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new ControlledListValuesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(ControlledListValuesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ControlledListValuesRowChanged != null)) {
                    this.ControlledListValuesRowChanged(this, new ControlledListValuesRowChangeEvent(((ControlledListValuesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ControlledListValuesRowChanging != null)) {
                    this.ControlledListValuesRowChanging(this, new ControlledListValuesRowChangeEvent(((ControlledListValuesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ControlledListValuesRowDeleted != null)) {
                    this.ControlledListValuesRowDeleted(this, new ControlledListValuesRowChangeEvent(((ControlledListValuesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ControlledListValuesRowDeleting != null)) {
                    this.ControlledListValuesRowDeleting(this, new ControlledListValuesRowChangeEvent(((ControlledListValuesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveControlledListValuesRow(ControlledListValuesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ControlledListValuesRow : DataRow {
            
            private ControlledListValuesDataTable tableControlledListValues;
            
            internal ControlledListValuesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableControlledListValues = ((ControlledListValuesDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableControlledListValues.IDColumn]));
                }
                set {
                    this[this.tableControlledListValues.IDColumn] = value;
                }
            }
            
            public int ControlledListID {
                get {
                    return ((int)(this[this.tableControlledListValues.ControlledListIDColumn]));
                }
                set {
                    this[this.tableControlledListValues.ControlledListIDColumn] = value;
                }
            }
            
            public string ItemValue {
                get {
                    return ((string)(this[this.tableControlledListValues.ItemValueColumn]));
                }
                set {
                    this[this.tableControlledListValues.ItemValueColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ControlledListValuesRowChangeEvent : EventArgs {
            
            private ControlledListValuesRow eventRow;
            
            private DataRowAction eventAction;
            
            public ControlledListValuesRowChangeEvent(ControlledListValuesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public ControlledListValuesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class DatabaseVersionDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnVersion;
            
            internal DatabaseVersionDataTable() : 
                    base("DatabaseVersion") {
                this.InitClass();
            }
            
            internal DatabaseVersionDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn VersionColumn {
                get {
                    return this.columnVersion;
                }
            }
            
            public DatabaseVersionRow this[int index] {
                get {
                    return ((DatabaseVersionRow)(this.Rows[index]));
                }
            }
            
            public event DatabaseVersionRowChangeEventHandler DatabaseVersionRowChanged;
            
            public event DatabaseVersionRowChangeEventHandler DatabaseVersionRowChanging;
            
            public event DatabaseVersionRowChangeEventHandler DatabaseVersionRowDeleted;
            
            public event DatabaseVersionRowChangeEventHandler DatabaseVersionRowDeleting;
            
            public void AddDatabaseVersionRow(DatabaseVersionRow row) {
                this.Rows.Add(row);
            }
            
            public DatabaseVersionRow AddDatabaseVersionRow(string Version) {
                DatabaseVersionRow rowDatabaseVersionRow = ((DatabaseVersionRow)(this.NewRow()));
                rowDatabaseVersionRow.ItemArray = new object[] {
                        Version};
                this.Rows.Add(rowDatabaseVersionRow);
                return rowDatabaseVersionRow;
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                DatabaseVersionDataTable cln = ((DatabaseVersionDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new DatabaseVersionDataTable();
            }
            
            internal void InitVars() {
                this.columnVersion = this.Columns["Version"];
            }
            
            private void InitClass() {
                this.columnVersion = new DataColumn("Version", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnVersion);
                this.columnVersion.AllowDBNull = false;
            }
            
            public DatabaseVersionRow NewDatabaseVersionRow() {
                return ((DatabaseVersionRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new DatabaseVersionRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(DatabaseVersionRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.DatabaseVersionRowChanged != null)) {
                    this.DatabaseVersionRowChanged(this, new DatabaseVersionRowChangeEvent(((DatabaseVersionRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.DatabaseVersionRowChanging != null)) {
                    this.DatabaseVersionRowChanging(this, new DatabaseVersionRowChangeEvent(((DatabaseVersionRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.DatabaseVersionRowDeleted != null)) {
                    this.DatabaseVersionRowDeleted(this, new DatabaseVersionRowChangeEvent(((DatabaseVersionRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.DatabaseVersionRowDeleting != null)) {
                    this.DatabaseVersionRowDeleting(this, new DatabaseVersionRowChangeEvent(((DatabaseVersionRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveDatabaseVersionRow(DatabaseVersionRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class DatabaseVersionRow : DataRow {
            
            private DatabaseVersionDataTable tableDatabaseVersion;
            
            internal DatabaseVersionRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableDatabaseVersion = ((DatabaseVersionDataTable)(this.Table));
            }
            
            public string Version {
                get {
                    return ((string)(this[this.tableDatabaseVersion.VersionColumn]));
                }
                set {
                    this[this.tableDatabaseVersion.VersionColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class DatabaseVersionRowChangeEvent : EventArgs {
            
            private DatabaseVersionRow eventRow;
            
            private DataRowAction eventAction;
            
            public DatabaseVersionRowChangeEvent(DatabaseVersionRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public DatabaseVersionRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FavoriteImagesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnUserID;
            
            private DataColumn columnImageID;
            
            private DataColumn columnCollectionID;
            
            internal FavoriteImagesDataTable() : 
                    base("FavoriteImages") {
                this.InitClass();
            }
            
            internal FavoriteImagesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn ImageIDColumn {
                get {
                    return this.columnImageID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            public FavoriteImagesRow this[int index] {
                get {
                    return ((FavoriteImagesRow)(this.Rows[index]));
                }
            }
            
            public event FavoriteImagesRowChangeEventHandler FavoriteImagesRowChanged;
            
            public event FavoriteImagesRowChangeEventHandler FavoriteImagesRowChanging;
            
            public event FavoriteImagesRowChangeEventHandler FavoriteImagesRowDeleted;
            
            public event FavoriteImagesRowChangeEventHandler FavoriteImagesRowDeleting;
            
            public void AddFavoriteImagesRow(FavoriteImagesRow row) {
                this.Rows.Add(row);
            }
            
            public FavoriteImagesRow AddFavoriteImagesRow(int UserID, int ImageID, int CollectionID) {
                FavoriteImagesRow rowFavoriteImagesRow = ((FavoriteImagesRow)(this.NewRow()));
                rowFavoriteImagesRow.ItemArray = new object[] {
                        UserID,
                        ImageID,
                        CollectionID};
                this.Rows.Add(rowFavoriteImagesRow);
                return rowFavoriteImagesRow;
            }
            
            public FavoriteImagesRow FindByUserIDImageIDCollectionID(int UserID, int ImageID, int CollectionID) {
                return ((FavoriteImagesRow)(this.Rows.Find(new object[] {
                            UserID,
                            ImageID,
                            CollectionID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                FavoriteImagesDataTable cln = ((FavoriteImagesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new FavoriteImagesDataTable();
            }
            
            internal void InitVars() {
                this.columnUserID = this.Columns["UserID"];
                this.columnImageID = this.Columns["ImageID"];
                this.columnCollectionID = this.Columns["CollectionID"];
            }
            
            private void InitClass() {
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnImageID = new DataColumn("ImageID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnImageID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey8", new DataColumn[] {
                                this.columnUserID,
                                this.columnImageID,
                                this.columnCollectionID}, true));
                this.columnUserID.AllowDBNull = false;
                this.columnImageID.AllowDBNull = false;
                this.columnCollectionID.AllowDBNull = false;
            }
            
            public FavoriteImagesRow NewFavoriteImagesRow() {
                return ((FavoriteImagesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new FavoriteImagesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(FavoriteImagesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.FavoriteImagesRowChanged != null)) {
                    this.FavoriteImagesRowChanged(this, new FavoriteImagesRowChangeEvent(((FavoriteImagesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.FavoriteImagesRowChanging != null)) {
                    this.FavoriteImagesRowChanging(this, new FavoriteImagesRowChangeEvent(((FavoriteImagesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.FavoriteImagesRowDeleted != null)) {
                    this.FavoriteImagesRowDeleted(this, new FavoriteImagesRowChangeEvent(((FavoriteImagesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.FavoriteImagesRowDeleting != null)) {
                    this.FavoriteImagesRowDeleting(this, new FavoriteImagesRowChangeEvent(((FavoriteImagesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveFavoriteImagesRow(FavoriteImagesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FavoriteImagesRow : DataRow {
            
            private FavoriteImagesDataTable tableFavoriteImages;
            
            internal FavoriteImagesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableFavoriteImages = ((FavoriteImagesDataTable)(this.Table));
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableFavoriteImages.UserIDColumn]));
                }
                set {
                    this[this.tableFavoriteImages.UserIDColumn] = value;
                }
            }
            
            public int ImageID {
                get {
                    return ((int)(this[this.tableFavoriteImages.ImageIDColumn]));
                }
                set {
                    this[this.tableFavoriteImages.ImageIDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableFavoriteImages.CollectionIDColumn]));
                }
                set {
                    this[this.tableFavoriteImages.CollectionIDColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FavoriteImagesRowChangeEvent : EventArgs {
            
            private FavoriteImagesRow eventRow;
            
            private DataRowAction eventAction;
            
            public FavoriteImagesRowChangeEvent(FavoriteImagesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public FavoriteImagesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FieldDataDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnImageID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnFieldID;
            
            private DataColumn columnFieldInstance;
            
            private DataColumn columnFieldValue;
            
            private DataColumn columnControlledListValue;
            
            private DataColumn columnStartDate;
            
            private DataColumn columnEndDate;
            
            private DataColumn columnOriginalValue;
            
            internal FieldDataDataTable() : 
                    base("FieldData") {
                this.InitClass();
            }
            
            internal FieldDataDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn ImageIDColumn {
                get {
                    return this.columnImageID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn FieldIDColumn {
                get {
                    return this.columnFieldID;
                }
            }
            
            internal DataColumn FieldInstanceColumn {
                get {
                    return this.columnFieldInstance;
                }
            }
            
            internal DataColumn FieldValueColumn {
                get {
                    return this.columnFieldValue;
                }
            }
            
            internal DataColumn ControlledListValueColumn {
                get {
                    return this.columnControlledListValue;
                }
            }
            
            internal DataColumn StartDateColumn {
                get {
                    return this.columnStartDate;
                }
            }
            
            internal DataColumn EndDateColumn {
                get {
                    return this.columnEndDate;
                }
            }
            
            internal DataColumn OriginalValueColumn {
                get {
                    return this.columnOriginalValue;
                }
            }
            
            public FieldDataRow this[int index] {
                get {
                    return ((FieldDataRow)(this.Rows[index]));
                }
            }
            
            public event FieldDataRowChangeEventHandler FieldDataRowChanged;
            
            public event FieldDataRowChangeEventHandler FieldDataRowChanging;
            
            public event FieldDataRowChangeEventHandler FieldDataRowDeleted;
            
            public event FieldDataRowChangeEventHandler FieldDataRowDeleting;
            
            public void AddFieldDataRow(FieldDataRow row) {
                this.Rows.Add(row);
            }
            
            public FieldDataRow AddFieldDataRow(int ImageID, int CollectionID, int FieldID, int FieldInstance, string FieldValue, int ControlledListValue, int StartDate, int EndDate, string OriginalValue) {
                FieldDataRow rowFieldDataRow = ((FieldDataRow)(this.NewRow()));
                rowFieldDataRow.ItemArray = new object[] {
                        null,
                        ImageID,
                        CollectionID,
                        FieldID,
                        FieldInstance,
                        FieldValue,
                        ControlledListValue,
                        StartDate,
                        EndDate,
                        OriginalValue};
                this.Rows.Add(rowFieldDataRow);
                return rowFieldDataRow;
            }
            
            public FieldDataRow FindByID(int ID) {
                return ((FieldDataRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                FieldDataDataTable cln = ((FieldDataDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new FieldDataDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnImageID = this.Columns["ImageID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnFieldID = this.Columns["FieldID"];
                this.columnFieldInstance = this.Columns["FieldInstance"];
                this.columnFieldValue = this.Columns["FieldValue"];
                this.columnControlledListValue = this.Columns["ControlledListValue"];
                this.columnStartDate = this.Columns["StartDate"];
                this.columnEndDate = this.Columns["EndDate"];
                this.columnOriginalValue = this.Columns["OriginalValue"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnImageID = new DataColumn("ImageID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnImageID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnFieldID = new DataColumn("FieldID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFieldID);
                this.columnFieldInstance = new DataColumn("FieldInstance", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFieldInstance);
                this.columnFieldValue = new DataColumn("FieldValue", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFieldValue);
                this.columnControlledListValue = new DataColumn("ControlledListValue", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnControlledListValue);
                this.columnStartDate = new DataColumn("StartDate", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnStartDate);
                this.columnEndDate = new DataColumn("EndDate", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnEndDate);
                this.columnOriginalValue = new DataColumn("OriginalValue", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnOriginalValue);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey9", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnImageID.AllowDBNull = false;
                this.columnCollectionID.AllowDBNull = false;
                this.columnFieldID.AllowDBNull = false;
                this.columnFieldInstance.AllowDBNull = false;
                this.columnFieldValue.AllowDBNull = false;
            }
            
            public FieldDataRow NewFieldDataRow() {
                return ((FieldDataRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new FieldDataRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(FieldDataRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.FieldDataRowChanged != null)) {
                    this.FieldDataRowChanged(this, new FieldDataRowChangeEvent(((FieldDataRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.FieldDataRowChanging != null)) {
                    this.FieldDataRowChanging(this, new FieldDataRowChangeEvent(((FieldDataRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.FieldDataRowDeleted != null)) {
                    this.FieldDataRowDeleted(this, new FieldDataRowChangeEvent(((FieldDataRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.FieldDataRowDeleting != null)) {
                    this.FieldDataRowDeleting(this, new FieldDataRowChangeEvent(((FieldDataRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveFieldDataRow(FieldDataRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FieldDataRow : DataRow {
            
            private FieldDataDataTable tableFieldData;
            
            internal FieldDataRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableFieldData = ((FieldDataDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableFieldData.IDColumn]));
                }
                set {
                    this[this.tableFieldData.IDColumn] = value;
                }
            }
            
            public int ImageID {
                get {
                    return ((int)(this[this.tableFieldData.ImageIDColumn]));
                }
                set {
                    this[this.tableFieldData.ImageIDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableFieldData.CollectionIDColumn]));
                }
                set {
                    this[this.tableFieldData.CollectionIDColumn] = value;
                }
            }
            
            public int FieldID {
                get {
                    return ((int)(this[this.tableFieldData.FieldIDColumn]));
                }
                set {
                    this[this.tableFieldData.FieldIDColumn] = value;
                }
            }
            
            public int FieldInstance {
                get {
                    return ((int)(this[this.tableFieldData.FieldInstanceColumn]));
                }
                set {
                    this[this.tableFieldData.FieldInstanceColumn] = value;
                }
            }
            
            public string FieldValue {
                get {
                    return ((string)(this[this.tableFieldData.FieldValueColumn]));
                }
                set {
                    this[this.tableFieldData.FieldValueColumn] = value;
                }
            }
            
            public int ControlledListValue {
                get {
                    try {
                        return ((int)(this[this.tableFieldData.ControlledListValueColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableFieldData.ControlledListValueColumn] = value;
                }
            }
            
            public int StartDate {
                get {
                    try {
                        return ((int)(this[this.tableFieldData.StartDateColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableFieldData.StartDateColumn] = value;
                }
            }
            
            public int EndDate {
                get {
                    try {
                        return ((int)(this[this.tableFieldData.EndDateColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableFieldData.EndDateColumn] = value;
                }
            }
            
            public string OriginalValue {
                get {
                    try {
                        return ((string)(this[this.tableFieldData.OriginalValueColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableFieldData.OriginalValueColumn] = value;
                }
            }
            
            public bool IsControlledListValueNull() {
                return this.IsNull(this.tableFieldData.ControlledListValueColumn);
            }
            
            public void SetControlledListValueNull() {
                this[this.tableFieldData.ControlledListValueColumn] = System.Convert.DBNull;
            }
            
            public bool IsStartDateNull() {
                return this.IsNull(this.tableFieldData.StartDateColumn);
            }
            
            public void SetStartDateNull() {
                this[this.tableFieldData.StartDateColumn] = System.Convert.DBNull;
            }
            
            public bool IsEndDateNull() {
                return this.IsNull(this.tableFieldData.EndDateColumn);
            }
            
            public void SetEndDateNull() {
                this[this.tableFieldData.EndDateColumn] = System.Convert.DBNull;
            }
            
            public bool IsOriginalValueNull() {
                return this.IsNull(this.tableFieldData.OriginalValueColumn);
            }
            
            public void SetOriginalValueNull() {
                this[this.tableFieldData.OriginalValueColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FieldDataRowChangeEvent : EventArgs {
            
            private FieldDataRow eventRow;
            
            private DataRowAction eventAction;
            
            public FieldDataRowChangeEvent(FieldDataRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public FieldDataRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FieldDefinitionsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnLabel;
            
            private DataColumn columnDisplayOrder;
            
            private DataColumn columnName;
            
            private DataColumn columnType;
            
            private DataColumn columnDCElement;
            
            private DataColumn columnDCRefinement;
            
            private DataColumn columnSearchable;
            
            private DataColumn columnKeywordSearchable;
            
            private DataColumn columnSortable;
            
            private DataColumn columnBrowsable;
            
            private DataColumn columnControlledListID;
            
            private DataColumn columnShortView;
            
            private DataColumn columnMediumView;
            
            private DataColumn columnLongView;
            
            internal FieldDefinitionsDataTable() : 
                    base("FieldDefinitions") {
                this.InitClass();
            }
            
            internal FieldDefinitionsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn LabelColumn {
                get {
                    return this.columnLabel;
                }
            }
            
            internal DataColumn DisplayOrderColumn {
                get {
                    return this.columnDisplayOrder;
                }
            }
            
            internal DataColumn NameColumn {
                get {
                    return this.columnName;
                }
            }
            
            internal DataColumn TypeColumn {
                get {
                    return this.columnType;
                }
            }
            
            internal DataColumn DCElementColumn {
                get {
                    return this.columnDCElement;
                }
            }
            
            internal DataColumn DCRefinementColumn {
                get {
                    return this.columnDCRefinement;
                }
            }
            
            internal DataColumn SearchableColumn {
                get {
                    return this.columnSearchable;
                }
            }
            
            internal DataColumn KeywordSearchableColumn {
                get {
                    return this.columnKeywordSearchable;
                }
            }
            
            internal DataColumn SortableColumn {
                get {
                    return this.columnSortable;
                }
            }
            
            internal DataColumn BrowsableColumn {
                get {
                    return this.columnBrowsable;
                }
            }
            
            internal DataColumn ControlledListIDColumn {
                get {
                    return this.columnControlledListID;
                }
            }
            
            internal DataColumn ShortViewColumn {
                get {
                    return this.columnShortView;
                }
            }
            
            internal DataColumn MediumViewColumn {
                get {
                    return this.columnMediumView;
                }
            }
            
            internal DataColumn LongViewColumn {
                get {
                    return this.columnLongView;
                }
            }
            
            public FieldDefinitionsRow this[int index] {
                get {
                    return ((FieldDefinitionsRow)(this.Rows[index]));
                }
            }
            
            public event FieldDefinitionsRowChangeEventHandler FieldDefinitionsRowChanged;
            
            public event FieldDefinitionsRowChangeEventHandler FieldDefinitionsRowChanging;
            
            public event FieldDefinitionsRowChangeEventHandler FieldDefinitionsRowDeleted;
            
            public event FieldDefinitionsRowChangeEventHandler FieldDefinitionsRowDeleting;
            
            public void AddFieldDefinitionsRow(FieldDefinitionsRow row) {
                this.Rows.Add(row);
            }
            
            public FieldDefinitionsRow AddFieldDefinitionsRow(int CollectionID, string Label, int DisplayOrder, string Name, int Type, string DCElement, string DCRefinement, bool Searchable, bool KeywordSearchable, bool Sortable, bool Browsable, int ControlledListID, int ShortView, int MediumView, int LongView) {
                FieldDefinitionsRow rowFieldDefinitionsRow = ((FieldDefinitionsRow)(this.NewRow()));
                rowFieldDefinitionsRow.ItemArray = new object[] {
                        null,
                        CollectionID,
                        Label,
                        DisplayOrder,
                        Name,
                        Type,
                        DCElement,
                        DCRefinement,
                        Searchable,
                        KeywordSearchable,
                        Sortable,
                        Browsable,
                        ControlledListID,
                        ShortView,
                        MediumView,
                        LongView};
                this.Rows.Add(rowFieldDefinitionsRow);
                return rowFieldDefinitionsRow;
            }
            
            public FieldDefinitionsRow FindByID(int ID) {
                return ((FieldDefinitionsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                FieldDefinitionsDataTable cln = ((FieldDefinitionsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new FieldDefinitionsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnLabel = this.Columns["Label"];
                this.columnDisplayOrder = this.Columns["DisplayOrder"];
                this.columnName = this.Columns["Name"];
                this.columnType = this.Columns["Type"];
                this.columnDCElement = this.Columns["DCElement"];
                this.columnDCRefinement = this.Columns["DCRefinement"];
                this.columnSearchable = this.Columns["Searchable"];
                this.columnKeywordSearchable = this.Columns["KeywordSearchable"];
                this.columnSortable = this.Columns["Sortable"];
                this.columnBrowsable = this.Columns["Browsable"];
                this.columnControlledListID = this.Columns["ControlledListID"];
                this.columnShortView = this.Columns["ShortView"];
                this.columnMediumView = this.Columns["MediumView"];
                this.columnLongView = this.Columns["LongView"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnLabel = new DataColumn("Label", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLabel);
                this.columnDisplayOrder = new DataColumn("DisplayOrder", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDisplayOrder);
                this.columnName = new DataColumn("Name", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnName);
                this.columnType = new DataColumn("Type", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnType);
                this.columnDCElement = new DataColumn("DCElement", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDCElement);
                this.columnDCRefinement = new DataColumn("DCRefinement", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDCRefinement);
                this.columnSearchable = new DataColumn("Searchable", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnSearchable);
                this.columnKeywordSearchable = new DataColumn("KeywordSearchable", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnKeywordSearchable);
                this.columnSortable = new DataColumn("Sortable", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnSortable);
                this.columnBrowsable = new DataColumn("Browsable", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnBrowsable);
                this.columnControlledListID = new DataColumn("ControlledListID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnControlledListID);
                this.columnShortView = new DataColumn("ShortView", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnShortView);
                this.columnMediumView = new DataColumn("MediumView", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMediumView);
                this.columnLongView = new DataColumn("LongView", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLongView);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey10", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnCollectionID.AllowDBNull = false;
                this.columnLabel.AllowDBNull = false;
                this.columnDisplayOrder.AllowDBNull = false;
                this.columnName.AllowDBNull = false;
                this.columnType.AllowDBNull = false;
                this.columnSearchable.AllowDBNull = false;
                this.columnKeywordSearchable.AllowDBNull = false;
                this.columnSortable.AllowDBNull = false;
                this.columnBrowsable.AllowDBNull = false;
                this.columnControlledListID.AllowDBNull = false;
                this.columnShortView.AllowDBNull = false;
                this.columnMediumView.AllowDBNull = false;
                this.columnLongView.AllowDBNull = false;
            }
            
            public FieldDefinitionsRow NewFieldDefinitionsRow() {
                return ((FieldDefinitionsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new FieldDefinitionsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(FieldDefinitionsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.FieldDefinitionsRowChanged != null)) {
                    this.FieldDefinitionsRowChanged(this, new FieldDefinitionsRowChangeEvent(((FieldDefinitionsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.FieldDefinitionsRowChanging != null)) {
                    this.FieldDefinitionsRowChanging(this, new FieldDefinitionsRowChangeEvent(((FieldDefinitionsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.FieldDefinitionsRowDeleted != null)) {
                    this.FieldDefinitionsRowDeleted(this, new FieldDefinitionsRowChangeEvent(((FieldDefinitionsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.FieldDefinitionsRowDeleting != null)) {
                    this.FieldDefinitionsRowDeleting(this, new FieldDefinitionsRowChangeEvent(((FieldDefinitionsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveFieldDefinitionsRow(FieldDefinitionsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FieldDefinitionsRow : DataRow {
            
            private FieldDefinitionsDataTable tableFieldDefinitions;
            
            internal FieldDefinitionsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableFieldDefinitions = ((FieldDefinitionsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableFieldDefinitions.IDColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.IDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableFieldDefinitions.CollectionIDColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.CollectionIDColumn] = value;
                }
            }
            
            public string Label {
                get {
                    return ((string)(this[this.tableFieldDefinitions.LabelColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.LabelColumn] = value;
                }
            }
            
            public int DisplayOrder {
                get {
                    return ((int)(this[this.tableFieldDefinitions.DisplayOrderColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.DisplayOrderColumn] = value;
                }
            }
            
            public string Name {
                get {
                    return ((string)(this[this.tableFieldDefinitions.NameColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.NameColumn] = value;
                }
            }
            
            public int Type {
                get {
                    return ((int)(this[this.tableFieldDefinitions.TypeColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.TypeColumn] = value;
                }
            }
            
            public string DCElement {
                get {
                    try {
                        return ((string)(this[this.tableFieldDefinitions.DCElementColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableFieldDefinitions.DCElementColumn] = value;
                }
            }
            
            public string DCRefinement {
                get {
                    try {
                        return ((string)(this[this.tableFieldDefinitions.DCRefinementColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableFieldDefinitions.DCRefinementColumn] = value;
                }
            }
            
            public bool Searchable {
                get {
                    return ((bool)(this[this.tableFieldDefinitions.SearchableColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.SearchableColumn] = value;
                }
            }
            
            public bool KeywordSearchable {
                get {
                    return ((bool)(this[this.tableFieldDefinitions.KeywordSearchableColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.KeywordSearchableColumn] = value;
                }
            }
            
            public bool Sortable {
                get {
                    return ((bool)(this[this.tableFieldDefinitions.SortableColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.SortableColumn] = value;
                }
            }
            
            public bool Browsable {
                get {
                    return ((bool)(this[this.tableFieldDefinitions.BrowsableColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.BrowsableColumn] = value;
                }
            }
            
            public int ControlledListID {
                get {
                    return ((int)(this[this.tableFieldDefinitions.ControlledListIDColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.ControlledListIDColumn] = value;
                }
            }
            
            public int ShortView {
                get {
                    return ((int)(this[this.tableFieldDefinitions.ShortViewColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.ShortViewColumn] = value;
                }
            }
            
            public int MediumView {
                get {
                    return ((int)(this[this.tableFieldDefinitions.MediumViewColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.MediumViewColumn] = value;
                }
            }
            
            public int LongView {
                get {
                    return ((int)(this[this.tableFieldDefinitions.LongViewColumn]));
                }
                set {
                    this[this.tableFieldDefinitions.LongViewColumn] = value;
                }
            }
            
            public bool IsDCElementNull() {
                return this.IsNull(this.tableFieldDefinitions.DCElementColumn);
            }
            
            public void SetDCElementNull() {
                this[this.tableFieldDefinitions.DCElementColumn] = System.Convert.DBNull;
            }
            
            public bool IsDCRefinementNull() {
                return this.IsNull(this.tableFieldDefinitions.DCRefinementColumn);
            }
            
            public void SetDCRefinementNull() {
                this[this.tableFieldDefinitions.DCRefinementColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FieldDefinitionsRowChangeEvent : EventArgs {
            
            private FieldDefinitionsRow eventRow;
            
            private DataRowAction eventAction;
            
            public FieldDefinitionsRowChangeEvent(FieldDefinitionsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public FieldDefinitionsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FoldersDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnTitle;
            
            internal FoldersDataTable() : 
                    base("Folders") {
                this.InitClass();
            }
            
            internal FoldersDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            public FoldersRow this[int index] {
                get {
                    return ((FoldersRow)(this.Rows[index]));
                }
            }
            
            public event FoldersRowChangeEventHandler FoldersRowChanged;
            
            public event FoldersRowChangeEventHandler FoldersRowChanging;
            
            public event FoldersRowChangeEventHandler FoldersRowDeleted;
            
            public event FoldersRowChangeEventHandler FoldersRowDeleting;
            
            public void AddFoldersRow(FoldersRow row) {
                this.Rows.Add(row);
            }
            
            public FoldersRow AddFoldersRow(int UserID, string Title) {
                FoldersRow rowFoldersRow = ((FoldersRow)(this.NewRow()));
                rowFoldersRow.ItemArray = new object[] {
                        null,
                        UserID,
                        Title};
                this.Rows.Add(rowFoldersRow);
                return rowFoldersRow;
            }
            
            public FoldersRow FindByID(int ID) {
                return ((FoldersRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                FoldersDataTable cln = ((FoldersDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new FoldersDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnTitle = this.Columns["Title"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey11", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnUserID.AllowDBNull = false;
                this.columnTitle.AllowDBNull = false;
            }
            
            public FoldersRow NewFoldersRow() {
                return ((FoldersRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new FoldersRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(FoldersRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.FoldersRowChanged != null)) {
                    this.FoldersRowChanged(this, new FoldersRowChangeEvent(((FoldersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.FoldersRowChanging != null)) {
                    this.FoldersRowChanging(this, new FoldersRowChangeEvent(((FoldersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.FoldersRowDeleted != null)) {
                    this.FoldersRowDeleted(this, new FoldersRowChangeEvent(((FoldersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.FoldersRowDeleting != null)) {
                    this.FoldersRowDeleting(this, new FoldersRowChangeEvent(((FoldersRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveFoldersRow(FoldersRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FoldersRow : DataRow {
            
            private FoldersDataTable tableFolders;
            
            internal FoldersRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableFolders = ((FoldersDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableFolders.IDColumn]));
                }
                set {
                    this[this.tableFolders.IDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableFolders.UserIDColumn]));
                }
                set {
                    this[this.tableFolders.UserIDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableFolders.TitleColumn]));
                }
                set {
                    this[this.tableFolders.TitleColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class FoldersRowChangeEvent : EventArgs {
            
            private FoldersRow eventRow;
            
            private DataRowAction eventAction;
            
            public FoldersRowChangeEvent(FoldersRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public FoldersRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ImageAnnotationsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnImageID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnAnnotation;
            
            internal ImageAnnotationsDataTable() : 
                    base("ImageAnnotations") {
                this.InitClass();
            }
            
            internal ImageAnnotationsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn ImageIDColumn {
                get {
                    return this.columnImageID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn AnnotationColumn {
                get {
                    return this.columnAnnotation;
                }
            }
            
            public ImageAnnotationsRow this[int index] {
                get {
                    return ((ImageAnnotationsRow)(this.Rows[index]));
                }
            }
            
            public event ImageAnnotationsRowChangeEventHandler ImageAnnotationsRowChanged;
            
            public event ImageAnnotationsRowChangeEventHandler ImageAnnotationsRowChanging;
            
            public event ImageAnnotationsRowChangeEventHandler ImageAnnotationsRowDeleted;
            
            public event ImageAnnotationsRowChangeEventHandler ImageAnnotationsRowDeleting;
            
            public void AddImageAnnotationsRow(ImageAnnotationsRow row) {
                this.Rows.Add(row);
            }
            
            public ImageAnnotationsRow AddImageAnnotationsRow(int ImageID, int CollectionID, int UserID, string Annotation) {
                ImageAnnotationsRow rowImageAnnotationsRow = ((ImageAnnotationsRow)(this.NewRow()));
                rowImageAnnotationsRow.ItemArray = new object[] {
                        ImageID,
                        CollectionID,
                        UserID,
                        Annotation};
                this.Rows.Add(rowImageAnnotationsRow);
                return rowImageAnnotationsRow;
            }
            
            public ImageAnnotationsRow FindByImageIDCollectionIDUserID(int ImageID, int CollectionID, int UserID) {
                return ((ImageAnnotationsRow)(this.Rows.Find(new object[] {
                            ImageID,
                            CollectionID,
                            UserID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                ImageAnnotationsDataTable cln = ((ImageAnnotationsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new ImageAnnotationsDataTable();
            }
            
            internal void InitVars() {
                this.columnImageID = this.Columns["ImageID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnAnnotation = this.Columns["Annotation"];
            }
            
            private void InitClass() {
                this.columnImageID = new DataColumn("ImageID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnImageID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnAnnotation = new DataColumn("Annotation", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAnnotation);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey12", new DataColumn[] {
                                this.columnImageID,
                                this.columnCollectionID,
                                this.columnUserID}, true));
                this.columnImageID.AllowDBNull = false;
                this.columnCollectionID.AllowDBNull = false;
                this.columnUserID.AllowDBNull = false;
            }
            
            public ImageAnnotationsRow NewImageAnnotationsRow() {
                return ((ImageAnnotationsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new ImageAnnotationsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(ImageAnnotationsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ImageAnnotationsRowChanged != null)) {
                    this.ImageAnnotationsRowChanged(this, new ImageAnnotationsRowChangeEvent(((ImageAnnotationsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ImageAnnotationsRowChanging != null)) {
                    this.ImageAnnotationsRowChanging(this, new ImageAnnotationsRowChangeEvent(((ImageAnnotationsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ImageAnnotationsRowDeleted != null)) {
                    this.ImageAnnotationsRowDeleted(this, new ImageAnnotationsRowChangeEvent(((ImageAnnotationsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ImageAnnotationsRowDeleting != null)) {
                    this.ImageAnnotationsRowDeleting(this, new ImageAnnotationsRowChangeEvent(((ImageAnnotationsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveImageAnnotationsRow(ImageAnnotationsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ImageAnnotationsRow : DataRow {
            
            private ImageAnnotationsDataTable tableImageAnnotations;
            
            internal ImageAnnotationsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableImageAnnotations = ((ImageAnnotationsDataTable)(this.Table));
            }
            
            public int ImageID {
                get {
                    return ((int)(this[this.tableImageAnnotations.ImageIDColumn]));
                }
                set {
                    this[this.tableImageAnnotations.ImageIDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableImageAnnotations.CollectionIDColumn]));
                }
                set {
                    this[this.tableImageAnnotations.CollectionIDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableImageAnnotations.UserIDColumn]));
                }
                set {
                    this[this.tableImageAnnotations.UserIDColumn] = value;
                }
            }
            
            public string Annotation {
                get {
                    try {
                        return ((string)(this[this.tableImageAnnotations.AnnotationColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImageAnnotations.AnnotationColumn] = value;
                }
            }
            
            public bool IsAnnotationNull() {
                return this.IsNull(this.tableImageAnnotations.AnnotationColumn);
            }
            
            public void SetAnnotationNull() {
                this[this.tableImageAnnotations.AnnotationColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ImageAnnotationsRowChangeEvent : EventArgs {
            
            private ImageAnnotationsRow eventRow;
            
            private DataRowAction eventAction;
            
            public ImageAnnotationsRowChangeEvent(ImageAnnotationsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public ImageAnnotationsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ImagesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnResource;
            
            private DataColumn columnCreated;
            
            private DataColumn columnModified;
            
            private DataColumn columnUserID;
            
            private DataColumn columnFlags;
            
            private DataColumn columnCachedUntil;
            
            private DataColumn columnExpires;
            
            private DataColumn columnRemoteID;
            
            private DataColumn columnRecordStatus;
            
            private DataColumn columnMimeType;
            
            internal ImagesDataTable() : 
                    base("Images") {
                this.InitClass();
            }
            
            internal ImagesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn ResourceColumn {
                get {
                    return this.columnResource;
                }
            }
            
            internal DataColumn CreatedColumn {
                get {
                    return this.columnCreated;
                }
            }
            
            internal DataColumn ModifiedColumn {
                get {
                    return this.columnModified;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn FlagsColumn {
                get {
                    return this.columnFlags;
                }
            }
            
            internal DataColumn CachedUntilColumn {
                get {
                    return this.columnCachedUntil;
                }
            }
            
            internal DataColumn ExpiresColumn {
                get {
                    return this.columnExpires;
                }
            }
            
            internal DataColumn RemoteIDColumn {
                get {
                    return this.columnRemoteID;
                }
            }
            
            internal DataColumn RecordStatusColumn {
                get {
                    return this.columnRecordStatus;
                }
            }
            
            internal DataColumn MimeTypeColumn {
                get {
                    return this.columnMimeType;
                }
            }
            
            public ImagesRow this[int index] {
                get {
                    return ((ImagesRow)(this.Rows[index]));
                }
            }
            
            public event ImagesRowChangeEventHandler ImagesRowChanged;
            
            public event ImagesRowChangeEventHandler ImagesRowChanging;
            
            public event ImagesRowChangeEventHandler ImagesRowDeleted;
            
            public event ImagesRowChangeEventHandler ImagesRowDeleting;
            
            public void AddImagesRow(ImagesRow row) {
                this.Rows.Add(row);
            }
            
            public ImagesRow AddImagesRow(int CollectionID, string Resource, System.DateTime Created, System.DateTime Modified, int UserID, int Flags, System.DateTime CachedUntil, System.DateTime Expires, string RemoteID, int RecordStatus, string MimeType) {
                ImagesRow rowImagesRow = ((ImagesRow)(this.NewRow()));
                rowImagesRow.ItemArray = new object[] {
                        null,
                        CollectionID,
                        Resource,
                        Created,
                        Modified,
                        UserID,
                        Flags,
                        CachedUntil,
                        Expires,
                        RemoteID,
                        RecordStatus,
                        MimeType};
                this.Rows.Add(rowImagesRow);
                return rowImagesRow;
            }
            
            public ImagesRow FindByIDCollectionID(int ID, int CollectionID) {
                return ((ImagesRow)(this.Rows.Find(new object[] {
                            ID,
                            CollectionID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                ImagesDataTable cln = ((ImagesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new ImagesDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnResource = this.Columns["Resource"];
                this.columnCreated = this.Columns["Created"];
                this.columnModified = this.Columns["Modified"];
                this.columnUserID = this.Columns["UserID"];
                this.columnFlags = this.Columns["Flags"];
                this.columnCachedUntil = this.Columns["CachedUntil"];
                this.columnExpires = this.Columns["Expires"];
                this.columnRemoteID = this.Columns["RemoteID"];
                this.columnRecordStatus = this.Columns["RecordStatus"];
                this.columnMimeType = this.Columns["MimeType"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnResource = new DataColumn("Resource", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnResource);
                this.columnCreated = new DataColumn("Created", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCreated);
                this.columnModified = new DataColumn("Modified", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnModified);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnFlags = new DataColumn("Flags", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFlags);
                this.columnCachedUntil = new DataColumn("CachedUntil", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCachedUntil);
                this.columnExpires = new DataColumn("Expires", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnExpires);
                this.columnRemoteID = new DataColumn("RemoteID", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnRemoteID);
                this.columnRecordStatus = new DataColumn("RecordStatus", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnRecordStatus);
                this.columnMimeType = new DataColumn("MimeType", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMimeType);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey13", new DataColumn[] {
                                this.columnID,
                                this.columnCollectionID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnCollectionID.AllowDBNull = false;
                this.columnResource.AllowDBNull = false;
            }
            
            public ImagesRow NewImagesRow() {
                return ((ImagesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new ImagesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(ImagesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ImagesRowChanged != null)) {
                    this.ImagesRowChanged(this, new ImagesRowChangeEvent(((ImagesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ImagesRowChanging != null)) {
                    this.ImagesRowChanging(this, new ImagesRowChangeEvent(((ImagesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ImagesRowDeleted != null)) {
                    this.ImagesRowDeleted(this, new ImagesRowChangeEvent(((ImagesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ImagesRowDeleting != null)) {
                    this.ImagesRowDeleting(this, new ImagesRowChangeEvent(((ImagesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveImagesRow(ImagesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ImagesRow : DataRow {
            
            private ImagesDataTable tableImages;
            
            internal ImagesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableImages = ((ImagesDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableImages.IDColumn]));
                }
                set {
                    this[this.tableImages.IDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableImages.CollectionIDColumn]));
                }
                set {
                    this[this.tableImages.CollectionIDColumn] = value;
                }
            }
            
            public string Resource {
                get {
                    return ((string)(this[this.tableImages.ResourceColumn]));
                }
                set {
                    this[this.tableImages.ResourceColumn] = value;
                }
            }
            
            public System.DateTime Created {
                get {
                    try {
                        return ((System.DateTime)(this[this.tableImages.CreatedColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.CreatedColumn] = value;
                }
            }
            
            public System.DateTime Modified {
                get {
                    try {
                        return ((System.DateTime)(this[this.tableImages.ModifiedColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.ModifiedColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    try {
                        return ((int)(this[this.tableImages.UserIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.UserIDColumn] = value;
                }
            }
            
            public int Flags {
                get {
                    try {
                        return ((int)(this[this.tableImages.FlagsColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.FlagsColumn] = value;
                }
            }
            
            public System.DateTime CachedUntil {
                get {
                    try {
                        return ((System.DateTime)(this[this.tableImages.CachedUntilColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.CachedUntilColumn] = value;
                }
            }
            
            public System.DateTime Expires {
                get {
                    try {
                        return ((System.DateTime)(this[this.tableImages.ExpiresColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.ExpiresColumn] = value;
                }
            }
            
            public string RemoteID {
                get {
                    try {
                        return ((string)(this[this.tableImages.RemoteIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.RemoteIDColumn] = value;
                }
            }
            
            public int RecordStatus {
                get {
                    try {
                        return ((int)(this[this.tableImages.RecordStatusColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.RecordStatusColumn] = value;
                }
            }
            
            public string MimeType {
                get {
                    try {
                        return ((string)(this[this.tableImages.MimeTypeColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableImages.MimeTypeColumn] = value;
                }
            }
            
            public bool IsCreatedNull() {
                return this.IsNull(this.tableImages.CreatedColumn);
            }
            
            public void SetCreatedNull() {
                this[this.tableImages.CreatedColumn] = System.Convert.DBNull;
            }
            
            public bool IsModifiedNull() {
                return this.IsNull(this.tableImages.ModifiedColumn);
            }
            
            public void SetModifiedNull() {
                this[this.tableImages.ModifiedColumn] = System.Convert.DBNull;
            }
            
            public bool IsUserIDNull() {
                return this.IsNull(this.tableImages.UserIDColumn);
            }
            
            public void SetUserIDNull() {
                this[this.tableImages.UserIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsFlagsNull() {
                return this.IsNull(this.tableImages.FlagsColumn);
            }
            
            public void SetFlagsNull() {
                this[this.tableImages.FlagsColumn] = System.Convert.DBNull;
            }
            
            public bool IsCachedUntilNull() {
                return this.IsNull(this.tableImages.CachedUntilColumn);
            }
            
            public void SetCachedUntilNull() {
                this[this.tableImages.CachedUntilColumn] = System.Convert.DBNull;
            }
            
            public bool IsExpiresNull() {
                return this.IsNull(this.tableImages.ExpiresColumn);
            }
            
            public void SetExpiresNull() {
                this[this.tableImages.ExpiresColumn] = System.Convert.DBNull;
            }
            
            public bool IsRemoteIDNull() {
                return this.IsNull(this.tableImages.RemoteIDColumn);
            }
            
            public void SetRemoteIDNull() {
                this[this.tableImages.RemoteIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsRecordStatusNull() {
                return this.IsNull(this.tableImages.RecordStatusColumn);
            }
            
            public void SetRecordStatusNull() {
                this[this.tableImages.RecordStatusColumn] = System.Convert.DBNull;
            }
            
            public bool IsMimeTypeNull() {
                return this.IsNull(this.tableImages.MimeTypeColumn);
            }
            
            public void SetMimeTypeNull() {
                this[this.tableImages.MimeTypeColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class ImagesRowChangeEvent : EventArgs {
            
            private ImagesRow eventRow;
            
            private DataRowAction eventAction;
            
            public ImagesRowChangeEvent(ImagesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public ImagesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class PropertiesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnObjectType;
            
            private DataColumn columnObjectID;
            
            private DataColumn columnProperty;
            
            private DataColumn columnPropertyValue;
            
            internal PropertiesDataTable() : 
                    base("Properties") {
                this.InitClass();
            }
            
            internal PropertiesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn ObjectTypeColumn {
                get {
                    return this.columnObjectType;
                }
            }
            
            internal DataColumn ObjectIDColumn {
                get {
                    return this.columnObjectID;
                }
            }
            
            internal DataColumn PropertyColumn {
                get {
                    return this.columnProperty;
                }
            }
            
            internal DataColumn PropertyValueColumn {
                get {
                    return this.columnPropertyValue;
                }
            }
            
            public PropertiesRow this[int index] {
                get {
                    return ((PropertiesRow)(this.Rows[index]));
                }
            }
            
            public event PropertiesRowChangeEventHandler PropertiesRowChanged;
            
            public event PropertiesRowChangeEventHandler PropertiesRowChanging;
            
            public event PropertiesRowChangeEventHandler PropertiesRowDeleted;
            
            public event PropertiesRowChangeEventHandler PropertiesRowDeleting;
            
            public void AddPropertiesRow(PropertiesRow row) {
                this.Rows.Add(row);
            }
            
            public PropertiesRow AddPropertiesRow(string ObjectType, int ObjectID, string Property, string PropertyValue) {
                PropertiesRow rowPropertiesRow = ((PropertiesRow)(this.NewRow()));
                rowPropertiesRow.ItemArray = new object[] {
                        null,
                        ObjectType,
                        ObjectID,
                        Property,
                        PropertyValue};
                this.Rows.Add(rowPropertiesRow);
                return rowPropertiesRow;
            }
            
            public PropertiesRow FindByIDObjectTypeObjectIDProperty(int ID, string ObjectType, int ObjectID, string Property) {
                return ((PropertiesRow)(this.Rows.Find(new object[] {
                            ID,
                            ObjectType,
                            ObjectID,
                            Property})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                PropertiesDataTable cln = ((PropertiesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new PropertiesDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnObjectType = this.Columns["ObjectType"];
                this.columnObjectID = this.Columns["ObjectID"];
                this.columnProperty = this.Columns["Property"];
                this.columnPropertyValue = this.Columns["PropertyValue"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnObjectType = new DataColumn("ObjectType", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnObjectType);
                this.columnObjectID = new DataColumn("ObjectID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnObjectID);
                this.columnProperty = new DataColumn("Property", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnProperty);
                this.columnPropertyValue = new DataColumn("PropertyValue", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnPropertyValue);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey14", new DataColumn[] {
                                this.columnID,
                                this.columnObjectType,
                                this.columnObjectID,
                                this.columnProperty}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnObjectType.AllowDBNull = false;
                this.columnObjectID.AllowDBNull = false;
                this.columnProperty.AllowDBNull = false;
            }
            
            public PropertiesRow NewPropertiesRow() {
                return ((PropertiesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new PropertiesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(PropertiesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.PropertiesRowChanged != null)) {
                    this.PropertiesRowChanged(this, new PropertiesRowChangeEvent(((PropertiesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.PropertiesRowChanging != null)) {
                    this.PropertiesRowChanging(this, new PropertiesRowChangeEvent(((PropertiesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.PropertiesRowDeleted != null)) {
                    this.PropertiesRowDeleted(this, new PropertiesRowChangeEvent(((PropertiesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.PropertiesRowDeleting != null)) {
                    this.PropertiesRowDeleting(this, new PropertiesRowChangeEvent(((PropertiesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemovePropertiesRow(PropertiesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class PropertiesRow : DataRow {
            
            private PropertiesDataTable tableProperties;
            
            internal PropertiesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableProperties = ((PropertiesDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableProperties.IDColumn]));
                }
                set {
                    this[this.tableProperties.IDColumn] = value;
                }
            }
            
            public string ObjectType {
                get {
                    return ((string)(this[this.tableProperties.ObjectTypeColumn]));
                }
                set {
                    this[this.tableProperties.ObjectTypeColumn] = value;
                }
            }
            
            public int ObjectID {
                get {
                    return ((int)(this[this.tableProperties.ObjectIDColumn]));
                }
                set {
                    this[this.tableProperties.ObjectIDColumn] = value;
                }
            }
            
            public string Property {
                get {
                    return ((string)(this[this.tableProperties.PropertyColumn]));
                }
                set {
                    this[this.tableProperties.PropertyColumn] = value;
                }
            }
            
            public string PropertyValue {
                get {
                    try {
                        return ((string)(this[this.tableProperties.PropertyValueColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProperties.PropertyValueColumn] = value;
                }
            }
            
            public bool IsPropertyValueNull() {
                return this.IsNull(this.tableProperties.PropertyValueColumn);
            }
            
            public void SetPropertyValueNull() {
                this[this.tableProperties.PropertyValueColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class PropertiesRowChangeEvent : EventArgs {
            
            private PropertiesRow eventRow;
            
            private DataRowAction eventAction;
            
            public PropertiesRowChangeEvent(PropertiesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public PropertiesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class RecordMaintenanceDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnImageID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnModificationDate;
            
            private DataColumn columnModification;
            
            private DataColumn columnImageData;
            
            internal RecordMaintenanceDataTable() : 
                    base("RecordMaintenance") {
                this.InitClass();
            }
            
            internal RecordMaintenanceDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn ImageIDColumn {
                get {
                    return this.columnImageID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn ModificationDateColumn {
                get {
                    return this.columnModificationDate;
                }
            }
            
            internal DataColumn ModificationColumn {
                get {
                    return this.columnModification;
                }
            }
            
            internal DataColumn ImageDataColumn {
                get {
                    return this.columnImageData;
                }
            }
            
            public RecordMaintenanceRow this[int index] {
                get {
                    return ((RecordMaintenanceRow)(this.Rows[index]));
                }
            }
            
            public event RecordMaintenanceRowChangeEventHandler RecordMaintenanceRowChanged;
            
            public event RecordMaintenanceRowChangeEventHandler RecordMaintenanceRowChanging;
            
            public event RecordMaintenanceRowChangeEventHandler RecordMaintenanceRowDeleted;
            
            public event RecordMaintenanceRowChangeEventHandler RecordMaintenanceRowDeleting;
            
            public void AddRecordMaintenanceRow(RecordMaintenanceRow row) {
                this.Rows.Add(row);
            }
            
            public RecordMaintenanceRow AddRecordMaintenanceRow(int ImageID, int CollectionID, int UserID, System.DateTime ModificationDate, string Modification, string ImageData) {
                RecordMaintenanceRow rowRecordMaintenanceRow = ((RecordMaintenanceRow)(this.NewRow()));
                rowRecordMaintenanceRow.ItemArray = new object[] {
                        null,
                        ImageID,
                        CollectionID,
                        UserID,
                        ModificationDate,
                        Modification,
                        ImageData};
                this.Rows.Add(rowRecordMaintenanceRow);
                return rowRecordMaintenanceRow;
            }
            
            public RecordMaintenanceRow FindByID(int ID) {
                return ((RecordMaintenanceRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                RecordMaintenanceDataTable cln = ((RecordMaintenanceDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new RecordMaintenanceDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnImageID = this.Columns["ImageID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnModificationDate = this.Columns["ModificationDate"];
                this.columnModification = this.Columns["Modification"];
                this.columnImageData = this.Columns["ImageData"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnImageID = new DataColumn("ImageID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnImageID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnModificationDate = new DataColumn("ModificationDate", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnModificationDate);
                this.columnModification = new DataColumn("Modification", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnModification);
                this.columnImageData = new DataColumn("ImageData", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnImageData);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey15", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnImageID.AllowDBNull = false;
                this.columnCollectionID.AllowDBNull = false;
                this.columnUserID.AllowDBNull = false;
                this.columnModificationDate.AllowDBNull = false;
                this.columnModification.AllowDBNull = false;
            }
            
            public RecordMaintenanceRow NewRecordMaintenanceRow() {
                return ((RecordMaintenanceRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new RecordMaintenanceRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(RecordMaintenanceRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.RecordMaintenanceRowChanged != null)) {
                    this.RecordMaintenanceRowChanged(this, new RecordMaintenanceRowChangeEvent(((RecordMaintenanceRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.RecordMaintenanceRowChanging != null)) {
                    this.RecordMaintenanceRowChanging(this, new RecordMaintenanceRowChangeEvent(((RecordMaintenanceRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.RecordMaintenanceRowDeleted != null)) {
                    this.RecordMaintenanceRowDeleted(this, new RecordMaintenanceRowChangeEvent(((RecordMaintenanceRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.RecordMaintenanceRowDeleting != null)) {
                    this.RecordMaintenanceRowDeleting(this, new RecordMaintenanceRowChangeEvent(((RecordMaintenanceRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveRecordMaintenanceRow(RecordMaintenanceRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class RecordMaintenanceRow : DataRow {
            
            private RecordMaintenanceDataTable tableRecordMaintenance;
            
            internal RecordMaintenanceRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableRecordMaintenance = ((RecordMaintenanceDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableRecordMaintenance.IDColumn]));
                }
                set {
                    this[this.tableRecordMaintenance.IDColumn] = value;
                }
            }
            
            public int ImageID {
                get {
                    return ((int)(this[this.tableRecordMaintenance.ImageIDColumn]));
                }
                set {
                    this[this.tableRecordMaintenance.ImageIDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableRecordMaintenance.CollectionIDColumn]));
                }
                set {
                    this[this.tableRecordMaintenance.CollectionIDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableRecordMaintenance.UserIDColumn]));
                }
                set {
                    this[this.tableRecordMaintenance.UserIDColumn] = value;
                }
            }
            
            public System.DateTime ModificationDate {
                get {
                    return ((System.DateTime)(this[this.tableRecordMaintenance.ModificationDateColumn]));
                }
                set {
                    this[this.tableRecordMaintenance.ModificationDateColumn] = value;
                }
            }
            
            public string Modification {
                get {
                    return ((string)(this[this.tableRecordMaintenance.ModificationColumn]));
                }
                set {
                    this[this.tableRecordMaintenance.ModificationColumn] = value;
                }
            }
            
            public string ImageData {
                get {
                    try {
                        return ((string)(this[this.tableRecordMaintenance.ImageDataColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableRecordMaintenance.ImageDataColumn] = value;
                }
            }
            
            public bool IsImageDataNull() {
                return this.IsNull(this.tableRecordMaintenance.ImageDataColumn);
            }
            
            public void SetImageDataNull() {
                this[this.tableRecordMaintenance.ImageDataColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class RecordMaintenanceRowChangeEvent : EventArgs {
            
            private RecordMaintenanceRow eventRow;
            
            private DataRowAction eventAction;
            
            public RecordMaintenanceRowChangeEvent(RecordMaintenanceRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public RecordMaintenanceRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class RemoteCollectionAccessDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnSubnet;
            
            private DataColumn columnMask;
            
            private DataColumn columnCacheTimeSpan;
            
            private DataColumn columnExpirationTimeSpan;
            
            private DataColumn columnSearchResults;
            
            internal RemoteCollectionAccessDataTable() : 
                    base("RemoteCollectionAccess") {
                this.InitClass();
            }
            
            internal RemoteCollectionAccessDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn SubnetColumn {
                get {
                    return this.columnSubnet;
                }
            }
            
            internal DataColumn MaskColumn {
                get {
                    return this.columnMask;
                }
            }
            
            internal DataColumn CacheTimeSpanColumn {
                get {
                    return this.columnCacheTimeSpan;
                }
            }
            
            internal DataColumn ExpirationTimeSpanColumn {
                get {
                    return this.columnExpirationTimeSpan;
                }
            }
            
            internal DataColumn SearchResultsColumn {
                get {
                    return this.columnSearchResults;
                }
            }
            
            public RemoteCollectionAccessRow this[int index] {
                get {
                    return ((RemoteCollectionAccessRow)(this.Rows[index]));
                }
            }
            
            public event RemoteCollectionAccessRowChangeEventHandler RemoteCollectionAccessRowChanged;
            
            public event RemoteCollectionAccessRowChangeEventHandler RemoteCollectionAccessRowChanging;
            
            public event RemoteCollectionAccessRowChangeEventHandler RemoteCollectionAccessRowDeleted;
            
            public event RemoteCollectionAccessRowChangeEventHandler RemoteCollectionAccessRowDeleting;
            
            public void AddRemoteCollectionAccessRow(RemoteCollectionAccessRow row) {
                this.Rows.Add(row);
            }
            
            public RemoteCollectionAccessRow AddRemoteCollectionAccessRow(int CollectionID, int UserID, string Subnet, string Mask, int CacheTimeSpan, int ExpirationTimeSpan, int SearchResults) {
                RemoteCollectionAccessRow rowRemoteCollectionAccessRow = ((RemoteCollectionAccessRow)(this.NewRow()));
                rowRemoteCollectionAccessRow.ItemArray = new object[] {
                        null,
                        CollectionID,
                        UserID,
                        Subnet,
                        Mask,
                        CacheTimeSpan,
                        ExpirationTimeSpan,
                        SearchResults};
                this.Rows.Add(rowRemoteCollectionAccessRow);
                return rowRemoteCollectionAccessRow;
            }
            
            public RemoteCollectionAccessRow FindByID(int ID) {
                return ((RemoteCollectionAccessRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                RemoteCollectionAccessDataTable cln = ((RemoteCollectionAccessDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new RemoteCollectionAccessDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnSubnet = this.Columns["Subnet"];
                this.columnMask = this.Columns["Mask"];
                this.columnCacheTimeSpan = this.Columns["CacheTimeSpan"];
                this.columnExpirationTimeSpan = this.Columns["ExpirationTimeSpan"];
                this.columnSearchResults = this.Columns["SearchResults"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnSubnet = new DataColumn("Subnet", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnSubnet);
                this.columnMask = new DataColumn("Mask", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMask);
                this.columnCacheTimeSpan = new DataColumn("CacheTimeSpan", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCacheTimeSpan);
                this.columnExpirationTimeSpan = new DataColumn("ExpirationTimeSpan", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnExpirationTimeSpan);
                this.columnSearchResults = new DataColumn("SearchResults", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnSearchResults);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey16", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnCollectionID.AllowDBNull = false;
                this.columnUserID.AllowDBNull = false;
                this.columnSubnet.AllowDBNull = false;
                this.columnMask.AllowDBNull = false;
                this.columnCacheTimeSpan.AllowDBNull = false;
                this.columnExpirationTimeSpan.AllowDBNull = false;
                this.columnSearchResults.AllowDBNull = false;
            }
            
            public RemoteCollectionAccessRow NewRemoteCollectionAccessRow() {
                return ((RemoteCollectionAccessRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new RemoteCollectionAccessRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(RemoteCollectionAccessRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.RemoteCollectionAccessRowChanged != null)) {
                    this.RemoteCollectionAccessRowChanged(this, new RemoteCollectionAccessRowChangeEvent(((RemoteCollectionAccessRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.RemoteCollectionAccessRowChanging != null)) {
                    this.RemoteCollectionAccessRowChanging(this, new RemoteCollectionAccessRowChangeEvent(((RemoteCollectionAccessRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.RemoteCollectionAccessRowDeleted != null)) {
                    this.RemoteCollectionAccessRowDeleted(this, new RemoteCollectionAccessRowChangeEvent(((RemoteCollectionAccessRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.RemoteCollectionAccessRowDeleting != null)) {
                    this.RemoteCollectionAccessRowDeleting(this, new RemoteCollectionAccessRowChangeEvent(((RemoteCollectionAccessRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveRemoteCollectionAccessRow(RemoteCollectionAccessRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class RemoteCollectionAccessRow : DataRow {
            
            private RemoteCollectionAccessDataTable tableRemoteCollectionAccess;
            
            internal RemoteCollectionAccessRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableRemoteCollectionAccess = ((RemoteCollectionAccessDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableRemoteCollectionAccess.IDColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.IDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableRemoteCollectionAccess.CollectionIDColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.CollectionIDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableRemoteCollectionAccess.UserIDColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.UserIDColumn] = value;
                }
            }
            
            public string Subnet {
                get {
                    return ((string)(this[this.tableRemoteCollectionAccess.SubnetColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.SubnetColumn] = value;
                }
            }
            
            public string Mask {
                get {
                    return ((string)(this[this.tableRemoteCollectionAccess.MaskColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.MaskColumn] = value;
                }
            }
            
            public int CacheTimeSpan {
                get {
                    return ((int)(this[this.tableRemoteCollectionAccess.CacheTimeSpanColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.CacheTimeSpanColumn] = value;
                }
            }
            
            public int ExpirationTimeSpan {
                get {
                    return ((int)(this[this.tableRemoteCollectionAccess.ExpirationTimeSpanColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.ExpirationTimeSpanColumn] = value;
                }
            }
            
            public int SearchResults {
                get {
                    return ((int)(this[this.tableRemoteCollectionAccess.SearchResultsColumn]));
                }
                set {
                    this[this.tableRemoteCollectionAccess.SearchResultsColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class RemoteCollectionAccessRowChangeEvent : EventArgs {
            
            private RemoteCollectionAccessRow eventRow;
            
            private DataRowAction eventAction;
            
            public RemoteCollectionAccessRowChangeEvent(RemoteCollectionAccessRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public RemoteCollectionAccessRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SavedSearchesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnTitle;
            
            private DataColumn columnParameters;
            
            private DataColumn columnLastRun;
            
            private DataColumn columnNewRecords;
            
            internal SavedSearchesDataTable() : 
                    base("SavedSearches") {
                this.InitClass();
            }
            
            internal SavedSearchesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn ParametersColumn {
                get {
                    return this.columnParameters;
                }
            }
            
            internal DataColumn LastRunColumn {
                get {
                    return this.columnLastRun;
                }
            }
            
            internal DataColumn NewRecordsColumn {
                get {
                    return this.columnNewRecords;
                }
            }
            
            public SavedSearchesRow this[int index] {
                get {
                    return ((SavedSearchesRow)(this.Rows[index]));
                }
            }
            
            public event SavedSearchesRowChangeEventHandler SavedSearchesRowChanged;
            
            public event SavedSearchesRowChangeEventHandler SavedSearchesRowChanging;
            
            public event SavedSearchesRowChangeEventHandler SavedSearchesRowDeleted;
            
            public event SavedSearchesRowChangeEventHandler SavedSearchesRowDeleting;
            
            public void AddSavedSearchesRow(SavedSearchesRow row) {
                this.Rows.Add(row);
            }
            
            public SavedSearchesRow AddSavedSearchesRow(int UserID, string Title, string Parameters, System.DateTime LastRun, int NewRecords) {
                SavedSearchesRow rowSavedSearchesRow = ((SavedSearchesRow)(this.NewRow()));
                rowSavedSearchesRow.ItemArray = new object[] {
                        null,
                        UserID,
                        Title,
                        Parameters,
                        LastRun,
                        NewRecords};
                this.Rows.Add(rowSavedSearchesRow);
                return rowSavedSearchesRow;
            }
            
            public SavedSearchesRow FindByID(int ID) {
                return ((SavedSearchesRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                SavedSearchesDataTable cln = ((SavedSearchesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new SavedSearchesDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnTitle = this.Columns["Title"];
                this.columnParameters = this.Columns["Parameters"];
                this.columnLastRun = this.Columns["LastRun"];
                this.columnNewRecords = this.Columns["NewRecords"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnParameters = new DataColumn("Parameters", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnParameters);
                this.columnLastRun = new DataColumn("LastRun", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnLastRun);
                this.columnNewRecords = new DataColumn("NewRecords", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnNewRecords);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey17", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnUserID.AllowDBNull = false;
                this.columnTitle.AllowDBNull = false;
                this.columnParameters.AllowDBNull = false;
            }
            
            public SavedSearchesRow NewSavedSearchesRow() {
                return ((SavedSearchesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new SavedSearchesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(SavedSearchesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.SavedSearchesRowChanged != null)) {
                    this.SavedSearchesRowChanged(this, new SavedSearchesRowChangeEvent(((SavedSearchesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.SavedSearchesRowChanging != null)) {
                    this.SavedSearchesRowChanging(this, new SavedSearchesRowChangeEvent(((SavedSearchesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.SavedSearchesRowDeleted != null)) {
                    this.SavedSearchesRowDeleted(this, new SavedSearchesRowChangeEvent(((SavedSearchesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.SavedSearchesRowDeleting != null)) {
                    this.SavedSearchesRowDeleting(this, new SavedSearchesRowChangeEvent(((SavedSearchesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveSavedSearchesRow(SavedSearchesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SavedSearchesRow : DataRow {
            
            private SavedSearchesDataTable tableSavedSearches;
            
            internal SavedSearchesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableSavedSearches = ((SavedSearchesDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableSavedSearches.IDColumn]));
                }
                set {
                    this[this.tableSavedSearches.IDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableSavedSearches.UserIDColumn]));
                }
                set {
                    this[this.tableSavedSearches.UserIDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableSavedSearches.TitleColumn]));
                }
                set {
                    this[this.tableSavedSearches.TitleColumn] = value;
                }
            }
            
            public string Parameters {
                get {
                    return ((string)(this[this.tableSavedSearches.ParametersColumn]));
                }
                set {
                    this[this.tableSavedSearches.ParametersColumn] = value;
                }
            }
            
            public System.DateTime LastRun {
                get {
                    try {
                        return ((System.DateTime)(this[this.tableSavedSearches.LastRunColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSavedSearches.LastRunColumn] = value;
                }
            }
            
            public int NewRecords {
                get {
                    try {
                        return ((int)(this[this.tableSavedSearches.NewRecordsColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSavedSearches.NewRecordsColumn] = value;
                }
            }
            
            public bool IsLastRunNull() {
                return this.IsNull(this.tableSavedSearches.LastRunColumn);
            }
            
            public void SetLastRunNull() {
                this[this.tableSavedSearches.LastRunColumn] = System.Convert.DBNull;
            }
            
            public bool IsNewRecordsNull() {
                return this.IsNull(this.tableSavedSearches.NewRecordsColumn);
            }
            
            public void SetNewRecordsNull() {
                this[this.tableSavedSearches.NewRecordsColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SavedSearchesRowChangeEvent : EventArgs {
            
            private SavedSearchesRow eventRow;
            
            private DataRowAction eventAction;
            
            public SavedSearchesRowChangeEvent(SavedSearchesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public SavedSearchesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SlidesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnSlideshowID;
            
            private DataColumn columnImageID;
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnDisplayOrder;
            
            private DataColumn columnAnnotation;
            
            private DataColumn columnScratch;
            
            internal SlidesDataTable() : 
                    base("Slides") {
                this.InitClass();
            }
            
            internal SlidesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn SlideshowIDColumn {
                get {
                    return this.columnSlideshowID;
                }
            }
            
            internal DataColumn ImageIDColumn {
                get {
                    return this.columnImageID;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn DisplayOrderColumn {
                get {
                    return this.columnDisplayOrder;
                }
            }
            
            internal DataColumn AnnotationColumn {
                get {
                    return this.columnAnnotation;
                }
            }
            
            internal DataColumn ScratchColumn {
                get {
                    return this.columnScratch;
                }
            }
            
            public SlidesRow this[int index] {
                get {
                    return ((SlidesRow)(this.Rows[index]));
                }
            }
            
            public event SlidesRowChangeEventHandler SlidesRowChanged;
            
            public event SlidesRowChangeEventHandler SlidesRowChanging;
            
            public event SlidesRowChangeEventHandler SlidesRowDeleted;
            
            public event SlidesRowChangeEventHandler SlidesRowDeleting;
            
            public void AddSlidesRow(SlidesRow row) {
                this.Rows.Add(row);
            }
            
            public SlidesRow AddSlidesRow(int SlideshowID, int ImageID, int CollectionID, int DisplayOrder, string Annotation, bool Scratch) {
                SlidesRow rowSlidesRow = ((SlidesRow)(this.NewRow()));
                rowSlidesRow.ItemArray = new object[] {
                        null,
                        SlideshowID,
                        ImageID,
                        CollectionID,
                        DisplayOrder,
                        Annotation,
                        Scratch};
                this.Rows.Add(rowSlidesRow);
                return rowSlidesRow;
            }
            
            public SlidesRow FindByID(int ID) {
                return ((SlidesRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                SlidesDataTable cln = ((SlidesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new SlidesDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnSlideshowID = this.Columns["SlideshowID"];
                this.columnImageID = this.Columns["ImageID"];
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnDisplayOrder = this.Columns["DisplayOrder"];
                this.columnAnnotation = this.Columns["Annotation"];
                this.columnScratch = this.Columns["Scratch"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnSlideshowID = new DataColumn("SlideshowID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnSlideshowID);
                this.columnImageID = new DataColumn("ImageID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnImageID);
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnDisplayOrder = new DataColumn("DisplayOrder", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDisplayOrder);
                this.columnAnnotation = new DataColumn("Annotation", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAnnotation);
                this.columnScratch = new DataColumn("Scratch", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnScratch);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey18", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnSlideshowID.AllowDBNull = false;
                this.columnImageID.AllowDBNull = false;
                this.columnCollectionID.AllowDBNull = false;
                this.columnDisplayOrder.AllowDBNull = false;
            }
            
            public SlidesRow NewSlidesRow() {
                return ((SlidesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new SlidesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(SlidesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.SlidesRowChanged != null)) {
                    this.SlidesRowChanged(this, new SlidesRowChangeEvent(((SlidesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.SlidesRowChanging != null)) {
                    this.SlidesRowChanging(this, new SlidesRowChangeEvent(((SlidesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.SlidesRowDeleted != null)) {
                    this.SlidesRowDeleted(this, new SlidesRowChangeEvent(((SlidesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.SlidesRowDeleting != null)) {
                    this.SlidesRowDeleting(this, new SlidesRowChangeEvent(((SlidesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveSlidesRow(SlidesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SlidesRow : DataRow {
            
            private SlidesDataTable tableSlides;
            
            internal SlidesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableSlides = ((SlidesDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableSlides.IDColumn]));
                }
                set {
                    this[this.tableSlides.IDColumn] = value;
                }
            }
            
            public int SlideshowID {
                get {
                    return ((int)(this[this.tableSlides.SlideshowIDColumn]));
                }
                set {
                    this[this.tableSlides.SlideshowIDColumn] = value;
                }
            }
            
            public int ImageID {
                get {
                    return ((int)(this[this.tableSlides.ImageIDColumn]));
                }
                set {
                    this[this.tableSlides.ImageIDColumn] = value;
                }
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableSlides.CollectionIDColumn]));
                }
                set {
                    this[this.tableSlides.CollectionIDColumn] = value;
                }
            }
            
            public int DisplayOrder {
                get {
                    return ((int)(this[this.tableSlides.DisplayOrderColumn]));
                }
                set {
                    this[this.tableSlides.DisplayOrderColumn] = value;
                }
            }
            
            public string Annotation {
                get {
                    try {
                        return ((string)(this[this.tableSlides.AnnotationColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSlides.AnnotationColumn] = value;
                }
            }
            
            public bool Scratch {
                get {
                    try {
                        return ((bool)(this[this.tableSlides.ScratchColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSlides.ScratchColumn] = value;
                }
            }
            
            public bool IsAnnotationNull() {
                return this.IsNull(this.tableSlides.AnnotationColumn);
            }
            
            public void SetAnnotationNull() {
                this[this.tableSlides.AnnotationColumn] = System.Convert.DBNull;
            }
            
            public bool IsScratchNull() {
                return this.IsNull(this.tableSlides.ScratchColumn);
            }
            
            public void SetScratchNull() {
                this[this.tableSlides.ScratchColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SlidesRowChangeEvent : EventArgs {
            
            private SlidesRow eventRow;
            
            private DataRowAction eventAction;
            
            public SlidesRowChangeEvent(SlidesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public SlidesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SlideshowsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnFolderID;
            
            private DataColumn columnTitle;
            
            private DataColumn columnAccessPassword;
            
            private DataColumn columnCreationDate;
            
            private DataColumn columnModificationDate;
            
            private DataColumn columnArchiveFlag;
            
            private DataColumn columnDescription;
            
            internal SlideshowsDataTable() : 
                    base("Slideshows") {
                this.InitClass();
            }
            
            internal SlideshowsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn FolderIDColumn {
                get {
                    return this.columnFolderID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn AccessPasswordColumn {
                get {
                    return this.columnAccessPassword;
                }
            }
            
            internal DataColumn CreationDateColumn {
                get {
                    return this.columnCreationDate;
                }
            }
            
            internal DataColumn ModificationDateColumn {
                get {
                    return this.columnModificationDate;
                }
            }
            
            internal DataColumn ArchiveFlagColumn {
                get {
                    return this.columnArchiveFlag;
                }
            }
            
            internal DataColumn DescriptionColumn {
                get {
                    return this.columnDescription;
                }
            }
            
            public SlideshowsRow this[int index] {
                get {
                    return ((SlideshowsRow)(this.Rows[index]));
                }
            }
            
            public event SlideshowsRowChangeEventHandler SlideshowsRowChanged;
            
            public event SlideshowsRowChangeEventHandler SlideshowsRowChanging;
            
            public event SlideshowsRowChangeEventHandler SlideshowsRowDeleted;
            
            public event SlideshowsRowChangeEventHandler SlideshowsRowDeleting;
            
            public void AddSlideshowsRow(SlideshowsRow row) {
                this.Rows.Add(row);
            }
            
            public SlideshowsRow AddSlideshowsRow(int UserID, int FolderID, string Title, string AccessPassword, System.DateTime CreationDate, System.DateTime ModificationDate, bool ArchiveFlag, string Description) {
                SlideshowsRow rowSlideshowsRow = ((SlideshowsRow)(this.NewRow()));
                rowSlideshowsRow.ItemArray = new object[] {
                        null,
                        UserID,
                        FolderID,
                        Title,
                        AccessPassword,
                        CreationDate,
                        ModificationDate,
                        ArchiveFlag,
                        Description};
                this.Rows.Add(rowSlideshowsRow);
                return rowSlideshowsRow;
            }
            
            public SlideshowsRow FindByID(int ID) {
                return ((SlideshowsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                SlideshowsDataTable cln = ((SlideshowsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new SlideshowsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnFolderID = this.Columns["FolderID"];
                this.columnTitle = this.Columns["Title"];
                this.columnAccessPassword = this.Columns["AccessPassword"];
                this.columnCreationDate = this.Columns["CreationDate"];
                this.columnModificationDate = this.Columns["ModificationDate"];
                this.columnArchiveFlag = this.Columns["ArchiveFlag"];
                this.columnDescription = this.Columns["Description"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnFolderID = new DataColumn("FolderID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnFolderID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnAccessPassword = new DataColumn("AccessPassword", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAccessPassword);
                this.columnCreationDate = new DataColumn("CreationDate", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCreationDate);
                this.columnModificationDate = new DataColumn("ModificationDate", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnModificationDate);
                this.columnArchiveFlag = new DataColumn("ArchiveFlag", typeof(bool), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnArchiveFlag);
                this.columnDescription = new DataColumn("Description", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDescription);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey19", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnUserID.AllowDBNull = false;
                this.columnTitle.AllowDBNull = false;
                this.columnCreationDate.AllowDBNull = false;
                this.columnModificationDate.AllowDBNull = false;
                this.columnArchiveFlag.AllowDBNull = false;
            }
            
            public SlideshowsRow NewSlideshowsRow() {
                return ((SlideshowsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new SlideshowsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(SlideshowsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.SlideshowsRowChanged != null)) {
                    this.SlideshowsRowChanged(this, new SlideshowsRowChangeEvent(((SlideshowsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.SlideshowsRowChanging != null)) {
                    this.SlideshowsRowChanging(this, new SlideshowsRowChangeEvent(((SlideshowsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.SlideshowsRowDeleted != null)) {
                    this.SlideshowsRowDeleted(this, new SlideshowsRowChangeEvent(((SlideshowsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.SlideshowsRowDeleting != null)) {
                    this.SlideshowsRowDeleting(this, new SlideshowsRowChangeEvent(((SlideshowsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveSlideshowsRow(SlideshowsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SlideshowsRow : DataRow {
            
            private SlideshowsDataTable tableSlideshows;
            
            internal SlideshowsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableSlideshows = ((SlideshowsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableSlideshows.IDColumn]));
                }
                set {
                    this[this.tableSlideshows.IDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableSlideshows.UserIDColumn]));
                }
                set {
                    this[this.tableSlideshows.UserIDColumn] = value;
                }
            }
            
            public int FolderID {
                get {
                    try {
                        return ((int)(this[this.tableSlideshows.FolderIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSlideshows.FolderIDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableSlideshows.TitleColumn]));
                }
                set {
                    this[this.tableSlideshows.TitleColumn] = value;
                }
            }
            
            public string AccessPassword {
                get {
                    try {
                        return ((string)(this[this.tableSlideshows.AccessPasswordColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSlideshows.AccessPasswordColumn] = value;
                }
            }
            
            public System.DateTime CreationDate {
                get {
                    return ((System.DateTime)(this[this.tableSlideshows.CreationDateColumn]));
                }
                set {
                    this[this.tableSlideshows.CreationDateColumn] = value;
                }
            }
            
            public System.DateTime ModificationDate {
                get {
                    return ((System.DateTime)(this[this.tableSlideshows.ModificationDateColumn]));
                }
                set {
                    this[this.tableSlideshows.ModificationDateColumn] = value;
                }
            }
            
            public bool ArchiveFlag {
                get {
                    return ((bool)(this[this.tableSlideshows.ArchiveFlagColumn]));
                }
                set {
                    this[this.tableSlideshows.ArchiveFlagColumn] = value;
                }
            }
            
            public string Description {
                get {
                    try {
                        return ((string)(this[this.tableSlideshows.DescriptionColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableSlideshows.DescriptionColumn] = value;
                }
            }
            
            public bool IsFolderIDNull() {
                return this.IsNull(this.tableSlideshows.FolderIDColumn);
            }
            
            public void SetFolderIDNull() {
                this[this.tableSlideshows.FolderIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsAccessPasswordNull() {
                return this.IsNull(this.tableSlideshows.AccessPasswordColumn);
            }
            
            public void SetAccessPasswordNull() {
                this[this.tableSlideshows.AccessPasswordColumn] = System.Convert.DBNull;
            }
            
            public bool IsDescriptionNull() {
                return this.IsNull(this.tableSlideshows.DescriptionColumn);
            }
            
            public void SetDescriptionNull() {
                this[this.tableSlideshows.DescriptionColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class SlideshowsRowChangeEvent : EventArgs {
            
            private SlideshowsRow eventRow;
            
            private DataRowAction eventAction;
            
            public SlideshowsRowChangeEvent(SlideshowsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public SlideshowsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class TrackUsageAgreementsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnCollectionID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnDateAccepted;
            
            internal TrackUsageAgreementsDataTable() : 
                    base("TrackUsageAgreements") {
                this.InitClass();
            }
            
            internal TrackUsageAgreementsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn CollectionIDColumn {
                get {
                    return this.columnCollectionID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn DateAcceptedColumn {
                get {
                    return this.columnDateAccepted;
                }
            }
            
            public TrackUsageAgreementsRow this[int index] {
                get {
                    return ((TrackUsageAgreementsRow)(this.Rows[index]));
                }
            }
            
            public event TrackUsageAgreementsRowChangeEventHandler TrackUsageAgreementsRowChanged;
            
            public event TrackUsageAgreementsRowChangeEventHandler TrackUsageAgreementsRowChanging;
            
            public event TrackUsageAgreementsRowChangeEventHandler TrackUsageAgreementsRowDeleted;
            
            public event TrackUsageAgreementsRowChangeEventHandler TrackUsageAgreementsRowDeleting;
            
            public void AddTrackUsageAgreementsRow(TrackUsageAgreementsRow row) {
                this.Rows.Add(row);
            }
            
            public TrackUsageAgreementsRow AddTrackUsageAgreementsRow(int CollectionID, int UserID, System.DateTime DateAccepted) {
                TrackUsageAgreementsRow rowTrackUsageAgreementsRow = ((TrackUsageAgreementsRow)(this.NewRow()));
                rowTrackUsageAgreementsRow.ItemArray = new object[] {
                        CollectionID,
                        UserID,
                        DateAccepted};
                this.Rows.Add(rowTrackUsageAgreementsRow);
                return rowTrackUsageAgreementsRow;
            }
            
            public TrackUsageAgreementsRow FindByCollectionIDUserID(int CollectionID, int UserID) {
                return ((TrackUsageAgreementsRow)(this.Rows.Find(new object[] {
                            CollectionID,
                            UserID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                TrackUsageAgreementsDataTable cln = ((TrackUsageAgreementsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new TrackUsageAgreementsDataTable();
            }
            
            internal void InitVars() {
                this.columnCollectionID = this.Columns["CollectionID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnDateAccepted = this.Columns["DateAccepted"];
            }
            
            private void InitClass() {
                this.columnCollectionID = new DataColumn("CollectionID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnCollectionID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnDateAccepted = new DataColumn("DateAccepted", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnDateAccepted);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey20", new DataColumn[] {
                                this.columnCollectionID,
                                this.columnUserID}, true));
                this.columnCollectionID.AllowDBNull = false;
                this.columnUserID.AllowDBNull = false;
                this.columnDateAccepted.AllowDBNull = false;
            }
            
            public TrackUsageAgreementsRow NewTrackUsageAgreementsRow() {
                return ((TrackUsageAgreementsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new TrackUsageAgreementsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(TrackUsageAgreementsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.TrackUsageAgreementsRowChanged != null)) {
                    this.TrackUsageAgreementsRowChanged(this, new TrackUsageAgreementsRowChangeEvent(((TrackUsageAgreementsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.TrackUsageAgreementsRowChanging != null)) {
                    this.TrackUsageAgreementsRowChanging(this, new TrackUsageAgreementsRowChangeEvent(((TrackUsageAgreementsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.TrackUsageAgreementsRowDeleted != null)) {
                    this.TrackUsageAgreementsRowDeleted(this, new TrackUsageAgreementsRowChangeEvent(((TrackUsageAgreementsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.TrackUsageAgreementsRowDeleting != null)) {
                    this.TrackUsageAgreementsRowDeleting(this, new TrackUsageAgreementsRowChangeEvent(((TrackUsageAgreementsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveTrackUsageAgreementsRow(TrackUsageAgreementsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class TrackUsageAgreementsRow : DataRow {
            
            private TrackUsageAgreementsDataTable tableTrackUsageAgreements;
            
            internal TrackUsageAgreementsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableTrackUsageAgreements = ((TrackUsageAgreementsDataTable)(this.Table));
            }
            
            public int CollectionID {
                get {
                    return ((int)(this[this.tableTrackUsageAgreements.CollectionIDColumn]));
                }
                set {
                    this[this.tableTrackUsageAgreements.CollectionIDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableTrackUsageAgreements.UserIDColumn]));
                }
                set {
                    this[this.tableTrackUsageAgreements.UserIDColumn] = value;
                }
            }
            
            public System.DateTime DateAccepted {
                get {
                    return ((System.DateTime)(this[this.tableTrackUsageAgreements.DateAcceptedColumn]));
                }
                set {
                    this[this.tableTrackUsageAgreements.DateAcceptedColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class TrackUsageAgreementsRowChangeEvent : EventArgs {
            
            private TrackUsageAgreementsRow eventRow;
            
            private DataRowAction eventAction;
            
            public TrackUsageAgreementsRowChangeEvent(TrackUsageAgreementsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public TrackUsageAgreementsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class TransactionLogDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnUserID;
            
            private DataColumn columnEventTime;
            
            private DataColumn columnTitle;
            
            private DataColumn columnData;
            
            internal TransactionLogDataTable() : 
                    base("TransactionLog") {
                this.InitClass();
            }
            
            internal TransactionLogDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn EventTimeColumn {
                get {
                    return this.columnEventTime;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn DataColumn {
                get {
                    return this.columnData;
                }
            }
            
            public TransactionLogRow this[int index] {
                get {
                    return ((TransactionLogRow)(this.Rows[index]));
                }
            }
            
            public event TransactionLogRowChangeEventHandler TransactionLogRowChanged;
            
            public event TransactionLogRowChangeEventHandler TransactionLogRowChanging;
            
            public event TransactionLogRowChangeEventHandler TransactionLogRowDeleted;
            
            public event TransactionLogRowChangeEventHandler TransactionLogRowDeleting;
            
            public void AddTransactionLogRow(TransactionLogRow row) {
                this.Rows.Add(row);
            }
            
            public TransactionLogRow AddTransactionLogRow(int UserID, System.DateTime EventTime, string Title, string Data) {
                TransactionLogRow rowTransactionLogRow = ((TransactionLogRow)(this.NewRow()));
                rowTransactionLogRow.ItemArray = new object[] {
                        null,
                        UserID,
                        EventTime,
                        Title,
                        Data};
                this.Rows.Add(rowTransactionLogRow);
                return rowTransactionLogRow;
            }
            
            public TransactionLogRow FindByID(int ID) {
                return ((TransactionLogRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                TransactionLogDataTable cln = ((TransactionLogDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new TransactionLogDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnUserID = this.Columns["UserID"];
                this.columnEventTime = this.Columns["EventTime"];
                this.columnTitle = this.Columns["Title"];
                this.columnData = this.Columns["Data"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnEventTime = new DataColumn("EventTime", typeof(System.DateTime), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnEventTime);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnData = new DataColumn("Data", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnData);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey21", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnEventTime.AllowDBNull = false;
                this.columnTitle.AllowDBNull = false;
            }
            
            public TransactionLogRow NewTransactionLogRow() {
                return ((TransactionLogRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new TransactionLogRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(TransactionLogRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.TransactionLogRowChanged != null)) {
                    this.TransactionLogRowChanged(this, new TransactionLogRowChangeEvent(((TransactionLogRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.TransactionLogRowChanging != null)) {
                    this.TransactionLogRowChanging(this, new TransactionLogRowChangeEvent(((TransactionLogRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.TransactionLogRowDeleted != null)) {
                    this.TransactionLogRowDeleted(this, new TransactionLogRowChangeEvent(((TransactionLogRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.TransactionLogRowDeleting != null)) {
                    this.TransactionLogRowDeleting(this, new TransactionLogRowChangeEvent(((TransactionLogRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveTransactionLogRow(TransactionLogRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class TransactionLogRow : DataRow {
            
            private TransactionLogDataTable tableTransactionLog;
            
            internal TransactionLogRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableTransactionLog = ((TransactionLogDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableTransactionLog.IDColumn]));
                }
                set {
                    this[this.tableTransactionLog.IDColumn] = value;
                }
            }
            
            public int UserID {
                get {
                    try {
                        return ((int)(this[this.tableTransactionLog.UserIDColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableTransactionLog.UserIDColumn] = value;
                }
            }
            
            public System.DateTime EventTime {
                get {
                    return ((System.DateTime)(this[this.tableTransactionLog.EventTimeColumn]));
                }
                set {
                    this[this.tableTransactionLog.EventTimeColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableTransactionLog.TitleColumn]));
                }
                set {
                    this[this.tableTransactionLog.TitleColumn] = value;
                }
            }
            
            public string Data {
                get {
                    try {
                        return ((string)(this[this.tableTransactionLog.DataColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableTransactionLog.DataColumn] = value;
                }
            }
            
            public bool IsUserIDNull() {
                return this.IsNull(this.tableTransactionLog.UserIDColumn);
            }
            
            public void SetUserIDNull() {
                this[this.tableTransactionLog.UserIDColumn] = System.Convert.DBNull;
            }
            
            public bool IsDataNull() {
                return this.IsNull(this.tableTransactionLog.DataColumn);
            }
            
            public void SetDataNull() {
                this[this.tableTransactionLog.DataColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class TransactionLogRowChangeEvent : EventArgs {
            
            private TransactionLogRow eventRow;
            
            private DataRowAction eventAction;
            
            public TransactionLogRowChangeEvent(TransactionLogRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public TransactionLogRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupAttributesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnGroupID;
            
            private DataColumn columnAttribute;
            
            private DataColumn columnAttributeValueInstance;
            
            private DataColumn columnAttributeValue;
            
            internal UserGroupAttributesDataTable() : 
                    base("UserGroupAttributes") {
                this.InitClass();
            }
            
            internal UserGroupAttributesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn GroupIDColumn {
                get {
                    return this.columnGroupID;
                }
            }
            
            internal DataColumn AttributeColumn {
                get {
                    return this.columnAttribute;
                }
            }
            
            internal DataColumn AttributeValueInstanceColumn {
                get {
                    return this.columnAttributeValueInstance;
                }
            }
            
            internal DataColumn AttributeValueColumn {
                get {
                    return this.columnAttributeValue;
                }
            }
            
            public UserGroupAttributesRow this[int index] {
                get {
                    return ((UserGroupAttributesRow)(this.Rows[index]));
                }
            }
            
            public event UserGroupAttributesRowChangeEventHandler UserGroupAttributesRowChanged;
            
            public event UserGroupAttributesRowChangeEventHandler UserGroupAttributesRowChanging;
            
            public event UserGroupAttributesRowChangeEventHandler UserGroupAttributesRowDeleted;
            
            public event UserGroupAttributesRowChangeEventHandler UserGroupAttributesRowDeleting;
            
            public void AddUserGroupAttributesRow(UserGroupAttributesRow row) {
                this.Rows.Add(row);
            }
            
            public UserGroupAttributesRow AddUserGroupAttributesRow(int GroupID, string Attribute, int AttributeValueInstance, string AttributeValue) {
                UserGroupAttributesRow rowUserGroupAttributesRow = ((UserGroupAttributesRow)(this.NewRow()));
                rowUserGroupAttributesRow.ItemArray = new object[] {
                        GroupID,
                        Attribute,
                        AttributeValueInstance,
                        AttributeValue};
                this.Rows.Add(rowUserGroupAttributesRow);
                return rowUserGroupAttributesRow;
            }
            
            public UserGroupAttributesRow FindByGroupIDAttributeAttributeValueInstance(int GroupID, string Attribute, int AttributeValueInstance) {
                return ((UserGroupAttributesRow)(this.Rows.Find(new object[] {
                            GroupID,
                            Attribute,
                            AttributeValueInstance})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                UserGroupAttributesDataTable cln = ((UserGroupAttributesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new UserGroupAttributesDataTable();
            }
            
            internal void InitVars() {
                this.columnGroupID = this.Columns["GroupID"];
                this.columnAttribute = this.Columns["Attribute"];
                this.columnAttributeValueInstance = this.Columns["AttributeValueInstance"];
                this.columnAttributeValue = this.Columns["AttributeValue"];
            }
            
            private void InitClass() {
                this.columnGroupID = new DataColumn("GroupID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnGroupID);
                this.columnAttribute = new DataColumn("Attribute", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAttribute);
                this.columnAttributeValueInstance = new DataColumn("AttributeValueInstance", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAttributeValueInstance);
                this.columnAttributeValue = new DataColumn("AttributeValue", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnAttributeValue);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey22", new DataColumn[] {
                                this.columnGroupID,
                                this.columnAttribute,
                                this.columnAttributeValueInstance}, true));
                this.columnGroupID.AllowDBNull = false;
                this.columnAttribute.AllowDBNull = false;
                this.columnAttributeValueInstance.AllowDBNull = false;
                this.columnAttributeValue.AllowDBNull = false;
            }
            
            public UserGroupAttributesRow NewUserGroupAttributesRow() {
                return ((UserGroupAttributesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new UserGroupAttributesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(UserGroupAttributesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.UserGroupAttributesRowChanged != null)) {
                    this.UserGroupAttributesRowChanged(this, new UserGroupAttributesRowChangeEvent(((UserGroupAttributesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.UserGroupAttributesRowChanging != null)) {
                    this.UserGroupAttributesRowChanging(this, new UserGroupAttributesRowChangeEvent(((UserGroupAttributesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.UserGroupAttributesRowDeleted != null)) {
                    this.UserGroupAttributesRowDeleted(this, new UserGroupAttributesRowChangeEvent(((UserGroupAttributesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.UserGroupAttributesRowDeleting != null)) {
                    this.UserGroupAttributesRowDeleting(this, new UserGroupAttributesRowChangeEvent(((UserGroupAttributesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveUserGroupAttributesRow(UserGroupAttributesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupAttributesRow : DataRow {
            
            private UserGroupAttributesDataTable tableUserGroupAttributes;
            
            internal UserGroupAttributesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableUserGroupAttributes = ((UserGroupAttributesDataTable)(this.Table));
            }
            
            public int GroupID {
                get {
                    return ((int)(this[this.tableUserGroupAttributes.GroupIDColumn]));
                }
                set {
                    this[this.tableUserGroupAttributes.GroupIDColumn] = value;
                }
            }
            
            public string Attribute {
                get {
                    return ((string)(this[this.tableUserGroupAttributes.AttributeColumn]));
                }
                set {
                    this[this.tableUserGroupAttributes.AttributeColumn] = value;
                }
            }
            
            public int AttributeValueInstance {
                get {
                    return ((int)(this[this.tableUserGroupAttributes.AttributeValueInstanceColumn]));
                }
                set {
                    this[this.tableUserGroupAttributes.AttributeValueInstanceColumn] = value;
                }
            }
            
            public string AttributeValue {
                get {
                    return ((string)(this[this.tableUserGroupAttributes.AttributeValueColumn]));
                }
                set {
                    this[this.tableUserGroupAttributes.AttributeValueColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupAttributesRowChangeEvent : EventArgs {
            
            private UserGroupAttributesRow eventRow;
            
            private DataRowAction eventAction;
            
            public UserGroupAttributesRowChangeEvent(UserGroupAttributesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public UserGroupAttributesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupIPRangesDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnGroupID;
            
            private DataColumn columnSubnet;
            
            private DataColumn columnMask;
            
            internal UserGroupIPRangesDataTable() : 
                    base("UserGroupIPRanges") {
                this.InitClass();
            }
            
            internal UserGroupIPRangesDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn GroupIDColumn {
                get {
                    return this.columnGroupID;
                }
            }
            
            internal DataColumn SubnetColumn {
                get {
                    return this.columnSubnet;
                }
            }
            
            internal DataColumn MaskColumn {
                get {
                    return this.columnMask;
                }
            }
            
            public UserGroupIPRangesRow this[int index] {
                get {
                    return ((UserGroupIPRangesRow)(this.Rows[index]));
                }
            }
            
            public event UserGroupIPRangesRowChangeEventHandler UserGroupIPRangesRowChanged;
            
            public event UserGroupIPRangesRowChangeEventHandler UserGroupIPRangesRowChanging;
            
            public event UserGroupIPRangesRowChangeEventHandler UserGroupIPRangesRowDeleted;
            
            public event UserGroupIPRangesRowChangeEventHandler UserGroupIPRangesRowDeleting;
            
            public void AddUserGroupIPRangesRow(UserGroupIPRangesRow row) {
                this.Rows.Add(row);
            }
            
            public UserGroupIPRangesRow AddUserGroupIPRangesRow(int GroupID, string Subnet, string Mask) {
                UserGroupIPRangesRow rowUserGroupIPRangesRow = ((UserGroupIPRangesRow)(this.NewRow()));
                rowUserGroupIPRangesRow.ItemArray = new object[] {
                        GroupID,
                        Subnet,
                        Mask};
                this.Rows.Add(rowUserGroupIPRangesRow);
                return rowUserGroupIPRangesRow;
            }
            
            public UserGroupIPRangesRow FindByGroupIDSubnetMask(int GroupID, string Subnet, string Mask) {
                return ((UserGroupIPRangesRow)(this.Rows.Find(new object[] {
                            GroupID,
                            Subnet,
                            Mask})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                UserGroupIPRangesDataTable cln = ((UserGroupIPRangesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new UserGroupIPRangesDataTable();
            }
            
            internal void InitVars() {
                this.columnGroupID = this.Columns["GroupID"];
                this.columnSubnet = this.Columns["Subnet"];
                this.columnMask = this.Columns["Mask"];
            }
            
            private void InitClass() {
                this.columnGroupID = new DataColumn("GroupID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnGroupID);
                this.columnSubnet = new DataColumn("Subnet", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnSubnet);
                this.columnMask = new DataColumn("Mask", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnMask);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey23", new DataColumn[] {
                                this.columnGroupID,
                                this.columnSubnet,
                                this.columnMask}, true));
                this.columnGroupID.AllowDBNull = false;
                this.columnSubnet.AllowDBNull = false;
                this.columnMask.AllowDBNull = false;
            }
            
            public UserGroupIPRangesRow NewUserGroupIPRangesRow() {
                return ((UserGroupIPRangesRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new UserGroupIPRangesRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(UserGroupIPRangesRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.UserGroupIPRangesRowChanged != null)) {
                    this.UserGroupIPRangesRowChanged(this, new UserGroupIPRangesRowChangeEvent(((UserGroupIPRangesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.UserGroupIPRangesRowChanging != null)) {
                    this.UserGroupIPRangesRowChanging(this, new UserGroupIPRangesRowChangeEvent(((UserGroupIPRangesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.UserGroupIPRangesRowDeleted != null)) {
                    this.UserGroupIPRangesRowDeleted(this, new UserGroupIPRangesRowChangeEvent(((UserGroupIPRangesRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.UserGroupIPRangesRowDeleting != null)) {
                    this.UserGroupIPRangesRowDeleting(this, new UserGroupIPRangesRowChangeEvent(((UserGroupIPRangesRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveUserGroupIPRangesRow(UserGroupIPRangesRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupIPRangesRow : DataRow {
            
            private UserGroupIPRangesDataTable tableUserGroupIPRanges;
            
            internal UserGroupIPRangesRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableUserGroupIPRanges = ((UserGroupIPRangesDataTable)(this.Table));
            }
            
            public int GroupID {
                get {
                    return ((int)(this[this.tableUserGroupIPRanges.GroupIDColumn]));
                }
                set {
                    this[this.tableUserGroupIPRanges.GroupIDColumn] = value;
                }
            }
            
            public string Subnet {
                get {
                    return ((string)(this[this.tableUserGroupIPRanges.SubnetColumn]));
                }
                set {
                    this[this.tableUserGroupIPRanges.SubnetColumn] = value;
                }
            }
            
            public string Mask {
                get {
                    return ((string)(this[this.tableUserGroupIPRanges.MaskColumn]));
                }
                set {
                    this[this.tableUserGroupIPRanges.MaskColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupIPRangesRowChangeEvent : EventArgs {
            
            private UserGroupIPRangesRow eventRow;
            
            private DataRowAction eventAction;
            
            public UserGroupIPRangesRowChangeEvent(UserGroupIPRangesRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public UserGroupIPRangesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupMembersDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnUserID;
            
            private DataColumn columnGroupID;
            
            internal UserGroupMembersDataTable() : 
                    base("UserGroupMembers") {
                this.InitClass();
            }
            
            internal UserGroupMembersDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn UserIDColumn {
                get {
                    return this.columnUserID;
                }
            }
            
            internal DataColumn GroupIDColumn {
                get {
                    return this.columnGroupID;
                }
            }
            
            public UserGroupMembersRow this[int index] {
                get {
                    return ((UserGroupMembersRow)(this.Rows[index]));
                }
            }
            
            public event UserGroupMembersRowChangeEventHandler UserGroupMembersRowChanged;
            
            public event UserGroupMembersRowChangeEventHandler UserGroupMembersRowChanging;
            
            public event UserGroupMembersRowChangeEventHandler UserGroupMembersRowDeleted;
            
            public event UserGroupMembersRowChangeEventHandler UserGroupMembersRowDeleting;
            
            public void AddUserGroupMembersRow(UserGroupMembersRow row) {
                this.Rows.Add(row);
            }
            
            public UserGroupMembersRow AddUserGroupMembersRow(int UserID, int GroupID) {
                UserGroupMembersRow rowUserGroupMembersRow = ((UserGroupMembersRow)(this.NewRow()));
                rowUserGroupMembersRow.ItemArray = new object[] {
                        UserID,
                        GroupID};
                this.Rows.Add(rowUserGroupMembersRow);
                return rowUserGroupMembersRow;
            }
            
            public UserGroupMembersRow FindByUserIDGroupID(int UserID, int GroupID) {
                return ((UserGroupMembersRow)(this.Rows.Find(new object[] {
                            UserID,
                            GroupID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                UserGroupMembersDataTable cln = ((UserGroupMembersDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new UserGroupMembersDataTable();
            }
            
            internal void InitVars() {
                this.columnUserID = this.Columns["UserID"];
                this.columnGroupID = this.Columns["GroupID"];
            }
            
            private void InitClass() {
                this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnUserID);
                this.columnGroupID = new DataColumn("GroupID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnGroupID);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey24", new DataColumn[] {
                                this.columnUserID,
                                this.columnGroupID}, true));
                this.columnUserID.AllowDBNull = false;
                this.columnGroupID.AllowDBNull = false;
            }
            
            public UserGroupMembersRow NewUserGroupMembersRow() {
                return ((UserGroupMembersRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new UserGroupMembersRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(UserGroupMembersRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.UserGroupMembersRowChanged != null)) {
                    this.UserGroupMembersRowChanged(this, new UserGroupMembersRowChangeEvent(((UserGroupMembersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.UserGroupMembersRowChanging != null)) {
                    this.UserGroupMembersRowChanging(this, new UserGroupMembersRowChangeEvent(((UserGroupMembersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.UserGroupMembersRowDeleted != null)) {
                    this.UserGroupMembersRowDeleted(this, new UserGroupMembersRowChangeEvent(((UserGroupMembersRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.UserGroupMembersRowDeleting != null)) {
                    this.UserGroupMembersRowDeleting(this, new UserGroupMembersRowChangeEvent(((UserGroupMembersRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveUserGroupMembersRow(UserGroupMembersRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupMembersRow : DataRow {
            
            private UserGroupMembersDataTable tableUserGroupMembers;
            
            internal UserGroupMembersRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableUserGroupMembers = ((UserGroupMembersDataTable)(this.Table));
            }
            
            public int UserID {
                get {
                    return ((int)(this[this.tableUserGroupMembers.UserIDColumn]));
                }
                set {
                    this[this.tableUserGroupMembers.UserIDColumn] = value;
                }
            }
            
            public int GroupID {
                get {
                    return ((int)(this[this.tableUserGroupMembers.GroupIDColumn]));
                }
                set {
                    this[this.tableUserGroupMembers.GroupIDColumn] = value;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupMembersRowChangeEvent : EventArgs {
            
            private UserGroupMembersRow eventRow;
            
            private DataRowAction eventAction;
            
            public UserGroupMembersRowChangeEvent(UserGroupMembersRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public UserGroupMembersRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupsDataTable : DataTable, System.Collections.IEnumerable {
            
            private DataColumn columnID;
            
            private DataColumn columnTitle;
            
            private DataColumn columnType;
            
            internal UserGroupsDataTable() : 
                    base("UserGroups") {
                this.InitClass();
            }
            
            internal UserGroupsDataTable(DataTable table) : 
                    base(table.TableName) {
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
                this.DisplayExpression = table.DisplayExpression;
            }
            
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            internal DataColumn IDColumn {
                get {
                    return this.columnID;
                }
            }
            
            internal DataColumn TitleColumn {
                get {
                    return this.columnTitle;
                }
            }
            
            internal DataColumn TypeColumn {
                get {
                    return this.columnType;
                }
            }
            
            public UserGroupsRow this[int index] {
                get {
                    return ((UserGroupsRow)(this.Rows[index]));
                }
            }
            
            public event UserGroupsRowChangeEventHandler UserGroupsRowChanged;
            
            public event UserGroupsRowChangeEventHandler UserGroupsRowChanging;
            
            public event UserGroupsRowChangeEventHandler UserGroupsRowDeleted;
            
            public event UserGroupsRowChangeEventHandler UserGroupsRowDeleting;
            
            public void AddUserGroupsRow(UserGroupsRow row) {
                this.Rows.Add(row);
            }
            
            public UserGroupsRow AddUserGroupsRow(string Title, string Type) {
                UserGroupsRow rowUserGroupsRow = ((UserGroupsRow)(this.NewRow()));
                rowUserGroupsRow.ItemArray = new object[] {
                        null,
                        Title,
                        Type};
                this.Rows.Add(rowUserGroupsRow);
                return rowUserGroupsRow;
            }
            
            public UserGroupsRow FindByID(int ID) {
                return ((UserGroupsRow)(this.Rows.Find(new object[] {
                            ID})));
            }
            
            public System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            public override DataTable Clone() {
                UserGroupsDataTable cln = ((UserGroupsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            protected override DataTable CreateInstance() {
                return new UserGroupsDataTable();
            }
            
            internal void InitVars() {
                this.columnID = this.Columns["ID"];
                this.columnTitle = this.Columns["Title"];
                this.columnType = this.Columns["Type"];
            }
            
            private void InitClass() {
                this.columnID = new DataColumn("ID", typeof(int), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnID);
                this.columnTitle = new DataColumn("Title", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnTitle);
                this.columnType = new DataColumn("Type", typeof(string), null, System.Data.MappingType.Element);
                this.Columns.Add(this.columnType);
                this.Constraints.Add(new UniqueConstraint("OrciidDatasetKey25", new DataColumn[] {
                                this.columnID}, true));
                this.columnID.AutoIncrement = true;
                this.columnID.AllowDBNull = false;
                this.columnID.ReadOnly = true;
                this.columnID.Unique = true;
                this.columnTitle.AllowDBNull = false;
            }
            
            public UserGroupsRow NewUserGroupsRow() {
                return ((UserGroupsRow)(this.NewRow()));
            }
            
            protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new UserGroupsRow(builder);
            }
            
            protected override System.Type GetRowType() {
                return typeof(UserGroupsRow);
            }
            
            protected override void OnRowChanged(DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.UserGroupsRowChanged != null)) {
                    this.UserGroupsRowChanged(this, new UserGroupsRowChangeEvent(((UserGroupsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowChanging(DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.UserGroupsRowChanging != null)) {
                    this.UserGroupsRowChanging(this, new UserGroupsRowChangeEvent(((UserGroupsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleted(DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.UserGroupsRowDeleted != null)) {
                    this.UserGroupsRowDeleted(this, new UserGroupsRowChangeEvent(((UserGroupsRow)(e.Row)), e.Action));
                }
            }
            
            protected override void OnRowDeleting(DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.UserGroupsRowDeleting != null)) {
                    this.UserGroupsRowDeleting(this, new UserGroupsRowChangeEvent(((UserGroupsRow)(e.Row)), e.Action));
                }
            }
            
            public void RemoveUserGroupsRow(UserGroupsRow row) {
                this.Rows.Remove(row);
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupsRow : DataRow {
            
            private UserGroupsDataTable tableUserGroups;
            
            internal UserGroupsRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableUserGroups = ((UserGroupsDataTable)(this.Table));
            }
            
            public int ID {
                get {
                    return ((int)(this[this.tableUserGroups.IDColumn]));
                }
                set {
                    this[this.tableUserGroups.IDColumn] = value;
                }
            }
            
            public string Title {
                get {
                    return ((string)(this[this.tableUserGroups.TitleColumn]));
                }
                set {
                    this[this.tableUserGroups.TitleColumn] = value;
                }
            }
            
            public string Type {
                get {
                    try {
                        return ((string)(this[this.tableUserGroups.TypeColumn]));
                    }
                    catch (InvalidCastException e) {
                        throw new StrongTypingException("Cannot get value because it is DBNull.", e);
                    }
                }
                set {
                    this[this.tableUserGroups.TypeColumn] = value;
                }
            }
            
            public bool IsTypeNull() {
                return this.IsNull(this.tableUserGroups.TypeColumn);
            }
            
            public void SetTypeNull() {
                this[this.tableUserGroups.TypeColumn] = System.Convert.DBNull;
            }
        }
        
        [System.Diagnostics.DebuggerStepThrough()]
        public class UserGroupsRowChangeEvent : EventArgs {
            
            private UserGroupsRow eventRow;
            
            private DataRowAction eventAction;
            
            public UserGroupsRowChangeEvent(UserGroupsRow row, DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            public UserGroupsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            public DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
    }
}
