On affiche les séries terminées ou abandonnées.
This commit is contained in:
@@ -0,0 +1,699 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using MaBibli.Api.Data;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace MaBibli.Api.Data.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(MaBibliDbContext))]
|
||||||
|
[Migration("20260910204753_AjouterEtatSerie")]
|
||||||
|
partial class AjouterEtatSerie
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder.HasAnnotation("ProductVersion", "10.0.11");
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.ArticleUne", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("NumeroRevueId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Position")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("NumeroRevueId", "TitreNormalise")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("ArticlesUne");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Auteur", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("CleRegroupement")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Nom")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("NomNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CleRegroupement")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex("NomNormalise");
|
||||||
|
|
||||||
|
b.ToTable("Auteurs");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.BibliographieMasquee", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("AuteurId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Utilisateur")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Utilisateur", "AuteurId");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "AuteurId", "Utilisateur", "TitreNormalise" }, "IX_BibliographiesMasquees_Auteur_Utilisateur_Titre")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("BibliographiesMasquees");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.ElementSerie", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("LivreId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Numero")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Position")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("SerieId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LivreId");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "SerieId" }, "IX_ElementsSerie_SerieId");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "SerieId", "LivreId" }, "IX_ElementsSerie_SerieId_LivreId")
|
||||||
|
.IsUnique()
|
||||||
|
.HasFilter("\"LivreId\" IS NOT NULL");
|
||||||
|
|
||||||
|
b.ToTable("ElementsSerie");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Livre", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("AjoutePar")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CoverUrl")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateAjout")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Editeur")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Format")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Isbn")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("NombrePages")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("TypeDocument")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("UrlNotice")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Isbn");
|
||||||
|
|
||||||
|
b.HasIndex("TitreNormalise");
|
||||||
|
|
||||||
|
b.ToTable("Livres");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.LivreAuteur", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("LivreId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("AuteurId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Position")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Role")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("LivreId", "AuteurId");
|
||||||
|
|
||||||
|
b.HasIndex("AuteurId");
|
||||||
|
|
||||||
|
b.ToTable("LivreAuteurs");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.LivreSouhaite", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Annee")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Auteur")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("AuteurNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasDefaultValue("");
|
||||||
|
|
||||||
|
b.Property<string>("CoverUrl")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateAjout")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Editeur")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Isbn")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Note")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Rang")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Utilisateur")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "Utilisateur" }, "IX_LivresSouhaites_Utilisateur");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "Utilisateur", "TitreNormalise", "AuteurNormalise" }, "IX_LivresSouhaites_Utilisateur_Oeuvre")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("LivresSouhaites");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.LivreTheme", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("LivreId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("ThemeId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("LivreId", "ThemeId");
|
||||||
|
|
||||||
|
b.HasIndex("ThemeId");
|
||||||
|
|
||||||
|
b.ToTable("LivreThemes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.NumeroRevue", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("CoverUrl")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateAjout")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime?>("DateParution")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Note")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Numero")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("NumeroNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("RevueId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("RevueId", "NumeroNormalise")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("NumerosRevue");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Pret", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DatePret")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime?>("DateRetour")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Emprunteur")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("LivreId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "LivreId" }, "IX_Prets_LivreId");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "LivreId" }, "IX_Prets_LivreId_EnCours")
|
||||||
|
.IsUnique()
|
||||||
|
.HasFilter("\"DateRetour\" IS NULL");
|
||||||
|
|
||||||
|
b.ToTable("Prets");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.RapprochementRefuse", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("AuteurAId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("AuteurBId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("AuteurAId", "AuteurBId")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("RapprochementsRefuses");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Revue", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("AjoutePar")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateAjout")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Editeur")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Issn")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("TitreNormalise")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "Issn" }, "IX_Revues_Issn")
|
||||||
|
.IsUnique()
|
||||||
|
.HasFilter("\"Issn\" IS NOT NULL");
|
||||||
|
|
||||||
|
b.ToTable("Revues");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.RevueSouhaitee", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateAjout")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Issn")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Note")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Numero")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("NumeroNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("TEXT")
|
||||||
|
.HasDefaultValue("");
|
||||||
|
|
||||||
|
b.Property<int>("Rang")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Utilisateur")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "Utilisateur" }, "IX_RevuesSouhaitees_Utilisateur");
|
||||||
|
|
||||||
|
b.HasIndex(new[] { "Utilisateur", "TitreNormalise", "NumeroNormalise" }, "IX_RevuesSouhaitees_Utilisateur_Revue")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("RevuesSouhaitees");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Serie", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("AjoutePar")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateAjout")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Etat")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Position")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int?>("SerieParenteId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Titre")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("TitreNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("SerieParenteId");
|
||||||
|
|
||||||
|
b.HasIndex("TitreNormalise")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Series");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.StatutLecture", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateMaj")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("LivreId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Statut")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Utilisateur")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("Utilisateur");
|
||||||
|
|
||||||
|
b.HasIndex("LivreId", "Utilisateur")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("StatutsLecture");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Theme", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Nom")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("NomNormalise")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("NomNormalise")
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
b.ToTable("Themes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.ArticleUne", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.NumeroRevue", "NumeroRevue")
|
||||||
|
.WithMany("Articles")
|
||||||
|
.HasForeignKey("NumeroRevueId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("NumeroRevue");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.ElementSerie", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Livre", "Livre")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("LivreId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Serie", "Serie")
|
||||||
|
.WithMany("Elements")
|
||||||
|
.HasForeignKey("SerieId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Livre");
|
||||||
|
|
||||||
|
b.Navigation("Serie");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.LivreAuteur", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Auteur", "Auteur")
|
||||||
|
.WithMany("Livres")
|
||||||
|
.HasForeignKey("AuteurId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Livre", "Livre")
|
||||||
|
.WithMany("Auteurs")
|
||||||
|
.HasForeignKey("LivreId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Auteur");
|
||||||
|
|
||||||
|
b.Navigation("Livre");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.LivreTheme", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Livre", "Livre")
|
||||||
|
.WithMany("Themes")
|
||||||
|
.HasForeignKey("LivreId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Theme", "Theme")
|
||||||
|
.WithMany("Livres")
|
||||||
|
.HasForeignKey("ThemeId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Livre");
|
||||||
|
|
||||||
|
b.Navigation("Theme");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.NumeroRevue", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Revue", "Revue")
|
||||||
|
.WithMany("Numeros")
|
||||||
|
.HasForeignKey("RevueId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Revue");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Pret", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Livre", "Livre")
|
||||||
|
.WithMany("Prets")
|
||||||
|
.HasForeignKey("LivreId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Livre");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Serie", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Serie", "SerieParente")
|
||||||
|
.WithMany("SousSeries")
|
||||||
|
.HasForeignKey("SerieParenteId")
|
||||||
|
.OnDelete(DeleteBehavior.SetNull);
|
||||||
|
|
||||||
|
b.Navigation("SerieParente");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.StatutLecture", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("MaBibli.Shared.Entites.Livre", "Livre")
|
||||||
|
.WithMany("Statuts")
|
||||||
|
.HasForeignKey("LivreId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Livre");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Auteur", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Livres");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Livre", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Auteurs");
|
||||||
|
|
||||||
|
b.Navigation("Prets");
|
||||||
|
|
||||||
|
b.Navigation("Statuts");
|
||||||
|
|
||||||
|
b.Navigation("Themes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.NumeroRevue", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Articles");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Revue", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Numeros");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Serie", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Elements");
|
||||||
|
|
||||||
|
b.Navigation("SousSeries");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("MaBibli.Shared.Entites.Theme", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Livres");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace MaBibli.Api.Data.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AjouterEtatSerie : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "Etat",
|
||||||
|
table: "Series",
|
||||||
|
type: "INTEGER",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "Etat",
|
||||||
|
table: "Series");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -465,6 +465,9 @@ namespace MaBibli.Api.Data.Migrations
|
|||||||
b.Property<DateTime>("DateAjout")
|
b.Property<DateTime>("DateAjout")
|
||||||
.HasColumnType("TEXT");
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("Etat")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
b.Property<int>("Position")
|
b.Property<int>("Position")
|
||||||
.HasColumnType("INTEGER");
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,10 @@ else
|
|||||||
var total = Total(_serie);
|
var total = Total(_serie);
|
||||||
<text>@total.Possedes sur @total.Total tomes dans la bibliothèque.</text>
|
<text>@total.Possedes sur @total.Total tomes dans la bibliothèque.</text>
|
||||||
}
|
}
|
||||||
|
@if (_serie.Etat != EtatSerie.EnCours)
|
||||||
|
{
|
||||||
|
<text> — Série @(_serie.Etat == EtatSerie.Terminee ? "terminée" : "abandonnée").</text>
|
||||||
|
}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -472,14 +476,6 @@ else
|
|||||||
<div class="actions-tome">
|
<div class="actions-tome">
|
||||||
@if (!element.Possede)
|
@if (!element.Possede)
|
||||||
{
|
{
|
||||||
@* Le tome manquant est COMMUN au foyer, l'envie qu'il devient est
|
|
||||||
PERSONNELLE : deux membres peuvent vouloir le même tome. *@
|
|
||||||
<button type="button" class="bouton bouton-compact"
|
|
||||||
disabled="@(_enCours || !Reseau.EnLigne)" title="@MotifBlocage"
|
|
||||||
@onclick="() => SouhaiterAsync(element)">
|
|
||||||
Ajouter à mes envies
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button type="button" class="bouton bouton-compact"
|
<button type="button" class="bouton bouton-compact"
|
||||||
disabled="@(_enCours || !Reseau.EnLigne)" title="@MotifBlocage"
|
disabled="@(_enCours || !Reseau.EnLigne)" title="@MotifBlocage"
|
||||||
@onclick="() => OuvrirRattachement(element.Id)">
|
@onclick="() => OuvrirRattachement(element.Id)">
|
||||||
@@ -648,6 +644,15 @@ else
|
|||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<label class="champ">
|
||||||
|
<span class="champ-libelle">État</span>
|
||||||
|
<select class="champ-saisie" @bind="_etat">
|
||||||
|
<option value="@EtatSerie.EnCours">En cours — d'autres tomes à venir</option>
|
||||||
|
<option value="@EtatSerie.Terminee">Terminée — pas d'autres tomes</option>
|
||||||
|
<option value="@EtatSerie.Abandonnee">Abandonnée — arrêtée sans conclusion</option>
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
|
||||||
<div class="actions-formulaire">
|
<div class="actions-formulaire">
|
||||||
<button type="button" class="bouton bouton-principal"
|
<button type="button" class="bouton bouton-principal"
|
||||||
disabled="@(_enCours || !Reseau.EnLigne || string.IsNullOrWhiteSpace(_titre))"
|
disabled="@(_enCours || !Reseau.EnLigne || string.IsNullOrWhiteSpace(_titre))"
|
||||||
@@ -709,6 +714,7 @@ else
|
|||||||
|
|
||||||
private string _titre = string.Empty;
|
private string _titre = string.Empty;
|
||||||
private int _parenteId;
|
private int _parenteId;
|
||||||
|
private EtatSerie _etat = EtatSerie.EnCours;
|
||||||
private bool _confirmeSuppression;
|
private bool _confirmeSuppression;
|
||||||
|
|
||||||
private string _nouveauTome = string.Empty;
|
private string _nouveauTome = string.Empty;
|
||||||
@@ -1138,6 +1144,7 @@ else
|
|||||||
|
|
||||||
_titre = _serie.Titre;
|
_titre = _serie.Titre;
|
||||||
_parenteId = _serie.SerieParenteId ?? 0;
|
_parenteId = _serie.SerieParenteId ?? 0;
|
||||||
|
_etat = _serie.Etat;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Remplace la série courante par celle que vient de rendre le serveur.</summary>
|
/// <summary>Remplace la série courante par celle que vient de rendre le serveur.</summary>
|
||||||
@@ -1533,7 +1540,12 @@ else
|
|||||||
private async Task EnregistrerAsync()
|
private async Task EnregistrerAsync()
|
||||||
{
|
{
|
||||||
await EcrireAsync(() => Api.ModifierSerieAsync(
|
await EcrireAsync(() => Api.ModifierSerieAsync(
|
||||||
Id, new EnregistrementSerie { Titre = _titre, SerieParenteId = _parenteId == 0 ? null : _parenteId }));
|
Id, new EnregistrementSerie
|
||||||
|
{
|
||||||
|
Titre = _titre,
|
||||||
|
SerieParenteId = _parenteId == 0 ? null : _parenteId,
|
||||||
|
Etat = _etat
|
||||||
|
}));
|
||||||
|
|
||||||
if (_erreur is null)
|
if (_erreur is null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
using MaBibli.Shared.Entites;
|
||||||
|
|
||||||
namespace MaBibli.Shared.Dtos;
|
namespace MaBibli.Shared.Dtos;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -27,6 +29,9 @@ public record SerieDto
|
|||||||
/// <summary>Qui a créé la série. Trace d'affichage : la série est commune au foyer.</summary>
|
/// <summary>Qui a créé la série. Trace d'affichage : la série est commune au foyer.</summary>
|
||||||
public string? AjoutePar { get; init; }
|
public string? AjoutePar { get; init; }
|
||||||
|
|
||||||
|
/// <summary>État de progression de la série (en cours, terminée, abandonnée).</summary>
|
||||||
|
public EtatSerie Etat { get; init; } = EtatSerie.EnCours;
|
||||||
|
|
||||||
/// <summary>Tomes possédés sur tomes recensés — « 4 sur 7 », le cœur de l'écran.</summary>
|
/// <summary>Tomes possédés sur tomes recensés — « 4 sur 7 », le cœur de l'écran.</summary>
|
||||||
public int NombrePossedes => Elements.Count(e => e.Possede);
|
public int NombrePossedes => Elements.Count(e => e.Possede);
|
||||||
}
|
}
|
||||||
@@ -68,6 +73,9 @@ public record EnregistrementSerie
|
|||||||
|
|
||||||
/// <summary>Série parente, pour ranger une trilogie dans un cycle. <c>null</c> = à la racine.</summary>
|
/// <summary>Série parente, pour ranger une trilogie dans un cycle. <c>null</c> = à la racine.</summary>
|
||||||
public int? SerieParenteId { get; set; }
|
public int? SerieParenteId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>État de progression de la série (en cours, terminée, abandonnée).</summary>
|
||||||
|
public EtatSerie Etat { get; set; } = EtatSerie.EnCours;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
namespace MaBibli.Shared.Entites;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// État de progression d'une série.
|
||||||
|
/// </summary>
|
||||||
|
public enum EtatSerie
|
||||||
|
{
|
||||||
|
EnCours = 0,
|
||||||
|
Terminee = 1,
|
||||||
|
Abandonnee = 2,
|
||||||
|
}
|
||||||
@@ -61,6 +61,9 @@ public class Serie
|
|||||||
/// <summary>Qui a créé la série. <b>Trace, pas frontière</b> : la série est commune.</summary>
|
/// <summary>Qui a créé la série. <b>Trace, pas frontière</b> : la série est commune.</summary>
|
||||||
public string? AjoutePar { get; set; }
|
public string? AjoutePar { get; set; }
|
||||||
|
|
||||||
|
/// <summary>État de progression de la série (en cours, terminée, abandonnée).</summary>
|
||||||
|
public EtatSerie Etat { get; set; } = EtatSerie.EnCours;
|
||||||
|
|
||||||
public void RecalculerFormes()
|
public void RecalculerFormes()
|
||||||
{
|
{
|
||||||
Titre = Titre.Trim();
|
Titre = Titre.Trim();
|
||||||
|
|||||||
Reference in New Issue
Block a user