first push

This commit is contained in:
2026-05-16 21:29:22 +02:00
commit 25edd4fac7
68 changed files with 3475 additions and 0 deletions
@@ -0,0 +1,83 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace PhotoShareDb.Migrations
{
[DbContext(typeof(PhotoShareDbContext))]
[Migration("20260315131731_AddDesireTable")]
partial class AddDesireTable
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "10.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("ModelsLib.BDD_Models.DesireData", b =>
{
b.Property<int>("Key")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Key"));
b.Property<string>("Desire")
.IsRequired()
.HasColumnType("text");
b.HasKey("Key");
b.ToTable("T_DesireData", (string)null);
});
modelBuilder.Entity("ModelsLib.ParametersDb", b =>
{
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("text");
b.HasKey("Key");
b.ToTable("T_Params", (string)null);
});
modelBuilder.Entity("ModelsLib.ShootingData", b =>
{
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("InstagramName")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("IsPhotosSelected")
.HasColumnType("boolean");
b.Property<int>("MaxChoice")
.HasColumnType("integer");
b.Property<DateTime>("ShootingDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Key");
b.ToTable("T_ShootingData", (string)null);
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,35 @@
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace PhotoShareDb.Migrations
{
/// <inheritdoc />
public partial class AddDesireTable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "T_DesireData",
columns: table => new
{
Key = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Desire = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_T_DesireData", x => x.Key);
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "T_DesireData");
}
}
}
@@ -0,0 +1,83 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace PhotoShareDb.Migrations
{
[DbContext(typeof(PhotoShareDbContext))]
[Migration("20260315140529_AddDesireTable2")]
partial class AddDesireTable2
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "10.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("ModelsLib.BDD_Models.DesireData", b =>
{
b.Property<int>("Key")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Key"));
b.Property<string>("Desire")
.IsRequired()
.HasColumnType("text");
b.HasKey("Key");
b.ToTable("T_DesireData", (string)null);
});
modelBuilder.Entity("ModelsLib.ParametersDb", b =>
{
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("text");
b.HasKey("Key");
b.ToTable("T_Params", (string)null);
});
modelBuilder.Entity("ModelsLib.ShootingData", b =>
{
b.Property<string>("Key")
.HasColumnType("text");
b.Property<string>("InstagramName")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("IsPhotosSelected")
.HasColumnType("boolean");
b.Property<int>("MaxChoice")
.HasColumnType("integer");
b.Property<DateTime>("ShootingDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Key");
b.ToTable("T_ShootingData", (string)null);
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PhotoShareDb.Migrations
{
/// <inheritdoc />
public partial class AddDesireTable2 : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}
+21
View File
@@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="10.0.3" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ModelsLib\ModelsLib.csproj" />
</ItemGroup>
</Project>
+21
View File
@@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore;
using ModelsLib;
using ModelsLib.BDD_Models;
using System.Collections.Generic;
public class PhotoShareDbContext : DbContext
{
public PhotoShareDbContext(DbContextOptions<PhotoShareDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ParametersDb>().ToTable("T_Params");
modelBuilder.Entity<ShootingData>().ToTable("T_ShootingData");
modelBuilder.Entity<DesireData>().ToTable("T_DesireData");
}
public DbSet<ParametersDb> ConfigDb { get; set; }
public DbSet<ShootingData> ShootingDb { get; set; }
public DbSet<DesireData> DesireDb { get; set; }
}
@@ -0,0 +1,23 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using System.IO;
public class PhotoShareDbContextFactory : IDesignTimeDbContextFactory<PhotoShareDbContext>
{
public PhotoShareDbContext CreateDbContext(string[] args)
{
// Récupère la configuration depuis appsettings.json
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
var optionsBuilder = new DbContextOptionsBuilder<PhotoShareDbContext>();
var connectionString = configuration.GetConnectionString("DefaultConnection");
optionsBuilder.UseNpgsql(connectionString);
return new PhotoShareDbContext(optionsBuilder.Options);
}
}