Table of Contents

Class BankState

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

A question bank is a planned library of question items designed to fulfill specific predetermined purposes.

For example, a bank can contain hundreds of questions for each chapter in a published resource. This provides an opportunity for teachers to select from a wide variety of questions when developing an exam, developing more than one exam for a specific assessment strategy and rotate them between terms, or to draw a random set of questions into an exam.

The question items in a bank are grouped int question sets. This makes it easier for instructors and administrators to work with large banks, and it allows for the creation of exam forms containing questions that naturally group together - and for which different display rules might need to apply.

For example, consider an exam form that contain 20 questions, where the first 10 questions relate to topic A and the second 10 questions relate to topic B. An instructor might want students to see all A questions before any B questions, and also want to randomize the question items in each of the two groups.

public class BankState : AggregateState, IHasAssetNumber
Inheritance
BankState
Implements
Inherited Members
Extension Methods

Constructors

BankState()

Constructs an empty bank.

public BankState()

Properties

Asset

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

public int Asset { get; set; }

Property Value

int

Attachments

A bank can have any number of attached files. Each file is stored in the file system with a physical file name that looks like this - \Data\Files\Core\UploadIdentifier.extension - and information about the uploaded file is stored in the database table Upload. The convention that should be followed for the Upload.NavigateUrl property (used to view/download the file) is this: /Assessments/{Bank.Asset}/Attachments/{Upload.Name}

public List<Attachment> Attachments { get; set; }

Property Value

List<Attachment>

Comments

A bank can have any number of comments. Comments might be posted by instructors authoring questions, subject-matter-experts reviewing and revising questions, students submitting exams, etc.

public List<Comment> Comments { get; set; }

Property Value

List<Comment>

Content

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

public ContentExamBank Content { get; set; }

Property Value

ContentExamBank

Department

public Guid Department { get; set; }

Property Value

Guid

Edition

What is the edition number on this bank?

public Edition Edition { get; set; }

Property Value

Edition

Identifier

Uniquely identifies the bank itself.

public Guid Identifier { get; set; }

Property Value

Guid

IsActive

Bank Status Activity.

public bool IsActive { get; set; }

Property Value

bool

IsAdvanced

public bool IsAdvanced { get; }

Property Value

bool

IsLocked

Changes to questions contained in a locked bank are not permitted.

public bool IsLocked { get; set; }

Property Value

bool

Level

The level (type and number) to which the questions in the bank apply.

public Level Level { get; set; }

Property Value

Level

Name

The internal name used to uniquely identify this bank for filing purposes.

public string Name { get; set; }

Property Value

string

Sets

The question items in a bank are grouped into logical sets.

public List<Set> Sets { get; set; }

Property Value

List<Set>

Specifications

A bank can be used by any number of specifications for generating any number of exam forms.

public List<Specification> Specifications { get; set; }

Property Value

List<Specification>

Standard

Uniquely identifies the standard (e.g. competency framework) evaluated by the questions in the bank. If the bank does not evaluate any standard then Guid.Empty is assumed as a sentinel value.

public Guid Standard { get; set; }

Property Value

Guid

Status

The current publication status of the bank.

public string Status { get; set; }

Property Value

string

Tenant

Uniquely identifies the organization that owns the bank.

public Guid Tenant { get; set; }

Property Value

Guid

Type

Banks are organized into types. Certain functions apply to one type and not to another type.

public BankType Type { get; set; }

Property Value

BankType

Methods

Clone()

public BankState Clone()

Returns

BankState

EnumerateAllAttachments()

public IEnumerable<Attachment> EnumerateAllAttachments()

Returns

IEnumerable<Attachment>

FindAttachment(Guid)

public Attachment FindAttachment(Guid attachment)

Parameters

attachment Guid

Returns

Attachment

FindComment(Guid)

public Comment FindComment(Guid comment)

Parameters

comment Guid

Returns

Comment

FindCriterion(Guid)

public Criterion FindCriterion(Guid id)

Parameters

id Guid

Returns

Criterion

FindField(Guid)

public Field FindField(Guid id)

Parameters

id Guid

Returns

Field

FindForm(Guid)

public Form FindForm(Guid id)

Parameters

id Guid

Returns

Form

FindForm(Guid, Guid)

public Form FindForm(Guid specId, Guid formId)

Parameters

specId Guid
formId Guid

Returns

Form

FindOption(Guid, int)

public Option FindOption(Guid question, int number)

Parameters

question Guid
number int

Returns

Option

FindQuestion(Guid)

Searches the sets in a bank for a specific question.

public Question FindQuestion(Guid id)

Parameters

id Guid

Returns

Question

Returns null if the question is not found.

FindSection(Guid)

public Section FindSection(Guid id)

Parameters

id Guid

Returns

Section

FindSet(Guid)

public Set FindSet(Guid id)

Parameters

id Guid

Returns

Set

FindSpecification(Guid)

public Specification FindSpecification(Guid id)

Parameters

id Guid

Returns

Specification

GetAllQuestions()

public Question[] GetAllQuestions()

Returns

Question[]

RemoveAttachment(Guid)

public void RemoveAttachment(Guid attachment)

Parameters

attachment Guid

RemoveCriterion(CriterionDeleted)

public Criterion RemoveCriterion(CriterionDeleted e)

Parameters

e CriterionDeleted

Returns

Criterion

RemoveField(Field)

public void RemoveField(Field field)

Parameters

field Field

RemoveFields(Guid, Guid)

public void RemoveFields(Guid form, Guid question)

Parameters

form Guid
question Guid

RemoveForm(Guid)

public void RemoveForm(Guid form)

Parameters

form Guid

RemoveSection(Section)

public void RemoveSection(Section section)

Parameters

section Section

RemoveSection(Guid)

public void RemoveSection(Guid id)

Parameters

id Guid

RemoveSet(Guid)

public void RemoveSet(Guid set)

Parameters

set Guid

RemoveSpecification(Guid)

public void RemoveSpecification(Guid specification)

Parameters

specification Guid

Serialize()

public string Serialize()

Returns

string

ShouldSerializeAttachments()

public bool ShouldSerializeAttachments()

Returns

bool

ShouldSerializeComments()

public bool ShouldSerializeComments()

Returns

bool

ShouldSerializeEdition()

public bool ShouldSerializeEdition()

Returns

bool

SwapFields(Guid, Guid)

public void SwapFields(Guid a, Guid b)

Parameters

a Guid
b Guid

ToString()

public override string ToString()

Returns

string

When(AssessmentHookChanged)

public void When(AssessmentHookChanged e)

Parameters

e AssessmentHookChanged

When(AssessmentQuestionOrderVerified)

public void When(AssessmentQuestionOrderVerified change)

Parameters

change AssessmentQuestionOrderVerified

When(AttachmentAdded)

public void When(AttachmentAdded e)

Parameters

e AttachmentAdded

When(AttachmentAddedToQuestion)

public void When(AttachmentAddedToQuestion e)

Parameters

e AttachmentAddedToQuestion

When(AttachmentChanged)

public void When(AttachmentChanged e)

Parameters

e AttachmentChanged

When(AttachmentDeletedFromQuestion)

public void When(AttachmentDeletedFromQuestion e)

Parameters

e AttachmentDeletedFromQuestion

When(AttachmentImageChanged)

public void When(AttachmentImageChanged e)

Parameters

e AttachmentImageChanged

When(AttachmentUpgraded)

public void When(AttachmentUpgraded e)

Parameters

e AttachmentUpgraded

When(BankAnalyzed)

public void When(BankAnalyzed _)

Parameters

_ BankAnalyzed

When(BankAttachmentDeleted)

public void When(BankAttachmentDeleted e)

Parameters

e BankAttachmentDeleted

When(BankCommentModified)

public void When(BankCommentModified e)

Parameters

e BankCommentModified

When(BankCommentPosted)

public void When(BankCommentPosted e)

Parameters

e BankCommentPosted

When(BankContentChanged)

public void When(BankContentChanged e)

Parameters

e BankContentChanged

When(BankDeleted)

public void When(BankDeleted _)

Parameters

_ BankDeleted

When(BankEditionChanged)

public void When(BankEditionChanged e)

Parameters

e BankEditionChanged

When(BankLevelChanged)

public void When(BankLevelChanged e)

Parameters

e BankLevelChanged

When(BankLocked)

public void When(BankLocked _)

Parameters

_ BankLocked

When(BankMemorized)

public void When(BankMemorized e)

Parameters

e BankMemorized

When(BankOpened)

public void When(BankOpened e)

Parameters

e BankOpened

When(BankRenamed)

public void When(BankRenamed e)

Parameters

e BankRenamed

When(BankStandardChanged)

public void When(BankStandardChanged e)

Parameters

e BankStandardChanged

When(BankStatusChanged)

public void When(BankStatusChanged e)

Parameters

e BankStatusChanged

When(BankTypeChanged)

public void When(BankTypeChanged e)

Parameters

e BankTypeChanged

When(BankUnlocked)

public void When(BankUnlocked _)

Parameters

_ BankUnlocked

When(CommentAuthorRoleChanged)

public void When(CommentAuthorRoleChanged e)

Parameters

e CommentAuthorRoleChanged

When(CommentDuplicated)

public void When(CommentDuplicated e)

Parameters

e CommentDuplicated

When(CommentMoved)

public void When(CommentMoved e)

Parameters

e CommentMoved

When(CommentRejected)

public void When(CommentRejected e)

Parameters

e CommentRejected

When(CommentRetracted)

public void When(CommentRetracted e)

Parameters

e CommentRetracted

When(CommentVisibilityChanged)

public void When(CommentVisibilityChanged e)

Parameters

e CommentVisibilityChanged

When(CriterionAdded)

public void When(CriterionAdded e)

Parameters

e CriterionAdded

When(CriterionDeleted)

public void When(CriterionDeleted e)

Parameters

e CriterionDeleted

When(CriterionFilterChanged)

public void When(CriterionFilterChanged e)

Parameters

e CriterionFilterChanged

When(CriterionFilterDeleted)

public void When(CriterionFilterDeleted e)

Parameters

e CriterionFilterDeleted

When(FieldAdded)

public void When(FieldAdded e)

Parameters

e FieldAdded

When(FieldDeleted)

public void When(FieldDeleted e)

Parameters

e FieldDeleted

When(FieldsDeleted)

public void When(FieldsDeleted e)

Parameters

e FieldsDeleted

When(FieldsReordered)

public void When(FieldsReordered e)

Parameters

e FieldsReordered

When(FieldsSwapped)

public void When(FieldsSwapped e)

Parameters

e FieldsSwapped

When(FormAdded)

public void When(FormAdded e)

Parameters

e FormAdded

When(FormAddendumChanged)

public void When(FormAddendumChanged e)

Parameters

e FormAddendumChanged

When(FormAnalyzed)

public void When(FormAnalyzed _)

Parameters

_ FormAnalyzed

When(FormArchived)

public void When(FormArchived e)

Parameters

e FormArchived

When(FormAssetChanged)

public void When(FormAssetChanged e)

Parameters

e FormAssetChanged

When(FormClassificationChanged)

public void When(FormClassificationChanged e)

Parameters

e FormClassificationChanged

When(FormCodeChanged)

public void When(FormCodeChanged e)

Parameters

e FormCodeChanged

When(FormContentChanged)

public void When(FormContentChanged e)

Parameters

e FormContentChanged

When(FormDeleted)

public void When(FormDeleted e)

Parameters

e FormDeleted

When(FormGradebookChanged)

public void When(FormGradebookChanged e)

Parameters

e FormGradebookChanged

When(FormInvigilationChanged)

public void When(FormInvigilationChanged e)

Parameters

e FormInvigilationChanged

When(FormLanguagesModified)

public void When(FormLanguagesModified e)

Parameters

e FormLanguagesModified

When(FormMessageConnected)

public void When(FormMessageConnected e)

Parameters

e FormMessageConnected

When(FormNameChanged)

public void When(FormNameChanged e)

Parameters

e FormNameChanged

When(FormPublished)

public void When(FormPublished e)

Parameters

e FormPublished

When(FormUnarchived)

public void When(FormUnarchived e)

Parameters

e FormUnarchived

When(FormUnpublished)

public void When(FormUnpublished e)

Parameters

e FormUnpublished

When(FormUpgraded)

public void When(FormUpgraded e)

Parameters

e FormUpgraded

When(FormVersionChanged)

public void When(FormVersionChanged _)

Parameters

_ FormVersionChanged

When(OptionAdded)

public void When(OptionAdded e)

Parameters

e OptionAdded

When(OptionChanged)

public void When(OptionChanged e)

Parameters

e OptionChanged

When(OptionDeleted)

public void When(OptionDeleted e)

Parameters

e OptionDeleted

When(OptionsReordered)

public void When(OptionsReordered e)

Parameters

e OptionsReordered

When(QuestionAdded)

public void When(QuestionAdded e)

Parameters

e QuestionAdded

When(QuestionClassificationChanged)

public void When(QuestionClassificationChanged e)

Parameters

e QuestionClassificationChanged

When(QuestionComposedVoiceChanged)

public void When(QuestionComposedVoiceChanged e)

Parameters

e QuestionComposedVoiceChanged

When(QuestionConditionChanged)

public void When(QuestionConditionChanged e)

Parameters

e QuestionConditionChanged

When(QuestionContentChanged)

public void When(QuestionContentChanged e)

Parameters

e QuestionContentChanged

When(QuestionDeleted)

public void When(QuestionDeleted e)

Parameters

e QuestionDeleted

When(QuestionDuplicated2)

public void When(QuestionDuplicated2 e)

Parameters

e QuestionDuplicated2

When(QuestionFlagChanged)

public void When(QuestionFlagChanged e)

Parameters

e QuestionFlagChanged

When(QuestionGradeItemChanged2)

public void When(QuestionGradeItemChanged2 e)

Parameters

e QuestionGradeItemChanged2

When(QuestionHotspotImageChanged)

public void When(QuestionHotspotImageChanged e)

Parameters

e QuestionHotspotImageChanged

When(QuestionHotspotOptionAdded)

public void When(QuestionHotspotOptionAdded e)

Parameters

e QuestionHotspotOptionAdded

When(QuestionHotspotOptionChanged)

public void When(QuestionHotspotOptionChanged e)

Parameters

e QuestionHotspotOptionChanged

When(QuestionHotspotOptionDeleted)

public void When(QuestionHotspotOptionDeleted e)

Parameters

e QuestionHotspotOptionDeleted

When(QuestionHotspotOptionsReordered)

public void When(QuestionHotspotOptionsReordered e)

Parameters

e QuestionHotspotOptionsReordered

When(QuestionHotspotPinLimitChanged)

public void When(QuestionHotspotPinLimitChanged e)

Parameters

e QuestionHotspotPinLimitChanged

When(QuestionHotspotShowShapesChanged)

public void When(QuestionHotspotShowShapesChanged e)

Parameters

e QuestionHotspotShowShapesChanged

When(QuestionLayoutChanged)

public void When(QuestionLayoutChanged e)

Parameters

e QuestionLayoutChanged

When(QuestionLikertColumnAdded)

public void When(QuestionLikertColumnAdded e)

Parameters

e QuestionLikertColumnAdded

When(QuestionLikertColumnChanged)

public void When(QuestionLikertColumnChanged e)

Parameters

e QuestionLikertColumnChanged

When(QuestionLikertColumnDeleted)

public void When(QuestionLikertColumnDeleted e)

Parameters

e QuestionLikertColumnDeleted

When(QuestionLikertOptionsChanged)

public void When(QuestionLikertOptionsChanged e)

Parameters

e QuestionLikertOptionsChanged

When(QuestionLikertReordered)

public void When(QuestionLikertReordered e)

Parameters

e QuestionLikertReordered

When(QuestionLikertRowAdded)

public void When(QuestionLikertRowAdded e)

Parameters

e QuestionLikertRowAdded

When(QuestionLikertRowChanged)

public void When(QuestionLikertRowChanged e)

Parameters

e QuestionLikertRowChanged

When(QuestionLikertRowDeleted)

public void When(QuestionLikertRowDeleted e)

Parameters

e QuestionLikertRowDeleted

When(QuestionLikertRowGradeItemChanged)

public void When(QuestionLikertRowGradeItemChanged e)

Parameters

e QuestionLikertRowGradeItemChanged

When(QuestionMatchesChanged)

public void When(QuestionMatchesChanged e)

Parameters

e QuestionMatchesChanged

When(QuestionMoved)

public void When(QuestionMoved e)

Parameters

e QuestionMoved

When(QuestionMovedIn)

public void When(QuestionMovedIn e)

Parameters

e QuestionMovedIn

When(QuestionMovedOut)

public void When(QuestionMovedOut e)

Parameters

e QuestionMovedOut

When(QuestionOrderingLabelChanged)

public void When(QuestionOrderingLabelChanged e)

Parameters

e QuestionOrderingLabelChanged

When(QuestionOrderingOptionAdded)

public void When(QuestionOrderingOptionAdded e)

Parameters

e QuestionOrderingOptionAdded

When(QuestionOrderingOptionChanged)

public void When(QuestionOrderingOptionChanged e)

Parameters

e QuestionOrderingOptionChanged

When(QuestionOrderingOptionDeleted)

public void When(QuestionOrderingOptionDeleted e)

Parameters

e QuestionOrderingOptionDeleted

When(QuestionOrderingOptionsReordered)

public void When(QuestionOrderingOptionsReordered e)

Parameters

e QuestionOrderingOptionsReordered

When(QuestionOrderingSolutionAdded)

public void When(QuestionOrderingSolutionAdded e)

Parameters

e QuestionOrderingSolutionAdded

When(QuestionOrderingSolutionChanged)

public void When(QuestionOrderingSolutionChanged e)

Parameters

e QuestionOrderingSolutionChanged

When(QuestionOrderingSolutionDeleted)

public void When(QuestionOrderingSolutionDeleted e)

Parameters

e QuestionOrderingSolutionDeleted

When(QuestionOrderingSolutionOptionsReordered)

public void When(QuestionOrderingSolutionOptionsReordered e)

Parameters

e QuestionOrderingSolutionOptionsReordered

When(QuestionOrderingSolutionsReordered)

public void When(QuestionOrderingSolutionsReordered e)

Parameters

e QuestionOrderingSolutionsReordered

When(QuestionPublicationStatusChanged)

public void When(QuestionPublicationStatusChanged e)

Parameters

e QuestionPublicationStatusChanged

When(QuestionRandomizationChanged)

public void When(QuestionRandomizationChanged e)

Parameters

e QuestionRandomizationChanged

When(QuestionRubricConnected)

public void When(QuestionRubricConnected e)

Parameters

e QuestionRubricConnected

When(QuestionRubricDisconnected)

public void When(QuestionRubricDisconnected e)

Parameters

e QuestionRubricDisconnected

When(QuestionScoringChanged)

public void When(QuestionScoringChanged e)

Parameters

e QuestionScoringChanged

When(QuestionSetChanged)

public void When(QuestionSetChanged e)

Parameters

e QuestionSetChanged

When(QuestionStandardChanged)

public void When(QuestionStandardChanged e)

Parameters

e QuestionStandardChanged

When(QuestionUpgraded)

public void When(QuestionUpgraded e)

Parameters

e QuestionUpgraded

When(QuestionsReordered)

public void When(QuestionsReordered e)

Parameters

e QuestionsReordered

When(SectionAdded)

public void When(SectionAdded e)

Parameters

e SectionAdded

When(SectionContentChanged)

public void When(SectionContentChanged e)

Parameters

e SectionContentChanged

When(SectionDeleted)

public void When(SectionDeleted e)

Parameters

e SectionDeleted

When(SectionReconfigured)

public void When(SectionReconfigured e)

Parameters

e SectionReconfigured

When(SectionsAsTabsDisabled)

public void When(SectionsAsTabsDisabled e)

Parameters

e SectionsAsTabsDisabled

When(SectionsAsTabsEnabled)

public void When(SectionsAsTabsEnabled e)

Parameters

e SectionsAsTabsEnabled

When(SectionsReordered)

public void When(SectionsReordered e)

Parameters

e SectionsReordered

When(SetAdded)

public void When(SetAdded e)

Parameters

e SetAdded

When(SetDeleted)

public void When(SetDeleted e)

Parameters

e SetDeleted

When(SetImported)

public void When(SetImported e)

Parameters

e SetImported

When(SetRandomizationChanged)

public void When(SetRandomizationChanged e)

Parameters

e SetRandomizationChanged

When(SetRenamed)

public void When(SetRenamed e)

Parameters

e SetRenamed

When(SetStandardChanged)

public void When(SetStandardChanged e)

Parameters

e SetStandardChanged

When(SetsMerged)

public void When(SetsMerged e)

Parameters

e SetsMerged

When(SetsReordered)

public void When(SetsReordered e)

Parameters

e SetsReordered

When(SingleQuestionPerTabDisabled)

public void When(SingleQuestionPerTabDisabled e)

Parameters

e SingleQuestionPerTabDisabled

When(SingleQuestionPerTabEnabled)

public void When(SingleQuestionPerTabEnabled e)

Parameters

e SingleQuestionPerTabEnabled

When(SpecificationAdded)

public void When(SpecificationAdded e)

Parameters

e SpecificationAdded

When(SpecificationCalculationChanged)

public void When(SpecificationCalculationChanged e)

Parameters

e SpecificationCalculationChanged

When(SpecificationContentChanged)

public void When(SpecificationContentChanged e)

Parameters

e SpecificationContentChanged

When(SpecificationDeleted)

public void When(SpecificationDeleted e)

Parameters

e SpecificationDeleted

When(SpecificationReconfigured)

public void When(SpecificationReconfigured e)

Parameters

e SpecificationReconfigured

When(SpecificationRenamed)

public void When(SpecificationRenamed e)

Parameters

e SpecificationRenamed

When(SpecificationRetyped)

public void When(SpecificationRetyped e)

Parameters

e SpecificationRetyped

When(SpecificationTabTimeLimitChanged)

public void When(SpecificationTabTimeLimitChanged e)

Parameters

e SpecificationTabTimeLimitChanged

When(TabNavigationDisabled)

public void When(TabNavigationDisabled e)

Parameters

e TabNavigationDisabled

When(TabNavigationEnabled)

public void When(TabNavigationEnabled e)

Parameters

e TabNavigationEnabled

When(ThirdPartyAssessmentDisabled)

public void When(ThirdPartyAssessmentDisabled e)

Parameters

e ThirdPartyAssessmentDisabled

When(ThirdPartyAssessmentEnabled)

public void When(ThirdPartyAssessmentEnabled e)

Parameters

e ThirdPartyAssessmentEnabled

When(SerializedChange)

public void When(SerializedChange _)

Parameters

_ SerializedChange