using PhoneToolMX.Data;
using PhoneToolMX.Models;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace PhoneToolMX.Models {
    public class Extension: OwnedBase {
        public ICollection<Phone> Phones { get; set; }

        [Header("Ext.", Primary = true, Small = true)]
        public int ExtId { get; set; }

        [Header("Directory Name")]
        [Required]
        public string DirectoryName { get; set; }
        
        [Header("Listed?", Small = true)]
        public bool Listed { get; set; }
        
        public CustomData HoldMusic { get; set; }
        
        [NotMapped]
        public string ListViewName => $"{DirectoryName} ({ExtId})";
        
        public string Password { get; set; }
    }
}