using OnlineAssessment.Domain.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace OnlineAssessment.Domain.ViewModels
{
    public class PlanAddModel
    {
        [Required]
        [StringLength(20)]
        public string name { get; set; }

        [Required]
        [StringLength(20)]
        public string code { get; set; }

        [StringLength(200)]
        public string description { get; set; }
        public string image { get; set; }
        [Required]
        public int paid_exams { get; set; }
        [Required]
        public int paid_practices { get; set; }
        [Required]
        public int duration_days { get; set; }
        [Required]
        public int initial_price { get; set; }
        [Required]
        public int final_price { get; set; }
    }

    public class PlanViewModel
    {
        public string code { get; set; }
        public string name { get; set; }
        public string description { get; set; }
        public string image { get; set; }
        public int paid_exams { get; set; }
        public int paid_practices { get; set; }
        public int duration_days { get; set; }
        public int initial_price { get; set; }
        public int final_price { get; set; }
        public DateTime last_updated { get; set; }
    }

    public class SubscriptionViewModel
    {
        public int id { get; set; }
        public string plan_code { get; set; }
        public string plan_name { get; set; }
        public string status { get; set; }
        public DateTime? start_date { get; set; }
        public DateTime? end_date { get; set; }
        public short total_exam_credits { get; set; }
        public short total_practice_credits { get; set; }
        public short remaining_exam_credits { get; set; }
        public short remaining_practice_credits { get; set; }
        public DateTime? created_on { get; set; }
        public DateTime? updated_on { get; set; }
        public bool? IsActive { get; set; }

    }
}
