diff --git a/DugunSalonu.csproj b/DugunSalonu.csproj index e5c82cf..0b8c413 100644 --- a/DugunSalonu.csproj +++ b/DugunSalonu.csproj @@ -9,19 +9,14 @@ - - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - Form diff --git a/Migrations/20250814210347_mig12.Designer.cs b/Migrations/20250814210347_mig12.Designer.cs new file mode 100644 index 0000000..af2ba54 --- /dev/null +++ b/Migrations/20250814210347_mig12.Designer.cs @@ -0,0 +1,319 @@ +// +using System; +using DugunSalonu.Models; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace DugunSalonu.Migrations +{ + [DbContext(typeof(dugunsalonuContext))] + [Migration("20250814210347_mig12")] + partial class mig12 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("DugunSalonu.Models.Il", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("id")); + + b.Property("adi") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("id"); + + b.ToTable("il"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Ilce", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("id")); + + b.Property("ILid") + .HasColumnType("integer") + .HasColumnName("ilid"); + + b.Property("adi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.HasKey("id"); + + b.HasIndex("ILid"); + + b.ToTable("ilce"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Kullanici", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("id")); + + b.Property("adi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("admin") + .HasColumnType("boolean"); + + b.Property("aktif") + .HasColumnType("boolean"); + + b.Property("ceptel") + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("eposta") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("kullaniciadi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("parola") + .IsRequired() + .HasColumnType("text"); + + b.Property("soyadi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.HasKey("id"); + + b.ToTable("kullanici"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Organizasyon", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("id")); + + b.Property("aciklama") + .IsRequired() + .HasMaxLength(400) + .HasColumnType("character varying(400)"); + + b.Property("adi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("ceptel") + .HasMaxLength(10) + .HasColumnType("integer"); + + b.Property("ceptel2") + .HasMaxLength(10) + .HasColumnType("integer"); + + b.Property("damatyore") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("fiyat") + .HasColumnType("numeric(18,2)"); + + b.Property("gelinyore") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("iptal") + .HasColumnType("integer"); + + b.Property("iptalaciklama") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("iptalkk") + .HasColumnType("integer"); + + b.Property("iptalkts") + .HasColumnType("timestamp with time zone"); + + b.Property("kk") + .HasColumnType("integer"); + + b.Property("kts") + .HasColumnType("timestamp with time zone"); + + b.Property("organizasyondurum") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("organizasyonsaati") + .IsRequired() + .HasColumnType("text"); + + b.Property("organizasyontarihi") + .HasColumnType("date"); + + b.Property("rezervasyontarihi") + .HasColumnType("date"); + + b.Property("soyadi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("sozlesme") + .HasColumnType("bytea"); + + b.Property("sozlesmetarihi") + .HasColumnType("date"); + + b.HasKey("id"); + + b.ToTable("organizasyon"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Referans", b => + { + b.Property("adi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("aktif") + .HasColumnType("boolean"); + + b.Property("id") + .HasColumnType("integer"); + + b.Property("kk") + .HasColumnType("integer"); + + b.Property("kodu") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("character varying(20)"); + + b.Property("kts") + .HasColumnType("timestamp with time zone"); + + b.Property("turu") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.HasIndex("turu", "kodu") + .IsUnique(); + + b.ToTable("referans"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Salon", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("id")); + + b.Property("CepTel") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("adi") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("character varying(150)"); + + b.Property("adres") + .HasMaxLength(250) + .HasColumnType("character varying(250)"); + + b.Property("eposta") + .IsRequired() + .HasColumnType("text"); + + b.Property("ilceid") + .HasColumnType("integer"); + + b.Property("ilid") + .HasColumnType("integer"); + + b.Property("telefon") + .HasColumnType("text"); + + b.Property("vergidairesi") + .HasColumnType("text"); + + b.Property("verginumarasi") + .HasColumnType("text"); + + b.Property("webadres") + .HasColumnType("text"); + + b.HasKey("id"); + + b.HasIndex("ilid"); + + b.ToTable("salon"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Ilce", b => + { + b.HasOne("DugunSalonu.Models.Il", "Il") + .WithMany("ilceler") + .HasForeignKey("ILid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Il"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Salon", b => + { + b.HasOne("DugunSalonu.Models.Il", "il") + .WithMany("salons") + .HasForeignKey("ilid"); + + b.Navigation("il"); + }); + + modelBuilder.Entity("DugunSalonu.Models.Il", b => + { + b.Navigation("ilceler"); + + b.Navigation("salons"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20250814210347_mig12.cs b/Migrations/20250814210347_mig12.cs new file mode 100644 index 0000000..321204e --- /dev/null +++ b/Migrations/20250814210347_mig12.cs @@ -0,0 +1,55 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace DugunSalonu.Migrations +{ + /// + public partial class mig12 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "organizasyon", + columns: table => new + { + id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + rezervasyontarihi = table.Column(type: "date", nullable: false), + sozlesmetarihi = table.Column(type: "date", nullable: false), + organizasyontarihi = table.Column(type: "date", nullable: false), + organizasyonsaati = table.Column(type: "text", nullable: false), + adi = table.Column(type: "character varying(50)", maxLength: 50, nullable: false), + soyadi = table.Column(type: "character varying(50)", maxLength: 50, nullable: false), + ceptel = table.Column(type: "integer", maxLength: 10, nullable: false), + ceptel2 = table.Column(type: "integer", maxLength: 10, nullable: true), + gelinyore = table.Column(type: "character varying(30)", maxLength: 30, nullable: false), + damatyore = table.Column(type: "character varying(30)", maxLength: 30, nullable: false), + aciklama = table.Column(type: "character varying(400)", maxLength: 400, nullable: false), + organizasyondurum = table.Column(type: "character varying(10)", maxLength: 10, nullable: false), + fiyat = table.Column(type: "numeric(18,2)", nullable: false), + kts = table.Column(type: "timestamp with time zone", nullable: false), + kk = table.Column(type: "integer", nullable: false), + sozlesme = table.Column(type: "bytea", nullable: true), + iptal = table.Column(type: "integer", nullable: true), + iptalkk = table.Column(type: "integer", nullable: true), + iptalkts = table.Column(type: "timestamp with time zone", nullable: true), + iptalaciklama = table.Column(type: "character varying(200)", maxLength: 200, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_organizasyon", x => x.id); + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "organizasyon"); + } + } +} diff --git a/Migrations/dugunsalonuContextModelSnapshot.cs b/Migrations/dugunsalonuContextModelSnapshot.cs index a253d6f..aa3a46b 100644 --- a/Migrations/dugunsalonuContextModelSnapshot.cs +++ b/Migrations/dugunsalonuContextModelSnapshot.cs @@ -17,7 +17,7 @@ namespace DugunSalonu.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "9.0.7") + .HasAnnotation("ProductVersion", "9.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); @@ -109,6 +109,95 @@ namespace DugunSalonu.Migrations b.ToTable("kullanici"); }); + modelBuilder.Entity("DugunSalonu.Models.Organizasyon", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("id")); + + b.Property("aciklama") + .IsRequired() + .HasMaxLength(400) + .HasColumnType("character varying(400)"); + + b.Property("adi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("ceptel") + .HasMaxLength(10) + .HasColumnType("integer"); + + b.Property("ceptel2") + .HasMaxLength(10) + .HasColumnType("integer"); + + b.Property("damatyore") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("fiyat") + .HasColumnType("numeric(18,2)"); + + b.Property("gelinyore") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("iptal") + .HasColumnType("integer"); + + b.Property("iptalaciklama") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("iptalkk") + .HasColumnType("integer"); + + b.Property("iptalkts") + .HasColumnType("timestamp with time zone"); + + b.Property("kk") + .HasColumnType("integer"); + + b.Property("kts") + .HasColumnType("timestamp with time zone"); + + b.Property("organizasyondurum") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("organizasyonsaati") + .IsRequired() + .HasColumnType("text"); + + b.Property("organizasyontarihi") + .HasColumnType("date"); + + b.Property("rezervasyontarihi") + .HasColumnType("date"); + + b.Property("soyadi") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("sozlesme") + .HasColumnType("bytea"); + + b.Property("sozlesmetarihi") + .HasColumnType("date"); + + b.HasKey("id"); + + b.ToTable("organizasyon"); + }); + modelBuilder.Entity("DugunSalonu.Models.Referans", b => { b.Property("adi") diff --git a/Models/Organizasyon.cs b/Models/Organizasyon.cs new file mode 100644 index 0000000..0a37795 --- /dev/null +++ b/Models/Organizasyon.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.Design.Serialization; +using System.Data.SqlTypes; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DugunSalonu.Models +{ + public class Organizasyon + { + [Key] + public int id { get; set; } + [Required] + public required DateOnly rezervasyontarihi { get; set; } = DateOnly.FromDateTime(DateTime.Now); + [Required] + public required DateOnly sozlesmetarihi { get; set; } + [Required] + public required DateOnly organizasyontarihi { get; set; } + [Required] + public required string organizasyonsaati { get; set; } //referans tablosundan alınacak. + [Required] + [MaxLength(50)] + public required string adi { get; set; } + [Required] + [MaxLength(50)] + public required string soyadi { get; set; } + public string adisoyadi { get { return $"{adi} {soyadi}"; } } + [Required] + [MaxLength(10)] + [MinLength(10)] + public required int ceptel { get; set; } + [MaxLength(10)] + [MinLength(10)] + public int? ceptel2 { get; set; } + [Required] + [MaxLength(30)] + public required string gelinyore { get; set; } + [Required] + [MaxLength(30)] + public required string damatyore { get; set; } + [Required] + [MaxLength(400)] + public required string aciklama { get; set; } + [Required] + [MaxLength(10)] + public required string organizasyondurum { get; set; } // referans tablosundan alınacak. + [Required] + public required Decimal fiyat { get; set; } + + [Required] + public required DateTime kts { get; set; } = DateTime.UtcNow; + [Required] + public required int kk { get; set; } + + public byte[]? sozlesme { get; set; } + + public int? iptal { get; set; } + public int? iptalkk { get; set; } + public DateTime? iptalkts { get; set; } + [MaxLength(200)] + public string? iptalaciklama { get; set; } + + + } +} diff --git a/Models/dugunsalonuContext.cs b/Models/dugunsalonuContext.cs index a275a6a..66db6e4 100644 --- a/Models/dugunsalonuContext.cs +++ b/Models/dugunsalonuContext.cs @@ -19,6 +19,7 @@ namespace DugunSalonu.Models public DbSet referans { get; set; } + public DbSet organizasyon { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) @@ -29,6 +30,13 @@ namespace DugunSalonu.Models modelBuilder.Entity().HasNoKey(); modelBuilder.Entity().HasMany(i => i.ilceler); modelBuilder.Entity().HasOne(i => i.Il); + + //fiyat için oluşturulan alanın tipini belirtmek için yapıldı. + modelBuilder.Entity(entity => + { + entity.Property(e => e.fiyat) + .HasColumnType("numeric(18,2)"); // 18 basamak, 2 ondalık + }); /* // kts alanı için default değer modelBuilder.Entity()