using System;
using System.Collections.Generic;

namespace OnlineAssessment.Domain.Models
{
    public partial class Subscriptions
    {
        public Subscriptions()
        {
            Institutes = new HashSet<Institutes>();
            SubscribedExams = new HashSet<SubscribedExams>();
            SubscribedPractices = new HashSet<SubscribedPractices>();
        }

        public int Id { get; set; }
        public int PlanId { 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 string PgOrderId { get; set; }
        public string PgPaymentId { get; set; }
        public string PgSignature { get; set; }
        public int UserId { get; set; }
        public string Status { get; set; }
        public DateTime? StartDate { get; set; }
        public DateTime? EndDate { get; set; }
        public bool? IsCancelled { get; set; }
        public DateTime? CancelledDate { get; set; }
        public short? RemainingExamCredits { get; set; }
        public short? RemainingPracticeCredits { get; set; }
        public short? TotalExamCredits { get; set; }
        public short? TotalPracticeCredits { get; set; }
        public int? InstituteId { get; set; }

        public virtual Plans Plan { get; set; }
        public virtual Users User { get; set; }
        public virtual ICollection<Institutes> Institutes { get; set; }
        public virtual ICollection<SubscribedExams> SubscribedExams { get; set; }
        public virtual ICollection<SubscribedPractices> SubscribedPractices { get; set; }
    }
}
