using System;
using System.Collections.Generic;

namespace OnlineAssessment.Domain.Models
{
    public partial class Questions
    {
        public Questions()
        {
            BookmarkedQuestions = new HashSet<BookmarkedQuestions>();
            ExamAttemptsAnswer = new HashSet<ExamAttemptsAnswer>();
            ExamAttemptsAssessment = new HashSet<ExamAttemptsAssessment>();
            ExamQuestionsInPractice = new HashSet<ExamQuestionsInPractice>();
            ExamQuestionsMarkWeight = new HashSet<ExamQuestionsMarkWeight>();
            QuestionLanguges = new HashSet<QuestionLanguges>();
            QuestionOptions = new HashSet<QuestionOptions>();
            QuestionSubCategories = new HashSet<QuestionSubCategories>();
            QuestionTags = new HashSet<QuestionTags>();
            StudentAnswers = new HashSet<StudentAnswers>();
        }

        public int Id { get; set; }
        public int InstituteId { get; set; }
        public int AuthorId { get; set; }
        public string StatusCode { get; set; }
        public short? ComplexityCode { get; set; }
        public byte[] Image { get; set; }
        public string Source { get; set; }
        public int TypeId { get; set; }
        public int? AnswerOptionId { get; set; }
        public DateTime? CreatedOn { get; set; }
        public DateTime? UpdatedOn { get; set; }
        public bool? IsActive { get; set; }

        public virtual Users Author { get; set; }
        public virtual Institutes Institute { get; set; }
        public virtual QuestionTypes Type { get; set; }
        public virtual ICollection<BookmarkedQuestions> BookmarkedQuestions { get; set; }
        public virtual ICollection<ExamAttemptsAnswer> ExamAttemptsAnswer { get; set; }
        public virtual ICollection<ExamAttemptsAssessment> ExamAttemptsAssessment { get; set; }
        public virtual ICollection<ExamQuestionsInPractice> ExamQuestionsInPractice { get; set; }
        public virtual ICollection<ExamQuestionsMarkWeight> ExamQuestionsMarkWeight { get; set; }
        public virtual ICollection<QuestionLanguges> QuestionLanguges { get; set; }
        public virtual ICollection<QuestionOptions> QuestionOptions { get; set; }
        public virtual ICollection<QuestionSubCategories> QuestionSubCategories { get; set; }
        public virtual ICollection<QuestionTags> QuestionTags { get; set; }
        public virtual ICollection<StudentAnswers> StudentAnswers { get; set; }
    }
}
