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>();
            ExamQuestionsMarkWeight = new HashSet<ExamQuestionsMarkWeight>();
            PracticeAttemptAnswers = new HashSet<PracticeAttemptAnswers>();
            PracticeQuestions = new HashSet<PracticeQuestions>();
            QuestionBugs = new HashSet<QuestionBugs>();
            QuestionCategories = new HashSet<QuestionCategories>();
            QuestionLanguges = new HashSet<QuestionLanguges>();
            QuestionOptions = new HashSet<QuestionOptions>();
            QuestionTags = new HashSet<QuestionTags>();
        }

        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 string Image { get; set; }
        public string Source { get; set; }
        public int TypeId { get; set; }
        public DateTime? CreatedOn { get; set; }
        public int CreatedBy { get; set; }
        public DateTime UpdatedOn { get; set; }
        public int UpdatedBy { 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<ExamQuestionsMarkWeight> ExamQuestionsMarkWeight { get; set; }
        public virtual ICollection<PracticeAttemptAnswers> PracticeAttemptAnswers { get; set; }
        public virtual ICollection<PracticeQuestions> PracticeQuestions { get; set; }
        public virtual ICollection<QuestionBugs> QuestionBugs { get; set; }
        public virtual ICollection<QuestionCategories> QuestionCategories { get; set; }
        public virtual ICollection<QuestionLanguges> QuestionLanguges { get; set; }
        public virtual ICollection<QuestionOptions> QuestionOptions { get; set; }
        public virtual ICollection<QuestionTags> QuestionTags { get; set; }
    }
}
