From dd6fab7c586e55797d63d897338467fa874ddb98 Mon Sep 17 00:00:00 2001 From: Sabi Polikar Date: Mon, 10 Nov 2025 09:24:05 +0300 Subject: [PATCH] Push10112025-1 --- .../20251110062259_InitialCreate.Designer.cs | 1062 +++++++++++++++++ .../20251110062259_InitialCreate.cs | 611 ++++++++++ .../ConstructorContextModelSnapshot.cs | 1059 ++++++++++++++++ 3 files changed, 2732 insertions(+) create mode 100644 ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.Designer.cs create mode 100644 ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.cs create mode 100644 ConstructorApp.DataAccessLayer/Migrations/ConstructorContextModelSnapshot.cs diff --git a/ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.Designer.cs b/ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.Designer.cs new file mode 100644 index 0000000..c42866d --- /dev/null +++ b/ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.Designer.cs @@ -0,0 +1,1062 @@ +// +using System; +using ConstructorApp.DataAccessLayer.Concrete; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace ConstructorApp.DataAccessLayer.Migrations +{ + [DbContext(typeof(ConstructorContext))] + [Migration("20251110062259_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex") + .HasFilter("[NormalizedName] IS NOT NULL"); + + b.ToTable("AspNetRoles", (string)null); + + b.HasData( + new + { + Id = 1, + ConcurrencyStamp = "861b2f73-621f-401d-ae7f-90386fb8ee33", + Name = "Admin", + NormalizedName = "ADMIN" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("ConfirmCode") + .HasColumnType("int"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("FirstName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ImageUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("LastName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex") + .HasFilter("[NormalizedUserName] IS NOT NULL"); + + b.ToTable("AspNetUsers", (string)null); + + b.HasData( + new + { + Id = 1, + AccessFailedCount = 0, + ConcurrencyStamp = "49a67b10-c6cd-45a8-a985-a0f3a0fc638b", + ConfirmCode = 0, + Email = "admin@example.com", + EmailConfirmed = true, + FirstName = "Admin", + ImageUrl = "/SeedData/defaultuser.png", + LastName = "Admin", + LockoutEnabled = false, + NormalizedEmail = "ADMIN@EXAMPLE.COM", + NormalizedUserName = "ADMIN", + PasswordHash = "AQAAAAIAAYagAAAAEN1z37odF5cuQmrziBf4IXBIfLIAFvlO6rQM8GKxsuyQWTBG8Bv6bkA+61SWFl1R5g==", + PhoneNumberConfirmed = false, + SecurityStamp = "553407f9-7fee-4c07-b1e7-4523592d191f", + TwoFactorEnabled = false, + UserName = "admin" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.CompanyInfo", b => + { + b.Property("CompanyInfoID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CompanyInfoID")); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.HasKey("CompanyInfoID"); + + b.ToTable("CompanyInfo"); + + b.HasData( + new + { + CompanyInfoID = 1, + SubTitle = "2011 yılından bu yana sektörde faaliyet göstermekteyiz.", + Title = "YIL", + Value = "7" + }, + new + { + CompanyInfoID = 2, + SubTitle = "Bugüne kadar 54 adet konut projesi tasarladık.", + Title = "PROJE", + Value = "54" + }, + new + { + CompanyInfoID = 3, + SubTitle = "Şirketimiz yaratıcılığı nedeniyle birçok kez ödüle layık görüldü.", + Title = "ÖDÜL", + Value = "11" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.CompanyInfoVideo", b => + { + b.Property("CompanyInfoVideoID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CompanyInfoVideoID")); + + b.Property("VideoUrl") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("CompanyInfoVideoID"); + + b.ToTable("CompanyInfoVideo"); + + b.HasData( + new + { + CompanyInfoVideoID = 1, + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.ContactUs", b => + { + b.Property("ContactusID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ContactusID")); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("Mail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MessageContent") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("NameSurname") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.HasKey("ContactusID"); + + b.ToTable("ContactUs"); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Footer", b => + { + b.Property("FooterID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("FooterID")); + + b.Property("Facebook") + .HasColumnType("nvarchar(max)"); + + b.Property("Instagram") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Linkedin") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("LogoUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Mail") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("Youtube") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("FooterID"); + + b.ToTable("Footer"); + + b.HasData( + new + { + FooterID = 1, + Facebook = "https://facebook.com", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + LogoUrl = "/SeedData/Logo.png", + Mail = "insaatmimarlik@mimarlik.com", + Phone = "0999 999 99 99", + Youtube = "https://youtube.com" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.HomeBanner", b => + { + b.Property("HomeBannerID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("HomeBannerID")); + + b.Property("LogoUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("HomeBannerID"); + + b.ToTable("HomeBanners"); + + b.HasData( + new + { + HomeBannerID = 1, + LogoUrl = "/SeedData/Logo.png", + SubTitle = "150 m2'den başlayan modern enerji tasarruflu evler.", + Title = "Tasarım & İnşaat" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Project", b => + { + b.Property("ProjectID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ProjectID")); + + b.Property("CoverUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("FloorPlanUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("GoogleMapIFrame") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Location") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("LongDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("ShortDescription") + .HasMaxLength(300) + .HasColumnType("nvarchar(300)"); + + b.Property("Slug") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VideoUrl") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("ProjectID"); + + b.ToTable("Projects"); + + b.HasData( + new + { + ProjectID = 1, + CoverUrl = "/SeedData/Project-3.png", + Date = new DateOnly(2025, 4, 15), + FloorPlanUrl = "/SeedData/floor-plan.png", + GoogleMapIFrame = "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", + IsActive = true, + Location = "3119 Mulberry Ln, Newcastle, UK", + LongDescription = "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", + ShortDescription = "Eski 2 katlı evi tamamen genişletip yeniden tasarlamak için üç ay boyunca bu proje üzerinde çalıştık.", + Slug = "tasevler", + Status = 2, + Title = "Taşevler", + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }, + new + { + ProjectID = 2, + CoverUrl = "/SeedData/Project-2.png", + Date = new DateOnly(2026, 2, 15), + FloorPlanUrl = "/SeedData/floor-plan.png", + GoogleMapIFrame = "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", + IsActive = true, + Location = "2560 Russell st, Boston, MA", + LongDescription = "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", + ShortDescription = "2022 yılındaki ilk projelerimizden biri olan bu ev, benzersiz peyzaj tasarım çözümleri ve dış cephe çalışmalarıyla dikkat çekiyor.", + Slug = "yataymimari", + Status = 1, + Title = "Yatay Mimari", + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }, + new + { + ProjectID = 3, + CoverUrl = "/SeedData/Project-1.png", + Date = new DateOnly(2027, 1, 10), + FloorPlanUrl = "/SeedData/floor-plan.png", + GoogleMapIFrame = "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", + IsActive = true, + Location = "123 Ave. Boston", + LongDescription = "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", + ShortDescription = "2022 yılındaki ilk projelerimizden biri olan bu ev, benzersiz peyzaj tasarım çözümleri ve dış cephe çalışmalarıyla dikkat çekiyor.", + Slug = "modernmimari", + Status = 0, + Title = "Modern Mimari", + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.ProjectGallery", b => + { + b.Property("ProjectGalleryID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ProjectGalleryID")); + + b.Property("ImageUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ProjectID") + .HasColumnType("int"); + + b.HasKey("ProjectGalleryID"); + + b.HasIndex("ProjectID"); + + b.ToTable("ProjectGallery"); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Reference", b => + { + b.Property("ReferenceID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ReferenceID")); + + b.Property("LogoUrl") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WebUrl") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("ReferenceID"); + + b.ToTable("References"); + + b.HasData( + new + { + ReferenceID = 1, + LogoUrl = "/SeedData/Reference-1.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 2, + LogoUrl = "/SeedData/Reference-2.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 3, + LogoUrl = "/SeedData/Reference-3.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 4, + LogoUrl = "/SeedData/Reference-4.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 5, + LogoUrl = "/SeedData/Reference-5.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 6, + LogoUrl = "/SeedData/Reference-6.png", + WebUrl = "https://google.com" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Service", b => + { + b.Property("ServiceID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServiceID")); + + b.Property("IsActive") + .HasMaxLength(100) + .HasColumnType("bit"); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("ServiceID"); + + b.ToTable("Services"); + + b.HasData( + new + { + ServiceID = 1, + IsActive = true, + SubTitle = "Yüksek kalitede mimarlık hizmetleri sunuyoruz.", + Title = "Mimarlık" + }, + new + { + ServiceID = 2, + IsActive = true, + SubTitle = "Ekibimiz özgün ve şık mimari çözümler sunmaktadır.", + Title = "İç mekan tasarımı" + }, + new + { + ServiceID = 3, + IsActive = true, + SubTitle = "Estetik ve fonksiyonelliği bir araya getiren peyzaj çözümleri üretiyoruz.", + Title = "Peyzaj Mimarisi" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Slider", b => + { + b.Property("SliderID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("SliderID")); + + b.Property("ImageUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Location") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("PriceInfo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Sqm") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("SliderID"); + + b.ToTable("Sliders"); + + b.HasData( + new + { + SliderID = 1, + ImageUrl = "/SeedData/Slider-1.png", + Location = "2750 Duffy St", + PriceInfo = "400.000", + Sqm = "200" + }, + new + { + SliderID = 2, + ImageUrl = "/SeedData/Slider-2.png", + Location = "5032 Hewes Ave", + PriceInfo = "490.000", + Sqm = "290" + }, + new + { + SliderID = 3, + ImageUrl = "/SeedData/Slider-3.png", + Location = "2239 Wilmar Farm Rd", + PriceInfo = "550.000", + Sqm = "350" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Team", b => + { + b.Property("TeamID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TeamID")); + + b.Property("Facebook") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ImageUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Instagram") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Linkedin") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NameSurname") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("TeamID"); + + b.ToTable("Teams"); + + b.HasData( + new + { + TeamID = 1, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-1.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Meryem Sağkut", + Title = "Baş İç Mimar" + }, + new + { + TeamID = 2, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-2.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Can Balamir", + Title = "Kıdemli Mimar" + }, + new + { + TeamID = 3, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-3.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Aslı Sönmez", + Title = "Dış Cephe ve Peyzaj Tasarımcısı" + }, + new + { + TeamID = 4, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-4.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Kübra Mecan", + Title = "Proje Müdürü" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Testimonial", b => + { + b.Property("TestimonialID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TestimonialID")); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageUrl") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("TestimonialID"); + + b.ToTable("Testimonials"); + + b.HasData( + new + { + TestimonialID = 1, + Comment = "Tasarım ve mimarlık hizmeti veren birçok şirketle çalıştım ve siz bunların arasından gerçekten sıyrılan ve harika bir iş çıkaranlardan birisiniz.", + ImageUrl = "/SeedData/User-1.png", + Name = "Samet Malkın", + Status = 1, + Title = "Müşteri" + }, + new + { + TestimonialID = 2, + Comment = "Birinci sınıf yaratıcılık ve kaliteli hizmet arıyordum ve ekibinizde aradığımı buldum. Tüm fikirlerimi ve taleplerimi dikkate aldınız ve harika bir proje ortaya çıkardınız.", + ImageUrl = "/SeedData/User-2.png", + Name = "Kübra Yalman", + Status = 1, + Title = "Girişimci" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.WorkProcess", b => + { + b.Property("WorkProcessID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("WorkProcessID")); + + b.Property("ImageUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Info") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("WorkProcessID"); + + b.ToTable("WorkProcess"); + + b.HasData( + new + { + WorkProcessID = 1, + ImageUrl = "/SeedData/WorkProcess-1.png", + Info = "Müşteri ile tanışma", + IsActive = true, + SubTitle = "Yaptığımız ilk şey müşterilerimizle bir araya gelip gelecekteki bir projedeki hedeflerini konuşmaktır. Bu toplantı sırasında fikirlerinizi iletmekten ve bolca soru sormaktan çekinmeyin. Bu aşama oldukça belirleyicidir çünkü potansiyel mimarınızın çalışmalarını portföylerine göz atarak değerlendirebilirsiniz. Bir müşteri olarak mimarın ihtiyaçlarınızı dinleyip dinlemediğini ve bunları anlayıp anlamadığını da değerlendirebilirsiniz.", + Title = "Hedefleri karşılayın ve tanımlayın" + }, + new + { + WorkProcessID = 2, + ImageUrl = "/SeedData/WorkProcess-2.png", + Info = "Proje Konsept Geliştirme", + IsActive = true, + SubTitle = "İşbirliğimizin bir sonraki adımı, gelecekteki evinizin konseptini geliştirmektir. Evinizin inşaat sürecini başarılı kılan her bir faktörü tanımlamamıza yardımcı olur. Tasarımcı ve mimar ekibimiz, nihai sonucun yalnızca gereksinimlerinizi değil aynı zamanda uluslararası inşaat ve güvenlik standartlarını da karşılamasını sağlamak için projenin her bir adımını planlamalıdır. İzleme ve kontrol bu noktada başlar.", + Title = "Konsept Üzerinde Çalışma" + }, + new + { + WorkProcessID = 3, + ImageUrl = "/SeedData/WorkProcess-3.png", + Info = "İç ve Dış Mekanda Çalışma", + IsActive = true, + SubTitle = "Bir ev inşa etmenin en önemli ve sorumlu kısmının inşaat süreci olduğuna şüphe yok. Güvenilir müteahhitlerle çalıştığımız için harika bir sonuç garantilidir. Bu aşama, inşaat alanını hazırlamaktan izolasyonu kurmaya ve alçıpanı tamamlamaya ve dış cephede çalışmaya kadar kontrol edilmesi gereken çeşitli görevleri içerdiğinden en karmaşık olanlardan biridir.", + Title = "Evinizi İnşa Etme" + }, + new + { + WorkProcessID = 4, + ImageUrl = "/SeedData/WorkProcess-4.png", + Info = "Gelecekteki eviniz için son rötuşlar", + IsActive = true, + SubTitle = "Proje son aşamasına geldiğinde, kalite kontrol ekibimiz her şeyin doğru şekilde yapıldığından emin olmak için binanın son kontrolünü gerçekleştirir. Çalışanlarımız ayrıca bu son adımda tüm iç elemanların ve armatürlerin doğru şekilde monte edildiğinden emin olacaktır. Her şey tamamlandıktan sonra, müşterimizi nihai sonucu değerlendirmeye ve projemizin kaliteli performansını deneyimlemeye davet ediyoruz.", + Title = "Projenin Tamamlanması" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderKey") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + + b.HasData( + new + { + UserId = 1, + RoleId = 1 + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("Name") + .HasColumnType("nvarchar(450)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.ProjectGallery", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.Project", "Project") + .WithMany("ProjectGallery") + .HasForeignKey("ProjectID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Project"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Project", b => + { + b.Navigation("ProjectGallery"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.cs b/ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.cs new file mode 100644 index 0000000..b00de6a --- /dev/null +++ b/ConstructorApp.DataAccessLayer/Migrations/20251110062259_InitialCreate.cs @@ -0,0 +1,611 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace ConstructorApp.DataAccessLayer.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AspNetRoles", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AspNetUsers", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FirstName = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + LastName = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ImageUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ConfirmCode = table.Column(type: "int", nullable: false), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + EmailConfirmed = table.Column(type: "bit", nullable: false), + PasswordHash = table.Column(type: "nvarchar(max)", nullable: true), + SecurityStamp = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: true), + PhoneNumber = table.Column(type: "nvarchar(max)", nullable: true), + PhoneNumberConfirmed = table.Column(type: "bit", nullable: false), + TwoFactorEnabled = table.Column(type: "bit", nullable: false), + LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), + LockoutEnabled = table.Column(type: "bit", nullable: false), + AccessFailedCount = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "CompanyInfo", + columns: table => new + { + CompanyInfoID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Value = table.Column(type: "nvarchar(3)", maxLength: 3, nullable: false), + Title = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), + SubTitle = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CompanyInfo", x => x.CompanyInfoID); + }); + + migrationBuilder.CreateTable( + name: "CompanyInfoVideo", + columns: table => new + { + CompanyInfoVideoID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + VideoUrl = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CompanyInfoVideo", x => x.CompanyInfoVideoID); + }); + + migrationBuilder.CreateTable( + name: "ContactUs", + columns: table => new + { + ContactusID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Date = table.Column(type: "datetime2", nullable: false), + NameSurname = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Mail = table.Column(type: "nvarchar(max)", nullable: false), + Phone = table.Column(type: "nvarchar(max)", nullable: false), + MessageContent = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false), + Status = table.Column(type: "bit", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ContactUs", x => x.ContactusID); + }); + + migrationBuilder.CreateTable( + name: "Footer", + columns: table => new + { + FooterID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + LogoUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Phone = table.Column(type: "nvarchar(14)", maxLength: 14, nullable: true), + Mail = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Facebook = table.Column(type: "nvarchar(max)", nullable: true), + Instagram = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Linkedin = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Youtube = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Footer", x => x.FooterID); + }); + + migrationBuilder.CreateTable( + name: "HomeBanners", + columns: table => new + { + HomeBannerID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Title = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + SubTitle = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + LogoUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_HomeBanners", x => x.HomeBannerID); + }); + + migrationBuilder.CreateTable( + name: "Projects", + columns: table => new + { + ProjectID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + CoverUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + Date = table.Column(type: "date", nullable: false), + Title = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Location = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ShortDescription = table.Column(type: "nvarchar(300)", maxLength: 300, nullable: true), + LongDescription = table.Column(type: "nvarchar(max)", nullable: true), + IsActive = table.Column(type: "bit", nullable: false), + Slug = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: true), + GoogleMapIFrame = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false), + VideoUrl = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), + FloorPlanUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Status = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Projects", x => x.ProjectID); + }); + + migrationBuilder.CreateTable( + name: "References", + columns: table => new + { + ReferenceID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + LogoUrl = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + WebUrl = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_References", x => x.ReferenceID); + }); + + migrationBuilder.CreateTable( + name: "Services", + columns: table => new + { + ServiceID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Title = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + SubTitle = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + IsActive = table.Column(type: "bit", maxLength: 100, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Services", x => x.ServiceID); + }); + + migrationBuilder.CreateTable( + name: "Sliders", + columns: table => new + { + SliderID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Location = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Sqm = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + PriceInfo = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ImageUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Sliders", x => x.SliderID); + }); + + migrationBuilder.CreateTable( + name: "Teams", + columns: table => new + { + TeamID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + NameSurname = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Title = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + ImageUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + Facebook = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Instagram = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Linkedin = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Teams", x => x.TeamID); + }); + + migrationBuilder.CreateTable( + name: "Testimonials", + columns: table => new + { + TestimonialID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Title = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + Comment = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false), + ImageUrl = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Status = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Testimonials", x => x.TestimonialID); + }); + + migrationBuilder.CreateTable( + name: "WorkProcess", + columns: table => new + { + WorkProcessID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Info = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Title = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + SubTitle = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false), + ImageUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + IsActive = table.Column(type: "bit", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_WorkProcess", x => x.WorkProcessID); + }); + + migrationBuilder.CreateTable( + name: "AspNetRoleClaims", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + RoleId = table.Column(type: "int", nullable: false), + ClaimType = table.Column(type: "nvarchar(max)", nullable: true), + ClaimValue = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); + table.ForeignKey( + name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", + column: x => x.RoleId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserClaims", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + UserId = table.Column(type: "int", nullable: false), + ClaimType = table.Column(type: "nvarchar(max)", nullable: true), + ClaimValue = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); + table.ForeignKey( + name: "FK_AspNetUserClaims_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserLogins", + columns: table => new + { + LoginProvider = table.Column(type: "nvarchar(450)", nullable: false), + ProviderKey = table.Column(type: "nvarchar(450)", nullable: false), + ProviderDisplayName = table.Column(type: "nvarchar(max)", nullable: true), + UserId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); + table.ForeignKey( + name: "FK_AspNetUserLogins_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserRoles", + columns: table => new + { + UserId = table.Column(type: "int", nullable: false), + RoleId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); + table.ForeignKey( + name: "FK_AspNetUserRoles_AspNetRoles_RoleId", + column: x => x.RoleId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AspNetUserRoles_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserTokens", + columns: table => new + { + UserId = table.Column(type: "int", nullable: false), + LoginProvider = table.Column(type: "nvarchar(450)", nullable: false), + Name = table.Column(type: "nvarchar(450)", nullable: false), + Value = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); + table.ForeignKey( + name: "FK_AspNetUserTokens_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "ProjectGallery", + columns: table => new + { + ProjectGalleryID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ImageUrl = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ProjectID = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ProjectGallery", x => x.ProjectGalleryID); + table.ForeignKey( + name: "FK_ProjectGallery_Projects_ProjectID", + column: x => x.ProjectID, + principalTable: "Projects", + principalColumn: "ProjectID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.InsertData( + table: "AspNetRoles", + columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, + values: new object[] { 1, "861b2f73-621f-401d-ae7f-90386fb8ee33", "Admin", "ADMIN" }); + + migrationBuilder.InsertData( + table: "AspNetUsers", + columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "ConfirmCode", "Email", "EmailConfirmed", "FirstName", "ImageUrl", "LastName", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "TwoFactorEnabled", "UserName" }, + values: new object[] { 1, 0, "49a67b10-c6cd-45a8-a985-a0f3a0fc638b", 0, "admin@example.com", true, "Admin", "/SeedData/defaultuser.png", "Admin", false, null, "ADMIN@EXAMPLE.COM", "ADMIN", "AQAAAAIAAYagAAAAEN1z37odF5cuQmrziBf4IXBIfLIAFvlO6rQM8GKxsuyQWTBG8Bv6bkA+61SWFl1R5g==", null, false, "553407f9-7fee-4c07-b1e7-4523592d191f", false, "admin" }); + + migrationBuilder.InsertData( + table: "CompanyInfo", + columns: new[] { "CompanyInfoID", "SubTitle", "Title", "Value" }, + values: new object[,] + { + { 1, "2011 yılından bu yana sektörde faaliyet göstermekteyiz.", "YIL", "7" }, + { 2, "Bugüne kadar 54 adet konut projesi tasarladık.", "PROJE", "54" }, + { 3, "Şirketimiz yaratıcılığı nedeniyle birçok kez ödüle layık görüldü.", "ÖDÜL", "11" } + }); + + migrationBuilder.InsertData( + table: "CompanyInfoVideo", + columns: new[] { "CompanyInfoVideoID", "VideoUrl" }, + values: new object[] { 1, "https://www.youtube.com/watch?v=r-thd4PJKBw" }); + + migrationBuilder.InsertData( + table: "Footer", + columns: new[] { "FooterID", "Facebook", "Instagram", "Linkedin", "LogoUrl", "Mail", "Phone", "Youtube" }, + values: new object[] { 1, "https://facebook.com", "https://instagram.com", "https://linkedin.com", "/SeedData/Logo.png", "insaatmimarlik@mimarlik.com", "0999 999 99 99", "https://youtube.com" }); + + migrationBuilder.InsertData( + table: "HomeBanners", + columns: new[] { "HomeBannerID", "LogoUrl", "SubTitle", "Title" }, + values: new object[] { 1, "/SeedData/Logo.png", "150 m2'den başlayan modern enerji tasarruflu evler.", "Tasarım & İnşaat" }); + + migrationBuilder.InsertData( + table: "Projects", + columns: new[] { "ProjectID", "CoverUrl", "Date", "FloorPlanUrl", "GoogleMapIFrame", "IsActive", "Location", "LongDescription", "ShortDescription", "Slug", "Status", "Title", "VideoUrl" }, + values: new object[,] + { + { 1, "/SeedData/Project-3.png", new DateOnly(2025, 4, 15), "/SeedData/floor-plan.png", "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", true, "3119 Mulberry Ln, Newcastle, UK", "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", "Eski 2 katlı evi tamamen genişletip yeniden tasarlamak için üç ay boyunca bu proje üzerinde çalıştık.", "tasevler", 2, "Taşevler", "https://www.youtube.com/watch?v=r-thd4PJKBw" }, + { 2, "/SeedData/Project-2.png", new DateOnly(2026, 2, 15), "/SeedData/floor-plan.png", "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", true, "2560 Russell st, Boston, MA", "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", "2022 yılındaki ilk projelerimizden biri olan bu ev, benzersiz peyzaj tasarım çözümleri ve dış cephe çalışmalarıyla dikkat çekiyor.", "yataymimari", 1, "Yatay Mimari", "https://www.youtube.com/watch?v=r-thd4PJKBw" }, + { 3, "/SeedData/Project-1.png", new DateOnly(2027, 1, 10), "/SeedData/floor-plan.png", "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", true, "123 Ave. Boston", "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", "2022 yılındaki ilk projelerimizden biri olan bu ev, benzersiz peyzaj tasarım çözümleri ve dış cephe çalışmalarıyla dikkat çekiyor.", "modernmimari", 0, "Modern Mimari", "https://www.youtube.com/watch?v=r-thd4PJKBw" } + }); + + migrationBuilder.InsertData( + table: "References", + columns: new[] { "ReferenceID", "LogoUrl", "WebUrl" }, + values: new object[,] + { + { 1, "/SeedData/Reference-1.png", "https://google.com" }, + { 2, "/SeedData/Reference-2.png", "https://google.com" }, + { 3, "/SeedData/Reference-3.png", "https://google.com" }, + { 4, "/SeedData/Reference-4.png", "https://google.com" }, + { 5, "/SeedData/Reference-5.png", "https://google.com" }, + { 6, "/SeedData/Reference-6.png", "https://google.com" } + }); + + migrationBuilder.InsertData( + table: "Services", + columns: new[] { "ServiceID", "IsActive", "SubTitle", "Title" }, + values: new object[,] + { + { 1, true, "Yüksek kalitede mimarlık hizmetleri sunuyoruz.", "Mimarlık" }, + { 2, true, "Ekibimiz özgün ve şık mimari çözümler sunmaktadır.", "İç mekan tasarımı" }, + { 3, true, "Estetik ve fonksiyonelliği bir araya getiren peyzaj çözümleri üretiyoruz.", "Peyzaj Mimarisi" } + }); + + migrationBuilder.InsertData( + table: "Sliders", + columns: new[] { "SliderID", "ImageUrl", "Location", "PriceInfo", "Sqm" }, + values: new object[,] + { + { 1, "/SeedData/Slider-1.png", "2750 Duffy St", "400.000", "200" }, + { 2, "/SeedData/Slider-2.png", "5032 Hewes Ave", "490.000", "290" }, + { 3, "/SeedData/Slider-3.png", "2239 Wilmar Farm Rd", "550.000", "350" } + }); + + migrationBuilder.InsertData( + table: "Teams", + columns: new[] { "TeamID", "Facebook", "ImageUrl", "Instagram", "Linkedin", "NameSurname", "Title" }, + values: new object[,] + { + { 1, "https://facebook.com", "/SeedData/Team-1.jpg", "https://instagram.com", "https://linkedin.com", "Meryem Sağkut", "Baş İç Mimar" }, + { 2, "https://facebook.com", "/SeedData/Team-2.jpg", "https://instagram.com", "https://linkedin.com", "Can Balamir", "Kıdemli Mimar" }, + { 3, "https://facebook.com", "/SeedData/Team-3.jpg", "https://instagram.com", "https://linkedin.com", "Aslı Sönmez", "Dış Cephe ve Peyzaj Tasarımcısı" }, + { 4, "https://facebook.com", "/SeedData/Team-4.jpg", "https://instagram.com", "https://linkedin.com", "Kübra Mecan", "Proje Müdürü" } + }); + + migrationBuilder.InsertData( + table: "Testimonials", + columns: new[] { "TestimonialID", "Comment", "ImageUrl", "Name", "Status", "Title" }, + values: new object[,] + { + { 1, "Tasarım ve mimarlık hizmeti veren birçok şirketle çalıştım ve siz bunların arasından gerçekten sıyrılan ve harika bir iş çıkaranlardan birisiniz.", "/SeedData/User-1.png", "Samet Malkın", 1, "Müşteri" }, + { 2, "Birinci sınıf yaratıcılık ve kaliteli hizmet arıyordum ve ekibinizde aradığımı buldum. Tüm fikirlerimi ve taleplerimi dikkate aldınız ve harika bir proje ortaya çıkardınız.", "/SeedData/User-2.png", "Kübra Yalman", 1, "Girişimci" } + }); + + migrationBuilder.InsertData( + table: "WorkProcess", + columns: new[] { "WorkProcessID", "ImageUrl", "Info", "IsActive", "SubTitle", "Title" }, + values: new object[,] + { + { 1, "/SeedData/WorkProcess-1.png", "Müşteri ile tanışma", true, "Yaptığımız ilk şey müşterilerimizle bir araya gelip gelecekteki bir projedeki hedeflerini konuşmaktır. Bu toplantı sırasında fikirlerinizi iletmekten ve bolca soru sormaktan çekinmeyin. Bu aşama oldukça belirleyicidir çünkü potansiyel mimarınızın çalışmalarını portföylerine göz atarak değerlendirebilirsiniz. Bir müşteri olarak mimarın ihtiyaçlarınızı dinleyip dinlemediğini ve bunları anlayıp anlamadığını da değerlendirebilirsiniz.", "Hedefleri karşılayın ve tanımlayın" }, + { 2, "/SeedData/WorkProcess-2.png", "Proje Konsept Geliştirme", true, "İşbirliğimizin bir sonraki adımı, gelecekteki evinizin konseptini geliştirmektir. Evinizin inşaat sürecini başarılı kılan her bir faktörü tanımlamamıza yardımcı olur. Tasarımcı ve mimar ekibimiz, nihai sonucun yalnızca gereksinimlerinizi değil aynı zamanda uluslararası inşaat ve güvenlik standartlarını da karşılamasını sağlamak için projenin her bir adımını planlamalıdır. İzleme ve kontrol bu noktada başlar.", "Konsept Üzerinde Çalışma" }, + { 3, "/SeedData/WorkProcess-3.png", "İç ve Dış Mekanda Çalışma", true, "Bir ev inşa etmenin en önemli ve sorumlu kısmının inşaat süreci olduğuna şüphe yok. Güvenilir müteahhitlerle çalıştığımız için harika bir sonuç garantilidir. Bu aşama, inşaat alanını hazırlamaktan izolasyonu kurmaya ve alçıpanı tamamlamaya ve dış cephede çalışmaya kadar kontrol edilmesi gereken çeşitli görevleri içerdiğinden en karmaşık olanlardan biridir.", "Evinizi İnşa Etme" }, + { 4, "/SeedData/WorkProcess-4.png", "Gelecekteki eviniz için son rötuşlar", true, "Proje son aşamasına geldiğinde, kalite kontrol ekibimiz her şeyin doğru şekilde yapıldığından emin olmak için binanın son kontrolünü gerçekleştirir. Çalışanlarımız ayrıca bu son adımda tüm iç elemanların ve armatürlerin doğru şekilde monte edildiğinden emin olacaktır. Her şey tamamlandıktan sonra, müşterimizi nihai sonucu değerlendirmeye ve projemizin kaliteli performansını deneyimlemeye davet ediyoruz.", "Projenin Tamamlanması" } + }); + + migrationBuilder.InsertData( + table: "AspNetUserRoles", + columns: new[] { "RoleId", "UserId" }, + values: new object[] { 1, 1 }); + + migrationBuilder.CreateIndex( + name: "IX_AspNetRoleClaims_RoleId", + table: "AspNetRoleClaims", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "RoleNameIndex", + table: "AspNetRoles", + column: "NormalizedName", + unique: true, + filter: "[NormalizedName] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserClaims_UserId", + table: "AspNetUserClaims", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserLogins_UserId", + table: "AspNetUserLogins", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserRoles_RoleId", + table: "AspNetUserRoles", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "EmailIndex", + table: "AspNetUsers", + column: "NormalizedEmail"); + + migrationBuilder.CreateIndex( + name: "UserNameIndex", + table: "AspNetUsers", + column: "NormalizedUserName", + unique: true, + filter: "[NormalizedUserName] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_ProjectGallery_ProjectID", + table: "ProjectGallery", + column: "ProjectID"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AspNetRoleClaims"); + + migrationBuilder.DropTable( + name: "AspNetUserClaims"); + + migrationBuilder.DropTable( + name: "AspNetUserLogins"); + + migrationBuilder.DropTable( + name: "AspNetUserRoles"); + + migrationBuilder.DropTable( + name: "AspNetUserTokens"); + + migrationBuilder.DropTable( + name: "CompanyInfo"); + + migrationBuilder.DropTable( + name: "CompanyInfoVideo"); + + migrationBuilder.DropTable( + name: "ContactUs"); + + migrationBuilder.DropTable( + name: "Footer"); + + migrationBuilder.DropTable( + name: "HomeBanners"); + + migrationBuilder.DropTable( + name: "ProjectGallery"); + + migrationBuilder.DropTable( + name: "References"); + + migrationBuilder.DropTable( + name: "Services"); + + migrationBuilder.DropTable( + name: "Sliders"); + + migrationBuilder.DropTable( + name: "Teams"); + + migrationBuilder.DropTable( + name: "Testimonials"); + + migrationBuilder.DropTable( + name: "WorkProcess"); + + migrationBuilder.DropTable( + name: "AspNetRoles"); + + migrationBuilder.DropTable( + name: "AspNetUsers"); + + migrationBuilder.DropTable( + name: "Projects"); + } + } +} diff --git a/ConstructorApp.DataAccessLayer/Migrations/ConstructorContextModelSnapshot.cs b/ConstructorApp.DataAccessLayer/Migrations/ConstructorContextModelSnapshot.cs new file mode 100644 index 0000000..c9b393a --- /dev/null +++ b/ConstructorApp.DataAccessLayer/Migrations/ConstructorContextModelSnapshot.cs @@ -0,0 +1,1059 @@ +// +using System; +using ConstructorApp.DataAccessLayer.Concrete; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace ConstructorApp.DataAccessLayer.Migrations +{ + [DbContext(typeof(ConstructorContext))] + partial class ConstructorContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex") + .HasFilter("[NormalizedName] IS NOT NULL"); + + b.ToTable("AspNetRoles", (string)null); + + b.HasData( + new + { + Id = 1, + ConcurrencyStamp = "861b2f73-621f-401d-ae7f-90386fb8ee33", + Name = "Admin", + NormalizedName = "ADMIN" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("ConfirmCode") + .HasColumnType("int"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("FirstName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ImageUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("LastName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex") + .HasFilter("[NormalizedUserName] IS NOT NULL"); + + b.ToTable("AspNetUsers", (string)null); + + b.HasData( + new + { + Id = 1, + AccessFailedCount = 0, + ConcurrencyStamp = "49a67b10-c6cd-45a8-a985-a0f3a0fc638b", + ConfirmCode = 0, + Email = "admin@example.com", + EmailConfirmed = true, + FirstName = "Admin", + ImageUrl = "/SeedData/defaultuser.png", + LastName = "Admin", + LockoutEnabled = false, + NormalizedEmail = "ADMIN@EXAMPLE.COM", + NormalizedUserName = "ADMIN", + PasswordHash = "AQAAAAIAAYagAAAAEN1z37odF5cuQmrziBf4IXBIfLIAFvlO6rQM8GKxsuyQWTBG8Bv6bkA+61SWFl1R5g==", + PhoneNumberConfirmed = false, + SecurityStamp = "553407f9-7fee-4c07-b1e7-4523592d191f", + TwoFactorEnabled = false, + UserName = "admin" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.CompanyInfo", b => + { + b.Property("CompanyInfoID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CompanyInfoID")); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.HasKey("CompanyInfoID"); + + b.ToTable("CompanyInfo"); + + b.HasData( + new + { + CompanyInfoID = 1, + SubTitle = "2011 yılından bu yana sektörde faaliyet göstermekteyiz.", + Title = "YIL", + Value = "7" + }, + new + { + CompanyInfoID = 2, + SubTitle = "Bugüne kadar 54 adet konut projesi tasarladık.", + Title = "PROJE", + Value = "54" + }, + new + { + CompanyInfoID = 3, + SubTitle = "Şirketimiz yaratıcılığı nedeniyle birçok kez ödüle layık görüldü.", + Title = "ÖDÜL", + Value = "11" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.CompanyInfoVideo", b => + { + b.Property("CompanyInfoVideoID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CompanyInfoVideoID")); + + b.Property("VideoUrl") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("CompanyInfoVideoID"); + + b.ToTable("CompanyInfoVideo"); + + b.HasData( + new + { + CompanyInfoVideoID = 1, + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.ContactUs", b => + { + b.Property("ContactusID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ContactusID")); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("Mail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("MessageContent") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("NameSurname") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.HasKey("ContactusID"); + + b.ToTable("ContactUs"); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Footer", b => + { + b.Property("FooterID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("FooterID")); + + b.Property("Facebook") + .HasColumnType("nvarchar(max)"); + + b.Property("Instagram") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Linkedin") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("LogoUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Mail") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("Youtube") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("FooterID"); + + b.ToTable("Footer"); + + b.HasData( + new + { + FooterID = 1, + Facebook = "https://facebook.com", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + LogoUrl = "/SeedData/Logo.png", + Mail = "insaatmimarlik@mimarlik.com", + Phone = "0999 999 99 99", + Youtube = "https://youtube.com" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.HomeBanner", b => + { + b.Property("HomeBannerID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("HomeBannerID")); + + b.Property("LogoUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("HomeBannerID"); + + b.ToTable("HomeBanners"); + + b.HasData( + new + { + HomeBannerID = 1, + LogoUrl = "/SeedData/Logo.png", + SubTitle = "150 m2'den başlayan modern enerji tasarruflu evler.", + Title = "Tasarım & İnşaat" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Project", b => + { + b.Property("ProjectID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ProjectID")); + + b.Property("CoverUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("FloorPlanUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("GoogleMapIFrame") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Location") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("LongDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("ShortDescription") + .HasMaxLength(300) + .HasColumnType("nvarchar(300)"); + + b.Property("Slug") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VideoUrl") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("ProjectID"); + + b.ToTable("Projects"); + + b.HasData( + new + { + ProjectID = 1, + CoverUrl = "/SeedData/Project-3.png", + Date = new DateOnly(2025, 4, 15), + FloorPlanUrl = "/SeedData/floor-plan.png", + GoogleMapIFrame = "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", + IsActive = true, + Location = "3119 Mulberry Ln, Newcastle, UK", + LongDescription = "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", + ShortDescription = "Eski 2 katlı evi tamamen genişletip yeniden tasarlamak için üç ay boyunca bu proje üzerinde çalıştık.", + Slug = "tasevler", + Status = 2, + Title = "Taşevler", + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }, + new + { + ProjectID = 2, + CoverUrl = "/SeedData/Project-2.png", + Date = new DateOnly(2026, 2, 15), + FloorPlanUrl = "/SeedData/floor-plan.png", + GoogleMapIFrame = "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", + IsActive = true, + Location = "2560 Russell st, Boston, MA", + LongDescription = "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", + ShortDescription = "2022 yılındaki ilk projelerimizden biri olan bu ev, benzersiz peyzaj tasarım çözümleri ve dış cephe çalışmalarıyla dikkat çekiyor.", + Slug = "yataymimari", + Status = 1, + Title = "Yatay Mimari", + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }, + new + { + ProjectID = 3, + CoverUrl = "/SeedData/Project-1.png", + Date = new DateOnly(2027, 1, 10), + FloorPlanUrl = "/SeedData/floor-plan.png", + GoogleMapIFrame = "https://www.google.com/maps/embed?pb=!1m13!1m8!1m3!1d50122.87145390096!2d26.7044768!3d38.2637395!3m2!1i1024!2i768!4f13.1!3m2!1m1!2s!5e0!3m2!1str!2str!4v1722545102804!5m2!1str!2str", + IsActive = true, + Location = "123 Ave. Boston", + LongDescription = "Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.\r\nAmet consequatur qui dolore veniam voluptatem voluptatem sit. Non aspernatur atque natus ut cum nam et. Praesentium error dolores rerum minus sequi quia veritatis eum. Eos et doloribus doloremque nesciunt molestiae laboriosam.\r\nImpedit ipsum quae et aliquid doloribus et voluptatem quasi. Perspiciatis occaecati earum et magnam animi. Quibusdam non qui ea vitae suscipit vitae sunt. Repudiandae incidunt cumque minus deserunt assumenda tempore. Delectus voluptas necessitatibus est.\r\nSunt voluptatum sapiente facilis quo odio aut ipsum repellat debitis. Molestiae et autem libero. Explicabo et quod necessitatibus similique quis dolor eum. Numquam eaque praesentium rem et qui nesciunt.", + ShortDescription = "2022 yılındaki ilk projelerimizden biri olan bu ev, benzersiz peyzaj tasarım çözümleri ve dış cephe çalışmalarıyla dikkat çekiyor.", + Slug = "modernmimari", + Status = 0, + Title = "Modern Mimari", + VideoUrl = "https://www.youtube.com/watch?v=r-thd4PJKBw" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.ProjectGallery", b => + { + b.Property("ProjectGalleryID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ProjectGalleryID")); + + b.Property("ImageUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ProjectID") + .HasColumnType("int"); + + b.HasKey("ProjectGalleryID"); + + b.HasIndex("ProjectID"); + + b.ToTable("ProjectGallery"); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Reference", b => + { + b.Property("ReferenceID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ReferenceID")); + + b.Property("LogoUrl") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WebUrl") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("ReferenceID"); + + b.ToTable("References"); + + b.HasData( + new + { + ReferenceID = 1, + LogoUrl = "/SeedData/Reference-1.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 2, + LogoUrl = "/SeedData/Reference-2.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 3, + LogoUrl = "/SeedData/Reference-3.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 4, + LogoUrl = "/SeedData/Reference-4.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 5, + LogoUrl = "/SeedData/Reference-5.png", + WebUrl = "https://google.com" + }, + new + { + ReferenceID = 6, + LogoUrl = "/SeedData/Reference-6.png", + WebUrl = "https://google.com" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Service", b => + { + b.Property("ServiceID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServiceID")); + + b.Property("IsActive") + .HasMaxLength(100) + .HasColumnType("bit"); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("ServiceID"); + + b.ToTable("Services"); + + b.HasData( + new + { + ServiceID = 1, + IsActive = true, + SubTitle = "Yüksek kalitede mimarlık hizmetleri sunuyoruz.", + Title = "Mimarlık" + }, + new + { + ServiceID = 2, + IsActive = true, + SubTitle = "Ekibimiz özgün ve şık mimari çözümler sunmaktadır.", + Title = "İç mekan tasarımı" + }, + new + { + ServiceID = 3, + IsActive = true, + SubTitle = "Estetik ve fonksiyonelliği bir araya getiren peyzaj çözümleri üretiyoruz.", + Title = "Peyzaj Mimarisi" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Slider", b => + { + b.Property("SliderID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("SliderID")); + + b.Property("ImageUrl") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Location") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("PriceInfo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Sqm") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("SliderID"); + + b.ToTable("Sliders"); + + b.HasData( + new + { + SliderID = 1, + ImageUrl = "/SeedData/Slider-1.png", + Location = "2750 Duffy St", + PriceInfo = "400.000", + Sqm = "200" + }, + new + { + SliderID = 2, + ImageUrl = "/SeedData/Slider-2.png", + Location = "5032 Hewes Ave", + PriceInfo = "490.000", + Sqm = "290" + }, + new + { + SliderID = 3, + ImageUrl = "/SeedData/Slider-3.png", + Location = "2239 Wilmar Farm Rd", + PriceInfo = "550.000", + Sqm = "350" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Team", b => + { + b.Property("TeamID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TeamID")); + + b.Property("Facebook") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ImageUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Instagram") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Linkedin") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NameSurname") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("TeamID"); + + b.ToTable("Teams"); + + b.HasData( + new + { + TeamID = 1, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-1.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Meryem Sağkut", + Title = "Baş İç Mimar" + }, + new + { + TeamID = 2, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-2.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Can Balamir", + Title = "Kıdemli Mimar" + }, + new + { + TeamID = 3, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-3.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Aslı Sönmez", + Title = "Dış Cephe ve Peyzaj Tasarımcısı" + }, + new + { + TeamID = 4, + Facebook = "https://facebook.com", + ImageUrl = "/SeedData/Team-4.jpg", + Instagram = "https://instagram.com", + Linkedin = "https://linkedin.com", + NameSurname = "Kübra Mecan", + Title = "Proje Müdürü" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Testimonial", b => + { + b.Property("TestimonialID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TestimonialID")); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageUrl") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("TestimonialID"); + + b.ToTable("Testimonials"); + + b.HasData( + new + { + TestimonialID = 1, + Comment = "Tasarım ve mimarlık hizmeti veren birçok şirketle çalıştım ve siz bunların arasından gerçekten sıyrılan ve harika bir iş çıkaranlardan birisiniz.", + ImageUrl = "/SeedData/User-1.png", + Name = "Samet Malkın", + Status = 1, + Title = "Müşteri" + }, + new + { + TestimonialID = 2, + Comment = "Birinci sınıf yaratıcılık ve kaliteli hizmet arıyordum ve ekibinizde aradığımı buldum. Tüm fikirlerimi ve taleplerimi dikkate aldınız ve harika bir proje ortaya çıkardınız.", + ImageUrl = "/SeedData/User-2.png", + Name = "Kübra Yalman", + Status = 1, + Title = "Girişimci" + }); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.WorkProcess", b => + { + b.Property("WorkProcessID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("WorkProcessID")); + + b.Property("ImageUrl") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Info") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("SubTitle") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("WorkProcessID"); + + b.ToTable("WorkProcess"); + + b.HasData( + new + { + WorkProcessID = 1, + ImageUrl = "/SeedData/WorkProcess-1.png", + Info = "Müşteri ile tanışma", + IsActive = true, + SubTitle = "Yaptığımız ilk şey müşterilerimizle bir araya gelip gelecekteki bir projedeki hedeflerini konuşmaktır. Bu toplantı sırasında fikirlerinizi iletmekten ve bolca soru sormaktan çekinmeyin. Bu aşama oldukça belirleyicidir çünkü potansiyel mimarınızın çalışmalarını portföylerine göz atarak değerlendirebilirsiniz. Bir müşteri olarak mimarın ihtiyaçlarınızı dinleyip dinlemediğini ve bunları anlayıp anlamadığını da değerlendirebilirsiniz.", + Title = "Hedefleri karşılayın ve tanımlayın" + }, + new + { + WorkProcessID = 2, + ImageUrl = "/SeedData/WorkProcess-2.png", + Info = "Proje Konsept Geliştirme", + IsActive = true, + SubTitle = "İşbirliğimizin bir sonraki adımı, gelecekteki evinizin konseptini geliştirmektir. Evinizin inşaat sürecini başarılı kılan her bir faktörü tanımlamamıza yardımcı olur. Tasarımcı ve mimar ekibimiz, nihai sonucun yalnızca gereksinimlerinizi değil aynı zamanda uluslararası inşaat ve güvenlik standartlarını da karşılamasını sağlamak için projenin her bir adımını planlamalıdır. İzleme ve kontrol bu noktada başlar.", + Title = "Konsept Üzerinde Çalışma" + }, + new + { + WorkProcessID = 3, + ImageUrl = "/SeedData/WorkProcess-3.png", + Info = "İç ve Dış Mekanda Çalışma", + IsActive = true, + SubTitle = "Bir ev inşa etmenin en önemli ve sorumlu kısmının inşaat süreci olduğuna şüphe yok. Güvenilir müteahhitlerle çalıştığımız için harika bir sonuç garantilidir. Bu aşama, inşaat alanını hazırlamaktan izolasyonu kurmaya ve alçıpanı tamamlamaya ve dış cephede çalışmaya kadar kontrol edilmesi gereken çeşitli görevleri içerdiğinden en karmaşık olanlardan biridir.", + Title = "Evinizi İnşa Etme" + }, + new + { + WorkProcessID = 4, + ImageUrl = "/SeedData/WorkProcess-4.png", + Info = "Gelecekteki eviniz için son rötuşlar", + IsActive = true, + SubTitle = "Proje son aşamasına geldiğinde, kalite kontrol ekibimiz her şeyin doğru şekilde yapıldığından emin olmak için binanın son kontrolünü gerçekleştirir. Çalışanlarımız ayrıca bu son adımda tüm iç elemanların ve armatürlerin doğru şekilde monte edildiğinden emin olacaktır. Her şey tamamlandıktan sonra, müşterimizi nihai sonucu değerlendirmeye ve projemizin kaliteli performansını deneyimlemeye davet ediyoruz.", + Title = "Projenin Tamamlanması" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderKey") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + + b.HasData( + new + { + UserId = 1, + RoleId = 1 + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("Name") + .HasColumnType("nvarchar(450)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.ProjectGallery", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.Project", "Project") + .WithMany("ProjectGallery") + .HasForeignKey("ProjectID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Project"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("ConstructorApp.EntityLayer.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("ConstructorApp.EntityLayer.Entities.Project", b => + { + b.Navigation("ProjectGallery"); + }); +#pragma warning restore 612, 618 + } + } +}