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

#pragma warning disable 1591

namespace WizardInterface {
    using System;
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
    [Serializable()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.ComponentModel.ToolboxItem(true)]
    [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]
    [System.Xml.Serialization.XmlRootAttribute("Exam")]
    [System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]
    public partial class ExamDataset : System.Data.DataSet {
        
        private ExamDataTable tableExam;
        
        private QuestionDataTable tableQuestion;
        
        private ResponseDataTable tableResponse;
        
        private QuestionTypeDataTable tableQuestionType;
        
        private System.Data.DataRelation relationExam_Question;
        
        private System.Data.DataRelation relationQuestion_Response;
        
        private System.Data.DataRelation relationQuestionType_Question;
        
        private System.Data.SchemaSerializationMode _schemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        public ExamDataset() {
            this.BeginInit();
            this.InitClass();
            System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
            base.Tables.CollectionChanged += schemaChangedHandler;
            base.Relations.CollectionChanged += schemaChangedHandler;
            this.EndInit();
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected ExamDataset(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : 
                base(info, context, false) {
            if ((this.IsBinarySerialized(info, context) == true)) {
                this.InitVars(false);
                System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
                this.Tables.CollectionChanged += schemaChangedHandler1;
                this.Relations.CollectionChanged += schemaChangedHandler1;
                return;
            }
            string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
            if ((this.DetermineSchemaSerializationMode(info, context) == System.Data.SchemaSerializationMode.IncludeSchema)) {
                System.Data.DataSet ds = new System.Data.DataSet();
                ds.ReadXmlSchema(new System.Xml.XmlTextReader(new System.IO.StringReader(strSchema)));
                if ((ds.Tables["Exam"] != null)) {
                    base.Tables.Add(new ExamDataTable(ds.Tables["Exam"]));
                }
                if ((ds.Tables["Question"] != null)) {
                    base.Tables.Add(new QuestionDataTable(ds.Tables["Question"]));
                }
                if ((ds.Tables["Response"] != null)) {
                    base.Tables.Add(new ResponseDataTable(ds.Tables["Response"]));
                }
                if ((ds.Tables["QuestionType"] != null)) {
                    base.Tables.Add(new QuestionTypeDataTable(ds.Tables["QuestionType"]));
                }
                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.ReadXmlSchema(new System.Xml.XmlTextReader(new System.IO.StringReader(strSchema)));
            }
            this.GetSerializationData(info, context);
            System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
            base.Tables.CollectionChanged += schemaChangedHandler;
            this.Relations.CollectionChanged += schemaChangedHandler;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ExamDataTable _Exam {
            get {
                return this.tableExam;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public QuestionDataTable Question {
            get {
                return this.tableQuestion;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ResponseDataTable Response {
            get {
                return this.tableResponse;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)]
        public QuestionTypeDataTable QuestionType {
            get {
                return this.tableQuestionType;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.BrowsableAttribute(true)]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Visible)]
        public override System.Data.SchemaSerializationMode SchemaSerializationMode {
            get {
                return this._schemaSerializationMode;
            }
            set {
                this._schemaSerializationMode = value;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        public new System.Data.DataTableCollection Tables {
            get {
                return base.Tables;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        public new System.Data.DataRelationCollection Relations {
            get {
                return base.Relations;
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override void InitializeDerivedDataSet() {
            this.BeginInit();
            this.InitClass();
            this.EndInit();
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        public override System.Data.DataSet Clone() {
            ExamDataset cln = ((ExamDataset)(base.Clone()));
            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return cln;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override bool ShouldSerializeTables() {
            return false;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override bool ShouldSerializeRelations() {
            return false;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override void ReadXmlSerializable(System.Xml.XmlReader reader) {
            if ((this.DetermineSchemaSerializationMode(reader) == System.Data.SchemaSerializationMode.IncludeSchema)) {
                this.Reset();
                System.Data.DataSet ds = new System.Data.DataSet();
                ds.ReadXml(reader);
                if ((ds.Tables["Exam"] != null)) {
                    base.Tables.Add(new ExamDataTable(ds.Tables["Exam"]));
                }
                if ((ds.Tables["Question"] != null)) {
                    base.Tables.Add(new QuestionDataTable(ds.Tables["Question"]));
                }
                if ((ds.Tables["Response"] != null)) {
                    base.Tables.Add(new ResponseDataTable(ds.Tables["Response"]));
                }
                if ((ds.Tables["QuestionType"] != null)) {
                    base.Tables.Add(new QuestionTypeDataTable(ds.Tables["QuestionType"]));
                }
                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.ReadXml(reader);
                this.InitVars();
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override System.Xml.Schema.XmlSchema GetSchemaSerializable() {
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            this.WriteXmlSchema(new System.Xml.XmlTextWriter(stream, null));
            stream.Position = 0;
            return System.Xml.Schema.XmlSchema.Read(new System.Xml.XmlTextReader(stream), null);
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        internal void InitVars() {
            this.InitVars(true);
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        internal void InitVars(bool initTable) {
            this.tableExam = ((ExamDataTable)(base.Tables["Exam"]));
            if ((initTable == true)) {
                if ((this.tableExam != null)) {
                    this.tableExam.InitVars();
                }
            }
            this.tableQuestion = ((QuestionDataTable)(base.Tables["Question"]));
            if ((initTable == true)) {
                if ((this.tableQuestion != null)) {
                    this.tableQuestion.InitVars();
                }
            }
            this.tableResponse = ((ResponseDataTable)(base.Tables["Response"]));
            if ((initTable == true)) {
                if ((this.tableResponse != null)) {
                    this.tableResponse.InitVars();
                }
            }
            this.tableQuestionType = ((QuestionTypeDataTable)(base.Tables["QuestionType"]));
            if ((initTable == true)) {
                if ((this.tableQuestionType != null)) {
                    this.tableQuestionType.InitVars();
                }
            }
            this.relationExam_Question = this.Relations["Exam_Question"];
            this.relationQuestion_Response = this.Relations["Question_Response"];
            this.relationQuestionType_Question = this.Relations["QuestionType_Question"];
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private void InitClass() {
            this.DataSetName = "Exam";
            this.Prefix = "";
            this.Namespace = "http://tempuri.org/Exam.xsd";
            this.EnforceConstraints = true;
            this.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.tableExam = new ExamDataTable();
            base.Tables.Add(this.tableExam);
            this.tableQuestion = new QuestionDataTable();
            base.Tables.Add(this.tableQuestion);
            this.tableResponse = new ResponseDataTable();
            base.Tables.Add(this.tableResponse);
            this.tableQuestionType = new QuestionTypeDataTable();
            base.Tables.Add(this.tableQuestionType);
            this.relationExam_Question = new System.Data.DataRelation("Exam_Question", new System.Data.DataColumn[] {
                        this.tableExam.ExamIDColumn}, new System.Data.DataColumn[] {
                        this.tableQuestion.ExamIDColumn}, false);
            this.Relations.Add(this.relationExam_Question);
            this.relationQuestion_Response = new System.Data.DataRelation("Question_Response", new System.Data.DataColumn[] {
                        this.tableQuestion.QuestionIDColumn}, new System.Data.DataColumn[] {
                        this.tableResponse.QuestionIDColumn}, false);
            this.Relations.Add(this.relationQuestion_Response);
            this.relationQuestionType_Question = new System.Data.DataRelation("QuestionType_Question", new System.Data.DataColumn[] {
                        this.tableQuestionType.QuestionTypeIDColumn}, new System.Data.DataColumn[] {
                        this.tableQuestion.QuestionTypeIDColumn}, false);
            this.Relations.Add(this.relationQuestionType_Question);
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerialize_Exam() {
            return false;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeQuestion() {
            return false;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeResponse() {
            return false;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeQuestionType() {
            return false;
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private void SchemaChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e) {
            if ((e.Action == System.ComponentModel.CollectionChangeAction.Remove)) {
                this.InitVars();
            }
        }
        
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        public static System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(System.Xml.Schema.XmlSchemaSet xs) {
            ExamDataset ds = new ExamDataset();
            System.Xml.Schema.XmlSchemaComplexType type = new System.Xml.Schema.XmlSchemaComplexType();
            System.Xml.Schema.XmlSchemaSequence sequence = new System.Xml.Schema.XmlSchemaSequence();
            xs.Add(ds.GetSchemaSerializable());
            System.Xml.Schema.XmlSchemaAny any = new System.Xml.Schema.XmlSchemaAny();
            any.Namespace = ds.Namespace;
            sequence.Items.Add(any);
            type.Particle = sequence;
            return type;
        }
        
        public delegate void ExamRowChangeEventHandler(object sender, ExamRowChangeEvent e);
        
        public delegate void QuestionRowChangeEventHandler(object sender, QuestionRowChangeEvent e);
        
        public delegate void ResponseRowChangeEventHandler(object sender, ResponseRowChangeEvent e);
        
        public delegate void QuestionTypeRowChangeEventHandler(object sender, QuestionTypeRowChangeEvent e);
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [System.Serializable()]
        [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class ExamDataTable : System.Data.DataTable, System.Collections.IEnumerable {
            
            private System.Data.DataColumn columnExamID;
            
            private System.Data.DataColumn columnExamTitle;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamDataTable() {
                this.TableName = "Exam";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ExamDataTable(System.Data.DataTable table) {
                this.TableName = 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;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected ExamDataTable(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn ExamIDColumn {
                get {
                    return this.columnExamID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn ExamTitleColumn {
                get {
                    return this.columnExamTitle;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamRow this[int index] {
                get {
                    return ((ExamRow)(this.Rows[index]));
                }
            }
            
            public event ExamRowChangeEventHandler ExamRowChanging;
            
            public event ExamRowChangeEventHandler ExamRowChanged;
            
            public event ExamRowChangeEventHandler ExamRowDeleting;
            
            public event ExamRowChangeEventHandler ExamRowDeleted;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddExamRow(ExamRow row) {
                this.Rows.Add(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamRow AddExamRow(string ExamTitle) {
                ExamRow rowExamRow = ((ExamRow)(this.NewRow()));
                rowExamRow.ItemArray = new object[] {
                        null,
                        ExamTitle};
                this.Rows.Add(rowExamRow);
                return rowExamRow;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override System.Data.DataTable Clone() {
                ExamDataTable cln = ((ExamDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataTable CreateInstance() {
                return new ExamDataTable();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnExamID = base.Columns["ExamID"];
                this.columnExamTitle = base.Columns["ExamTitle"];
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnExamID = new System.Data.DataColumn("ExamID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnExamID);
                this.columnExamTitle = new System.Data.DataColumn("ExamTitle", typeof(string), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnExamTitle);
                this.columnExamID.AutoIncrement = true;
                this.ExtendedProperties.Add("Generator_TablePropName", "_Exam");
                this.ExtendedProperties.Add("Generator_UserTableName", "Exam");
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamRow NewExamRow() {
                return ((ExamRow)(this.NewRow()));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataRow NewRowFromBuilder(System.Data.DataRowBuilder builder) {
                return new ExamRow(builder);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Type GetRowType() {
                return typeof(ExamRow);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ExamRowChanged != null)) {
                    this.ExamRowChanged(this, new ExamRowChangeEvent(((ExamRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ExamRowChanging != null)) {
                    this.ExamRowChanging(this, new ExamRowChangeEvent(((ExamRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ExamRowDeleted != null)) {
                    this.ExamRowDeleted(this, new ExamRowChangeEvent(((ExamRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ExamRowDeleting != null)) {
                    this.ExamRowDeleting(this, new ExamRowChangeEvent(((ExamRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveExamRow(ExamRow row) {
                this.Rows.Remove(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(System.Xml.Schema.XmlSchemaSet xs) {
                System.Xml.Schema.XmlSchemaComplexType type = new System.Xml.Schema.XmlSchemaComplexType();
                System.Xml.Schema.XmlSchemaSequence sequence = new System.Xml.Schema.XmlSchemaSequence();
                ExamDataset ds = new ExamDataset();
                xs.Add(ds.GetSchemaSerializable());
                System.Xml.Schema.XmlSchemaAny any1 = new System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                System.Xml.Schema.XmlSchemaAny any2 = new System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                System.Xml.Schema.XmlSchemaAttribute attribute1 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                System.Xml.Schema.XmlSchemaAttribute attribute2 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "ExamDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                return type;
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [System.Serializable()]
        [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class QuestionDataTable : System.Data.DataTable, System.Collections.IEnumerable {
            
            private System.Data.DataColumn columnQuestionID;
            
            private System.Data.DataColumn columnExamID;
            
            private System.Data.DataColumn columnQuestionText;
            
            private System.Data.DataColumn columnQuestionTypeID;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionDataTable() {
                this.TableName = "Question";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal QuestionDataTable(System.Data.DataTable table) {
                this.TableName = 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;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected QuestionDataTable(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn QuestionIDColumn {
                get {
                    return this.columnQuestionID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn ExamIDColumn {
                get {
                    return this.columnExamID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn QuestionTextColumn {
                get {
                    return this.columnQuestionText;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn QuestionTypeIDColumn {
                get {
                    return this.columnQuestionTypeID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow this[int index] {
                get {
                    return ((QuestionRow)(this.Rows[index]));
                }
            }
            
            public event QuestionRowChangeEventHandler QuestionRowChanging;
            
            public event QuestionRowChangeEventHandler QuestionRowChanged;
            
            public event QuestionRowChangeEventHandler QuestionRowDeleting;
            
            public event QuestionRowChangeEventHandler QuestionRowDeleted;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddQuestionRow(QuestionRow row) {
                this.Rows.Add(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow AddQuestionRow(ExamRow parentExamRowByExam_Question, string QuestionText, QuestionTypeRow parentQuestionTypeRowByQuestionType_Question) {
                QuestionRow rowQuestionRow = ((QuestionRow)(this.NewRow()));
                rowQuestionRow.ItemArray = new object[] {
                        null,
                        parentExamRowByExam_Question[0],
                        QuestionText,
                        parentQuestionTypeRowByQuestionType_Question[0]};
                this.Rows.Add(rowQuestionRow);
                return rowQuestionRow;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override System.Data.DataTable Clone() {
                QuestionDataTable cln = ((QuestionDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataTable CreateInstance() {
                return new QuestionDataTable();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnQuestionID = base.Columns["QuestionID"];
                this.columnExamID = base.Columns["ExamID"];
                this.columnQuestionText = base.Columns["QuestionText"];
                this.columnQuestionTypeID = base.Columns["QuestionTypeID"];
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnQuestionID = new System.Data.DataColumn("QuestionID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnQuestionID);
                this.columnExamID = new System.Data.DataColumn("ExamID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnExamID);
                this.columnQuestionText = new System.Data.DataColumn("QuestionText", typeof(string), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnQuestionText);
                this.columnQuestionTypeID = new System.Data.DataColumn("QuestionTypeID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnQuestionTypeID);
                this.columnQuestionID.AutoIncrement = true;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow NewQuestionRow() {
                return ((QuestionRow)(this.NewRow()));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataRow NewRowFromBuilder(System.Data.DataRowBuilder builder) {
                return new QuestionRow(builder);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Type GetRowType() {
                return typeof(QuestionRow);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.QuestionRowChanged != null)) {
                    this.QuestionRowChanged(this, new QuestionRowChangeEvent(((QuestionRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.QuestionRowChanging != null)) {
                    this.QuestionRowChanging(this, new QuestionRowChangeEvent(((QuestionRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.QuestionRowDeleted != null)) {
                    this.QuestionRowDeleted(this, new QuestionRowChangeEvent(((QuestionRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.QuestionRowDeleting != null)) {
                    this.QuestionRowDeleting(this, new QuestionRowChangeEvent(((QuestionRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveQuestionRow(QuestionRow row) {
                this.Rows.Remove(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(System.Xml.Schema.XmlSchemaSet xs) {
                System.Xml.Schema.XmlSchemaComplexType type = new System.Xml.Schema.XmlSchemaComplexType();
                System.Xml.Schema.XmlSchemaSequence sequence = new System.Xml.Schema.XmlSchemaSequence();
                ExamDataset ds = new ExamDataset();
                xs.Add(ds.GetSchemaSerializable());
                System.Xml.Schema.XmlSchemaAny any1 = new System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                System.Xml.Schema.XmlSchemaAny any2 = new System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                System.Xml.Schema.XmlSchemaAttribute attribute1 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                System.Xml.Schema.XmlSchemaAttribute attribute2 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "QuestionDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                return type;
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [System.Serializable()]
        [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class ResponseDataTable : System.Data.DataTable, System.Collections.IEnumerable {
            
            private System.Data.DataColumn columnResponseID;
            
            private System.Data.DataColumn columnQuestionID;
            
            private System.Data.DataColumn columnResponseText;
            
            private System.Data.DataColumn columnIsCorrect;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseDataTable() {
                this.TableName = "Response";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ResponseDataTable(System.Data.DataTable table) {
                this.TableName = 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;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected ResponseDataTable(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn ResponseIDColumn {
                get {
                    return this.columnResponseID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn QuestionIDColumn {
                get {
                    return this.columnQuestionID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn ResponseTextColumn {
                get {
                    return this.columnResponseText;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn IsCorrectColumn {
                get {
                    return this.columnIsCorrect;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseRow this[int index] {
                get {
                    return ((ResponseRow)(this.Rows[index]));
                }
            }
            
            public event ResponseRowChangeEventHandler ResponseRowChanging;
            
            public event ResponseRowChangeEventHandler ResponseRowChanged;
            
            public event ResponseRowChangeEventHandler ResponseRowDeleting;
            
            public event ResponseRowChangeEventHandler ResponseRowDeleted;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddResponseRow(ResponseRow row) {
                this.Rows.Add(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseRow AddResponseRow(QuestionRow parentQuestionRowByQuestion_Response, string ResponseText, bool IsCorrect) {
                ResponseRow rowResponseRow = ((ResponseRow)(this.NewRow()));
                rowResponseRow.ItemArray = new object[] {
                        null,
                        parentQuestionRowByQuestion_Response[0],
                        ResponseText,
                        IsCorrect};
                this.Rows.Add(rowResponseRow);
                return rowResponseRow;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override System.Data.DataTable Clone() {
                ResponseDataTable cln = ((ResponseDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataTable CreateInstance() {
                return new ResponseDataTable();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnResponseID = base.Columns["ResponseID"];
                this.columnQuestionID = base.Columns["QuestionID"];
                this.columnResponseText = base.Columns["ResponseText"];
                this.columnIsCorrect = base.Columns["IsCorrect"];
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnResponseID = new System.Data.DataColumn("ResponseID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnResponseID);
                this.columnQuestionID = new System.Data.DataColumn("QuestionID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnQuestionID);
                this.columnResponseText = new System.Data.DataColumn("ResponseText", typeof(string), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnResponseText);
                this.columnIsCorrect = new System.Data.DataColumn("IsCorrect", typeof(bool), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnIsCorrect);
                this.columnResponseID.AutoIncrement = true;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseRow NewResponseRow() {
                return ((ResponseRow)(this.NewRow()));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataRow NewRowFromBuilder(System.Data.DataRowBuilder builder) {
                return new ResponseRow(builder);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Type GetRowType() {
                return typeof(ResponseRow);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ResponseRowChanged != null)) {
                    this.ResponseRowChanged(this, new ResponseRowChangeEvent(((ResponseRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ResponseRowChanging != null)) {
                    this.ResponseRowChanging(this, new ResponseRowChangeEvent(((ResponseRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ResponseRowDeleted != null)) {
                    this.ResponseRowDeleted(this, new ResponseRowChangeEvent(((ResponseRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ResponseRowDeleting != null)) {
                    this.ResponseRowDeleting(this, new ResponseRowChangeEvent(((ResponseRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveResponseRow(ResponseRow row) {
                this.Rows.Remove(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(System.Xml.Schema.XmlSchemaSet xs) {
                System.Xml.Schema.XmlSchemaComplexType type = new System.Xml.Schema.XmlSchemaComplexType();
                System.Xml.Schema.XmlSchemaSequence sequence = new System.Xml.Schema.XmlSchemaSequence();
                ExamDataset ds = new ExamDataset();
                xs.Add(ds.GetSchemaSerializable());
                System.Xml.Schema.XmlSchemaAny any1 = new System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                System.Xml.Schema.XmlSchemaAny any2 = new System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                System.Xml.Schema.XmlSchemaAttribute attribute1 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                System.Xml.Schema.XmlSchemaAttribute attribute2 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "ResponseDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                return type;
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [System.Serializable()]
        [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class QuestionTypeDataTable : System.Data.DataTable, System.Collections.IEnumerable {
            
            private System.Data.DataColumn columnQuestionTypeID;
            
            private System.Data.DataColumn columnQuestionTypeDescription;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeDataTable() {
                this.TableName = "QuestionType";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal QuestionTypeDataTable(System.Data.DataTable table) {
                this.TableName = 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;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected QuestionTypeDataTable(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn QuestionTypeIDColumn {
                get {
                    return this.columnQuestionTypeID;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataColumn QuestionTypeDescriptionColumn {
                get {
                    return this.columnQuestionTypeDescription;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeRow this[int index] {
                get {
                    return ((QuestionTypeRow)(this.Rows[index]));
                }
            }
            
            public event QuestionTypeRowChangeEventHandler QuestionTypeRowChanging;
            
            public event QuestionTypeRowChangeEventHandler QuestionTypeRowChanged;
            
            public event QuestionTypeRowChangeEventHandler QuestionTypeRowDeleting;
            
            public event QuestionTypeRowChangeEventHandler QuestionTypeRowDeleted;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddQuestionTypeRow(QuestionTypeRow row) {
                this.Rows.Add(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeRow AddQuestionTypeRow(string QuestionTypeDescription) {
                QuestionTypeRow rowQuestionTypeRow = ((QuestionTypeRow)(this.NewRow()));
                rowQuestionTypeRow.ItemArray = new object[] {
                        null,
                        QuestionTypeDescription};
                this.Rows.Add(rowQuestionTypeRow);
                return rowQuestionTypeRow;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override System.Data.DataTable Clone() {
                QuestionTypeDataTable cln = ((QuestionTypeDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataTable CreateInstance() {
                return new QuestionTypeDataTable();
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnQuestionTypeID = base.Columns["QuestionTypeID"];
                this.columnQuestionTypeDescription = base.Columns["QuestionTypeDescription"];
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnQuestionTypeID = new System.Data.DataColumn("QuestionTypeID", typeof(int), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnQuestionTypeID);
                this.columnQuestionTypeDescription = new System.Data.DataColumn("QuestionTypeDescription", typeof(string), null, System.Data.MappingType.Element);
                base.Columns.Add(this.columnQuestionTypeDescription);
                this.columnQuestionTypeID.AutoIncrement = true;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeRow NewQuestionTypeRow() {
                return ((QuestionTypeRow)(this.NewRow()));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Data.DataRow NewRowFromBuilder(System.Data.DataRowBuilder builder) {
                return new QuestionTypeRow(builder);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override System.Type GetRowType() {
                return typeof(QuestionTypeRow);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.QuestionTypeRowChanged != null)) {
                    this.QuestionTypeRowChanged(this, new QuestionTypeRowChangeEvent(((QuestionTypeRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.QuestionTypeRowChanging != null)) {
                    this.QuestionTypeRowChanging(this, new QuestionTypeRowChangeEvent(((QuestionTypeRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.QuestionTypeRowDeleted != null)) {
                    this.QuestionTypeRowDeleted(this, new QuestionTypeRowChangeEvent(((QuestionTypeRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.QuestionTypeRowDeleting != null)) {
                    this.QuestionTypeRowDeleting(this, new QuestionTypeRowChangeEvent(((QuestionTypeRow)(e.Row)), e.Action));
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveQuestionTypeRow(QuestionTypeRow row) {
                this.Rows.Remove(row);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(System.Xml.Schema.XmlSchemaSet xs) {
                System.Xml.Schema.XmlSchemaComplexType type = new System.Xml.Schema.XmlSchemaComplexType();
                System.Xml.Schema.XmlSchemaSequence sequence = new System.Xml.Schema.XmlSchemaSequence();
                ExamDataset ds = new ExamDataset();
                xs.Add(ds.GetSchemaSerializable());
                System.Xml.Schema.XmlSchemaAny any1 = new System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                System.Xml.Schema.XmlSchemaAny any2 = new System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                System.Xml.Schema.XmlSchemaAttribute attribute1 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                System.Xml.Schema.XmlSchemaAttribute attribute2 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "QuestionTypeDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                return type;
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class ExamRow : System.Data.DataRow {
            
            private ExamDataTable tableExam;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ExamRow(System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableExam = ((ExamDataTable)(this.Table));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int ExamID {
                get {
                    try {
                        return ((int)(this[this.tableExam.ExamIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'ExamID\' in table \'Exam\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExam.ExamIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string ExamTitle {
                get {
                    try {
                        return ((string)(this[this.tableExam.ExamTitleColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'ExamTitle\' in table \'Exam\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExam.ExamTitleColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsExamIDNull() {
                return this.IsNull(this.tableExam.ExamIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetExamIDNull() {
                this[this.tableExam.ExamIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsExamTitleNull() {
                return this.IsNull(this.tableExam.ExamTitleColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetExamTitleNull() {
                this[this.tableExam.ExamTitleColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow[] GetQuestionRows() {
                return ((QuestionRow[])(base.GetChildRows(this.Table.ChildRelations["Exam_Question"])));
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class QuestionRow : System.Data.DataRow {
            
            private QuestionDataTable tableQuestion;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal QuestionRow(System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableQuestion = ((QuestionDataTable)(this.Table));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int QuestionID {
                get {
                    try {
                        return ((int)(this[this.tableQuestion.QuestionIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'QuestionID\' in table \'Question\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableQuestion.QuestionIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int ExamID {
                get {
                    try {
                        return ((int)(this[this.tableQuestion.ExamIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'ExamID\' in table \'Question\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableQuestion.ExamIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string QuestionText {
                get {
                    try {
                        return ((string)(this[this.tableQuestion.QuestionTextColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'QuestionText\' in table \'Question\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableQuestion.QuestionTextColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int QuestionTypeID {
                get {
                    try {
                        return ((int)(this[this.tableQuestion.QuestionTypeIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'QuestionTypeID\' in table \'Question\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableQuestion.QuestionTypeIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamRow ExamRow {
                get {
                    return ((ExamRow)(this.GetParentRow(this.Table.ParentRelations["Exam_Question"])));
                }
                set {
                    this.SetParentRow(value, this.Table.ParentRelations["Exam_Question"]);
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeRow QuestionTypeRow {
                get {
                    return ((QuestionTypeRow)(this.GetParentRow(this.Table.ParentRelations["QuestionType_Question"])));
                }
                set {
                    this.SetParentRow(value, this.Table.ParentRelations["QuestionType_Question"]);
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsQuestionIDNull() {
                return this.IsNull(this.tableQuestion.QuestionIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetQuestionIDNull() {
                this[this.tableQuestion.QuestionIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsExamIDNull() {
                return this.IsNull(this.tableQuestion.ExamIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetExamIDNull() {
                this[this.tableQuestion.ExamIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsQuestionTextNull() {
                return this.IsNull(this.tableQuestion.QuestionTextColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetQuestionTextNull() {
                this[this.tableQuestion.QuestionTextColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsQuestionTypeIDNull() {
                return this.IsNull(this.tableQuestion.QuestionTypeIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetQuestionTypeIDNull() {
                this[this.tableQuestion.QuestionTypeIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseRow[] GetResponseRows() {
                return ((ResponseRow[])(base.GetChildRows(this.Table.ChildRelations["Question_Response"])));
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class ResponseRow : System.Data.DataRow {
            
            private ResponseDataTable tableResponse;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ResponseRow(System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableResponse = ((ResponseDataTable)(this.Table));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int ResponseID {
                get {
                    try {
                        return ((int)(this[this.tableResponse.ResponseIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'ResponseID\' in table \'Response\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableResponse.ResponseIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int QuestionID {
                get {
                    try {
                        return ((int)(this[this.tableResponse.QuestionIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'QuestionID\' in table \'Response\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableResponse.QuestionIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string ResponseText {
                get {
                    try {
                        return ((string)(this[this.tableResponse.ResponseTextColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'ResponseText\' in table \'Response\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableResponse.ResponseTextColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCorrect {
                get {
                    try {
                        return ((bool)(this[this.tableResponse.IsCorrectColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'IsCorrect\' in table \'Response\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableResponse.IsCorrectColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow QuestionRow {
                get {
                    return ((QuestionRow)(this.GetParentRow(this.Table.ParentRelations["Question_Response"])));
                }
                set {
                    this.SetParentRow(value, this.Table.ParentRelations["Question_Response"]);
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsResponseIDNull() {
                return this.IsNull(this.tableResponse.ResponseIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetResponseIDNull() {
                this[this.tableResponse.ResponseIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsQuestionIDNull() {
                return this.IsNull(this.tableResponse.QuestionIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetQuestionIDNull() {
                this[this.tableResponse.QuestionIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsResponseTextNull() {
                return this.IsNull(this.tableResponse.ResponseTextColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetResponseTextNull() {
                this[this.tableResponse.ResponseTextColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsIsCorrectNull() {
                return this.IsNull(this.tableResponse.IsCorrectColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetIsCorrectNull() {
                this[this.tableResponse.IsCorrectColumn] = System.Convert.DBNull;
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class QuestionTypeRow : System.Data.DataRow {
            
            private QuestionTypeDataTable tableQuestionType;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal QuestionTypeRow(System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableQuestionType = ((QuestionTypeDataTable)(this.Table));
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int QuestionTypeID {
                get {
                    try {
                        return ((int)(this[this.tableQuestionType.QuestionTypeIDColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'QuestionTypeID\' in table \'QuestionType\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableQuestionType.QuestionTypeIDColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string QuestionTypeDescription {
                get {
                    try {
                        return ((string)(this[this.tableQuestionType.QuestionTypeDescriptionColumn]));
                    }
                    catch (System.InvalidCastException e) {
                        throw new System.Data.StrongTypingException("The value for column \'QuestionTypeDescription\' in table \'QuestionType\' is DBNull." +
                                "", e);
                    }
                }
                set {
                    this[this.tableQuestionType.QuestionTypeDescriptionColumn] = value;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsQuestionTypeIDNull() {
                return this.IsNull(this.tableQuestionType.QuestionTypeIDColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetQuestionTypeIDNull() {
                this[this.tableQuestionType.QuestionTypeIDColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsQuestionTypeDescriptionNull() {
                return this.IsNull(this.tableQuestionType.QuestionTypeDescriptionColumn);
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetQuestionTypeDescriptionNull() {
                this[this.tableQuestionType.QuestionTypeDescriptionColumn] = System.Convert.DBNull;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow[] GetQuestionRows() {
                return ((QuestionRow[])(base.GetChildRows(this.Table.ChildRelations["QuestionType_Question"])));
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class ExamRowChangeEvent : System.EventArgs {
            
            private ExamRow eventRow;
            
            private System.Data.DataRowAction eventAction;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamRowChangeEvent(ExamRow row, System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExamRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class QuestionRowChangeEvent : System.EventArgs {
            
            private QuestionRow eventRow;
            
            private System.Data.DataRowAction eventAction;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRowChangeEvent(QuestionRow row, System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class ResponseRowChangeEvent : System.EventArgs {
            
            private ResponseRow eventRow;
            
            private System.Data.DataRowAction eventAction;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseRowChangeEvent(ResponseRow row, System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ResponseRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class QuestionTypeRowChangeEvent : System.EventArgs {
            
            private QuestionTypeRow eventRow;
            
            private System.Data.DataRowAction eventAction;
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeRowChangeEvent(QuestionTypeRow row, System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public QuestionTypeRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
    }
}

#pragma warning restore 1591