EchoTex_Payroll/Erecruitment.UI/ClientApp/src/app/_models/survey/survey.ts
2024-10-14 10:01:49 +06:00

184 lines
3.6 KiB
TypeScript

import { EnumExtension, EnumPURequestType, EnumReplacementDueTo, enumwfStatus, EnumAssetStatus, EnumAssetTranType, EnumAssetReceiverType, EnumSurveyQuestionType } from '../../_models/enums';
export class QuestionCategory {
id: number;
questionCategoryID: number;
modifiedBy?: number;
createdDate: Date;
createdBy: number;
modifiedDate?: Date;
code: string;
description: string;
constructor() {
this.code = '';
this.description = '';
}
}
export class Question {
id: number;
questionNo: string;
categoryID: number;
modifiedBy?: number;
creationDate: Date;
createdBy: number;
modifiedDate?: Date;
questionBody: string;
image: string;
isMultiple: boolean;
isPublished: boolean;
noOfOptions: number;
categoryString: string;
estimatedTime: number;
questionType: EnumSurveyQuestionType;
category: QuestionCategory;
questionAnswers: QuestionAnswer[];
questionAnswerAttachments: QuestionAnswerAttachment[];
constructor() {
this.questionNo = '';
this.isMultiple = false;
this.isPublished = false;
this.questionAnswers = [];
this.questionAnswerAttachments = [];
this.questionType = EnumSurveyQuestionType.Multiple_Choice;
}
}
export class QuestionAnswer {
id: number;
answerID: number;
questionID: number;
modifiedBy?: number;
creationDate: Date;
createdBy: number;
modifiedDate?: Date;
answerBody: string;
image: string;
myFiles: any;
isCorrect: boolean;
displayOrder: number;
weight: number;
numericAnswer: number;
isCandidateAnswer: boolean;
questionAnswerAttachments: QuestionAnswerAttachment[];
imageFile: any;
constructor() {
this.answerBody = '';
this.isCorrect = false;
this.questionAnswerAttachments = [];
this.isCandidateAnswer = false;
}
}
export class QuestionAnswerAttachment {
answerID: number;
questionID: number;
originalFileName: string;
previousFileTobase64: string;
attachmentType: number;
fileTobase64: string;
constructor() {
}
}
export class SurveyCategory {
id: number;
questionCategoryID: number;
modifiedBy?: number;
createdDate: Date;
createdBy: number;
modifiedDate?: Date;
code: string;
description: string;
constructor() {
this.code = '';
this.description = '';
}
}
export class Survey {
id: number;
title: number;
categoryID: number;
description: string;
createdDate: Date;
createdBy: number;
modifiedDate?: Date;
actualTime: number;
passMark: number;
questionCount: number;
estimatedTime: number;
marks: number;
surveyQuestions: SurveyQuestion[];
surveyQuestionList: any;
noOfQuestions: number;
categoryName: string;
constructor() {
this.estimatedTime = 0;
}
}
export class SurveyQuestion {
surveyID: number;
questionID: number;
question: Question;
}
export class SurveyResult {
surveyID: number;
employeeID: number;
questionID: number;
answerID: number;
isCorrect: boolean;
forEmployeeID: number;
candidateID: number;
weight: number;
}
export class SurveyEmployee {
surveyID: number;
employeeID: number;
candidateID: number;
startTime: Date;
currentQuestionID: number;
isDisconnected: boolean;
isPass: boolean;
erCircularID: number;
surveyMark: number;
surveyTime: number;
surveyParticipantDate: Date;
isCompleted: boolean;
}
export class Result
{
totalMark: number;
totalTime: number;
takenTime: string;
questionCount: number;
answerCount: number;
}