Class Form
An exam form is a specific set of questions (grouped into sections) for a student or candidate to answer.
public class Form : IHasAssetNumber, IHasVersionControl<Form>
- Inheritance
-
Form
- Implements
- Inherited Members
- Extension Methods
Constructors
Form()
Constructs an empty form.
public Form()
Form(Form)
protected Form(Form source)
Parameters
sourceForm
Properties
Addendum
A form addendum is the sequence of asset numbers (in order) for the attachments that need to be printed whenever the form is printed. It may be an empty list, or it may contain any subset of the attachments contained in the bank.
public FormAddendum Addendum { get; set; }
Property Value
Asset
Every form is assigned a unique asset number in the organization's inventory.
public int Asset { get; set; }
Property Value
AssetVersion
Every asset number has a unique version number.
public int AssetVersion { get; }
Property Value
Categories
A form can be assigned to any number of categories. This is helpful for searching, indexing, and organizing forms.
public List<string> Categories { get; set; }
Property Value
Classification
Form classification attributes are encapsulated in a single property for improved readability.
public FormClassification Classification { get; set; }
Property Value
Code
The catalog reference code for the form.
public string Code { get; set; }
Property Value
Content
Forms need support for multilingual titles, summaries, materials, etc.
public ContentExamForm Content { get; set; }
Property Value
Gradebook
The referenced gradebook
public Guid? Gradebook { get; set; }
Property Value
- Guid?
HasDiagrams
Does this form have any diagrams associated with the questions it contains?
public bool HasDiagrams { get; set; }
Property Value
HasReferenceMaterials
public ReferenceMaterialType HasReferenceMaterials { get; set; }
Property Value
Hook
public string Hook { get; set; }
Property Value
Identifier
Uniquely identifies the form.
public Guid Identifier { get; set; }
Property Value
Invigilation
Invigilation attributes for the form.
public FormInvigilation Invigilation { get; set; }
Property Value
Languages
public string[] Languages { get; set; }
Property Value
- string[]
Letter
Returns an alphabetic equivalent for the integer sequence (e.g. A = 1, B = 2, C = 3).
public string Letter { get; }
Property Value
Name
The internal name used to uniquely identify the form for filing purposes.
public string Name { get; set; }
Property Value
NextVersion
public Form NextVersion { get; set; }
Property Value
Origin
Identifies the originating platform and/or record for this form. When this property is used, it should ideally contain a fully qualified URL or API path.
public string Origin { get; set; }
Property Value
PreviousVersion
public Form PreviousVersion { get; set; }
Property Value
Publication
Publication properties for the form.
public FormPublication Publication { get; set; }
Property Value
Sections
A form contains fields grouped into sections. A section uses a special-purpose filter (i.e. question sieve) to draw from a pool of question items (i.e. question set).
public List<Section> Sections { get; set; }
Property Value
Sequence
The ordinal position of this form in the specification that contains it.
public int Sequence { get; }
Property Value
Source
Reference to the source of the content and/or configuration for this form.
public string Source { get; set; }
Property Value
Specification
The specification that contains this form defines the requirements that the form must satisfy.
public Specification Specification { get; set; }
Property Value
StaticQuestionOrder
public Guid[] StaticQuestionOrder { get; set; }
Property Value
- Guid[]
StaticQuestionOrderVerified
public DateTimeOffset? StaticQuestionOrderVerified { get; set; }
Property Value
ThirdPartyAssessmentIsEnabled
Does this form allow a third-party assessor to submit an assessment of a learner's performance?
public bool ThirdPartyAssessmentIsEnabled { get; set; }
Property Value
Remarks
Note this is false by default because learners assess themselves when they complete typical assessment forms.
WhenAttemptCompletedNotifyAdminMessageIdentifier
Message identifier to notify administrators when an attempt is completed.
public Guid? WhenAttemptCompletedNotifyAdminMessageIdentifier { get; set; }
Property Value
- Guid?
WhenAttemptStartedNotifyAdminMessageIdentifier
Message identifier to notify administrators when an attempt is started.
public Guid? WhenAttemptStartedNotifyAdminMessageIdentifier { get; set; }
Property Value
- Guid?
Methods
Clone()
public Form Clone()
Returns
ContainsQuestion(Guid)
public bool ContainsQuestion(Guid id)
Parameters
idGuid
Returns
FindQuestion(Guid)
public Question FindQuestion(Guid id)
Parameters
idGuid
Returns
GetQuestions()
public List<Question> GetQuestions()
Returns
GetStaticFormQuestionIdentifiersInOrder()
public Guid[] GetStaticFormQuestionIdentifiersInOrder()
Returns
- Guid[]
Remarks
The documentation for SelectMany does not explicitly guarantee the order of the elements in the result, therefore we build the array explicitly to ensure the order is preserved.
ShouldSerializeCategories()
public bool ShouldSerializeCategories()
Returns
ShouldSerializeVersion()
public bool ShouldSerializeVersion()
Returns
ToString()
public override string ToString()