using System.ComponentModel.DataAnnotations;

namespace ConstructorApp.EntityLayer.Entities
{
    public class Project
    {

        public enum ProjectStatus
        {
            [Display(Name = "Tanıtımda")]
            Planned,             // Planlanan (Henüz inşaata başlanmamış, tanıtım aşamasında)
            [Display(Name = "İnşaatta")]
            UnderConstruction,   // İnşaat Aşamasında (aktif olarak yapım sürecinde)
            [Display(Name = "Teslimatta")]
            Completed            // Tamamlandı (teslim edildi ya da oturuma açılmış)
        }

        [Key]
        public int ProjectID { get; set; }
        [StringLength(100)]
        [Required]
        public string? CoverUrl { get; set; }
        public DateOnly Date { get; set; } //June 19, 2022
        [StringLength(50)]
        public string? Title { get; set; } //Exterior design
        [StringLength(100)]
        public string? Location { get; set; } //Exterior design
        [StringLength(300)]
        public string? ShortDescription { get; set; } //Exterior design
        public string? LongDescription { get; set; } 
        public bool IsActive { get; set; } //0=Pasif 1=Aktif
        [StringLength(20)]
        public string? Slug { get; set; } //Dinamik sayfaların uzantısı için
        [StringLength(500)]
        [Required]
        public string? GoogleMapIFrame { get; set; }
        [StringLength(500)]
        public string? VideoUrl { get; set; }
        [StringLength(100)]
        public string? FloorPlanUrl { get; set; }
        [Required]
        public ProjectStatus Status { get; set; } // Durum enum'u kullanılıyor

        // 👇 Navigation Property
        public List<ProjectGallery>? ProjectGallery { get; set; }
    }
}
