48 lines
1.7 KiB
C#
48 lines
1.7 KiB
C#
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; }
|
||
}
|
||
}
|