Table of Contents

Class Form

Namespace
InSite.Domain.Banks
Assembly
Shift.Sdk.dll

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

source Form

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

FormAddendum

Asset

Every form is assigned a unique asset number in the organization's inventory.

public int Asset { get; set; }

Property Value

int

AssetVersion

Every asset number has a unique version number.

public int AssetVersion { get; }

Property Value

int

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

List<string>

Classification

Form classification attributes are encapsulated in a single property for improved readability.

public FormClassification Classification { get; set; }

Property Value

FormClassification

Code

The catalog reference code for the form.

public string Code { get; set; }

Property Value

string

Content

Forms need support for multilingual titles, summaries, materials, etc.

public ContentExamForm Content { get; set; }

Property Value

ContentExamForm

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

bool

HasReferenceMaterials

public ReferenceMaterialType HasReferenceMaterials { get; set; }

Property Value

ReferenceMaterialType

Hook

public string Hook { get; set; }

Property Value

string

Identifier

Uniquely identifies the form.

public Guid Identifier { get; set; }

Property Value

Guid

Invigilation

Invigilation attributes for the form.

public FormInvigilation Invigilation { get; set; }

Property Value

FormInvigilation

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

string

Name

The internal name used to uniquely identify the form for filing purposes.

public string Name { get; set; }

Property Value

string

NextVersion

public Form NextVersion { get; set; }

Property Value

Form

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

string

PreviousVersion

public Form PreviousVersion { get; set; }

Property Value

Form

Publication

Publication properties for the form.

public FormPublication Publication { get; set; }

Property Value

FormPublication

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

List<Section>

Sequence

The ordinal position of this form in the specification that contains it.

public int Sequence { get; }

Property Value

int

Source

Reference to the source of the content and/or configuration for this form.

public string Source { get; set; }

Property Value

string

Specification

The specification that contains this form defines the requirements that the form must satisfy.

public Specification Specification { get; set; }

Property Value

Specification

StaticQuestionOrder

public Guid[] StaticQuestionOrder { get; set; }

Property Value

Guid[]

StaticQuestionOrderVerified

public DateTimeOffset? StaticQuestionOrderVerified { get; set; }

Property Value

DateTimeOffset?

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

bool

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

Form

ContainsQuestion(Guid)

public bool ContainsQuestion(Guid id)

Parameters

id Guid

Returns

bool

FindQuestion(Guid)

public Question FindQuestion(Guid id)

Parameters

id Guid

Returns

Question

GetQuestions()

public List<Question> GetQuestions()

Returns

List<Question>

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

bool

ShouldSerializeVersion()

public bool ShouldSerializeVersion()

Returns

bool

ToString()

public override string ToString()

Returns

string