using System;
using System.Collections.Generic;

namespace OnlineAssessment.Domain.Models
{
    public partial class Exams
    {
        public Exams()
        {
            BookmarkedExams = new HashSet<BookmarkedExams>();
            ExamAttempts = new HashSet<ExamAttempts>();
            ExamSections = new HashSet<ExamSections>();
            SubscribedExams = new HashSet<SubscribedExams>();
            UserGroupExams = new HashSet<UserGroupExams>();
        }

        public int Id { get; set; }
        public int InstituteId { get; set; }
        public int ClassId { get; set; }
        public int LanguageId { get; set; }
        public int ExamTypeId { get; set; }
        public string Name { get; set; }
        public string Instruction { get; set; }
        public string ExamStatus { get; set; }
        public DateTime? ExamOpenDatetime { get; set; }
        public DateTime? ExamCloseDatetime { get; set; }
        public int? ExamDurationInSeconds { get; set; }
        public short? AttemptsAllowed { get; set; }
        public string IsRandomQuestion { get; set; }
        public short? Complexity { get; set; }
        public string Photo { get; set; }
        public short? TotalMarks { 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 short? CreditsNeeded { get; set; }

        public virtual Users CreatedByNavigation { get; set; }
        public virtual ExamTypes ExamType { get; set; }
        public virtual Institutes Institute { get; set; }
        public virtual ICollection<BookmarkedExams> BookmarkedExams { get; set; }
        public virtual ICollection<ExamAttempts> ExamAttempts { get; set; }
        public virtual ICollection<ExamSections> ExamSections { get; set; }
        public virtual ICollection<SubscribedExams> SubscribedExams { get; set; }
        public virtual ICollection<UserGroupExams> UserGroupExams { get; set; }
    }
}
