Add project files.

This commit is contained in:
2025-05-01 15:18:30 +03:00
parent e058ab8015
commit 774d695414
3094 changed files with 1336814 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
using Microsoft.AspNetCore.Identity;
namespace ConstructorApp.EntityLayer.Entities
{
public class AppRole : IdentityRole<int>
{
}
}

View File

@@ -0,0 +1,18 @@
using Microsoft.AspNetCore.Identity;
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class AppUser : IdentityUser<int>
{
[StringLength(50)]
public string? FirstName { get; set; }
[StringLength(50)]
public string? LastName { get; set; }
[StringLength(100)]
public string? ImageUrl { get; set; } // Zorunlu olmayan alan
public int ConfirmCode { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class CompanyInfo
{
[Key]
public int CompanyInfoID { get; set; }
[StringLength(3)]
[Required]
public string? Value { get; set; } // 7
[StringLength(20)]
[Required]
public string? Title { get; set; } // YEARS
[StringLength(100)]
[Required]
public string? SubTitle { get; set; } // We have been working in the industry since 2011.
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class CompanyInfoVideo
{
public int CompanyInfoVideoID { get; set; }
[StringLength(500)]
[Required]
public string? VideoUrl { get; set; } // Tanıtım videosu için URL (YouTube, mp4 vs.)
}
}

View File

@@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class ContactUs
{
[Key]
public int ContactusID { get; set; }
public DateTime Date { get; set; } = DateTime.Now;
[Required(ErrorMessage = "Ad Soyad alanı zorunludur.")]
[StringLength(50, ErrorMessage = "Ad Soyad en fazla 50 karakter olabilir.")]
public string? NameSurname { get; set; }
[Required(ErrorMessage = "Mail adresi zorunludur.")]
[EmailAddress(ErrorMessage = "Geçerli bir e-posta adresi giriniz.")]
public string? Mail { get; set; }
[Required(ErrorMessage = "Telefon numarası zorunludur.")]
[Phone(ErrorMessage = "Geçerli bir telefon numarası giriniz.")]
public string? Phone { get; set; }
[Required(ErrorMessage = "Mesaj içeriği boş bırakılamaz.")]
[StringLength(500, ErrorMessage = "Mesaj en fazla 500 karakter olabilir.")]
public string? MessageContent { get; set; }
public bool Status { get; set; }
}
}

View File

@@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class Footer
{
[Key]
public int FooterID { get; set; }
[StringLength(100)]
public string? LogoUrl { get; set; } // Logo görsel yolu
[StringLength(14)]
public string? Phone { get; set; } // 0232 111 22 33
[StringLength(50)]
public string? Mail { get; set; } // info@demolink.org
public string? Facebook { get; set; } // Sosyal medya adresi1
[StringLength(100)]
public string? Instagram { get; set; } // Sosyal medya adresi2
[StringLength(100)]
public string? Linkedin { get; set; } // Sosyal medya adresi3
[StringLength(100)]
public string? Youtube { get; set; } // Sosyal medya adresi3
}
}

View File

@@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class HomeBanner
{
[Key]
public int HomeBannerID { get; set; }
[StringLength(100)]
[Required]
public string? Title { get; set; } // Designing & building
[StringLength(100)]
[Required]
public string? SubTitle { get; set; } // Modern energy efficient houses from 150 sq. m.
[StringLength(100)]
[Required]
public string? LogoUrl { get; set; } // Logo görsel yolu
}
}

View File

@@ -0,0 +1,47 @@
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; }
}
}

View File

@@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace ConstructorApp.EntityLayer.Entities
{
public class ProjectGallery
{
[Key]
public int ProjectGalleryID { get; set; }
[StringLength(100)]
public string? ImageUrl { get; set; } // Logo görsel yolu
// Proje Seçimi (Foreign Key)
[Required]
public int ProjectID { get; set; }
[ForeignKey("ProjectID")]
public virtual Project? Project { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class Reference
{
[Key]
public int ReferenceID { get; set; }
[StringLength(50)]
[Required]
public string? LogoUrl { get; set; }
[StringLength(50)]
public string? WebUrl { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class Service
{
[Key]
public int ServiceID { get; set; }
[StringLength(100)]
[Required]
public string? Title { get; set; } // Architecture
[StringLength(100)]
[Required]
public string? SubTitle { get; set; } // We provide high-quality architecture services.
[StringLength(100)]
public bool IsActive { get; set; } //0=Pasif 1=Aktif
}
}

View File

@@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class Slider
{
[Key]
public int SliderID { get; set; }
[StringLength(100)]
public string? Location { get; set; }
[StringLength(100)]
public string? Sqm { get; set; }
[StringLength(100)]
public string? PriceInfo { get; set; }
[StringLength(100)]
public string? ImageUrl { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class Team
{
[Key]
public int TeamID { get; set; }
[StringLength(50)]
[Required]
public string? NameSurname { get; set; } // Mary Scott
[StringLength(50)]
[Required]
public string? Title { get; set; } // Exterior & Landscape Designer
[StringLength(100)]
[Required]
public string? ImageUrl { get; set; } // Logo görsel yolu
[StringLength(100)]
public string? Facebook { get; set; } // Sosyal medya adresi1
[StringLength(100)]
public string? Instagram { get; set; } // Sosyal medya adresi2
[StringLength(100)]
public string? Linkedin { get; set; } // Sosyal medya adresi3
}
}

View File

@@ -0,0 +1,40 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public enum TestimonialStatus
{
Pending, // Onay Bekliyor
Confirmed, // Gösterimde
Cancelled // Gösterimden Kaldırıldı
}
public class Testimonial
{
[Key]
public int TestimonialID { get; set; }
[StringLength(50)]
[Required]
public string? Name { get; set; }
[StringLength(100)]
[Required]
public string? Title { get; set; }
[StringLength(500)]
[Required]
public string? Comment { get; set; }
[StringLength(50)]
[Required]
public string? ImageUrl { get; set; }
[Required]
public TestimonialStatus Status { get; set; } // Durum enum'u kullanılıyor
}
}

View File

@@ -0,0 +1,24 @@
using System.ComponentModel.DataAnnotations;
namespace ConstructorApp.EntityLayer.Entities
{
public class WorkProcess
{
[Key]
public int WorkProcessID { get; set; }
[StringLength(50)]
[Required]
public string? Info { get; set; } // Acquaintance with the customer
[StringLength(50)]
[Required]
public string? Title { get; set; } // Meet and define goals
[StringLength(500)]
[Required]
public string? SubTitle { get; set; } // The first thing we do is meeting with our clients and......
[StringLength(100)]
[Required]
public string? ImageUrl { get; set; } // Image görsel yolu
public bool IsActive { get; set; } //0=Pasif 1=Aktif
}
}