using System;
using System.ComponentModel.DataAnnotations;

namespace OnlineAssessment.Domain.ViewModels
{
    public class InstituteViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Domain { get; set; }
        public string ApiKey { get; set; }
        public DateTime? DateOfEstablishment { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
        public int StateId { get; set; }
        public string State { get; set; }
        public string Country { get; set; }
        public string PinCode { get; set; }
        public byte[] Logo { get; set; }
        public string ImageUrlSmall { get; set; }
        public string ImageUrlLarge { get; set; }
        public bool? IsActive { get; set; }
        public DateTime? CreatedOn { get; set; }
        public DateTime? UpdatedOn { get; set; }
    }

    public class InstituteAddModel
    {
        [Required]
        public string Name { get; set; }

        [Url]
        public string Domain { get; set; }
        public string ApiKey { get; set; }
        public DateTime? DateOfEstablishment { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
        public int StateId { get; set; }
        public string PinCode { get; set; }
        public string Logo { get; set; }
        public string ImageUrlSmall { get; set; }
        public string ImageUrlLarge { get; set; }

        [Required]
        public int SubscriptionId { get; set; } = 1;
        public bool IsActive { get; set; }

    }

    public class InstituteEditModel : InstituteAddModel
    {
        [Key]
        public int Id { get; set; }
    }
}
