Files
SIFINANCE/SIFinance.Shared/Entities/SIFinanceDbContext.cs
T
2026-09-11 14:55:41 +02:00

1195 lines
51 KiB
C#

using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace SIFinance.Shared.Entities;
public partial class SIFinanceDbContext : DbContext
{
public SIFinanceDbContext()
{
}
public SIFinanceDbContext(DbContextOptions<SIFinanceDbContext> options)
: base(options)
{
}
public virtual DbSet<Acompte> Acomptes { get; set; }
public virtual DbSet<UtilisateurRole> UtilisateurRoles { get; set; }
public virtual DbSet<AffectationsAvoir> AffectationsAvoirs { get; set; }
public virtual DbSet<Audit> Audits { get; set; }
public virtual DbSet<Avoir> Avoirs { get; set; }
public virtual DbSet<BudgetService> BudgetsServices { get; set; }
public virtual DbSet<BudgetServiceRevision> BudgetServiceRevisions { get; set; }
public virtual DbSet<Campus> Campus { get; set; }
public virtual DbSet<ContratFournisseurHistorique> ContratsFournisseursHistorique { get; set; }
public virtual DbSet<ContratFournisseur> ContratsFournisseurs { get; set; }
public virtual DbSet<ContratEcheance> ContratEcheances { get; set; }
public virtual DbSet<DemandesAchat> DemandesAchats { get; set; }
public virtual DbSet<Facture> Factures { get; set; }
public virtual DbSet<FichiersXml> FichiersXmls { get; set; }
public virtual DbSet<Fournisseur> Fournisseurs { get; set; }
public virtual DbSet<HistoriqueAction> HistoriqueActions { get; set; }
public virtual DbSet<ModesPaiement> ModesPaiements { get; set; }
public virtual DbSet<Paiement> Paiements { get; set; }
public virtual DbSet<Parametre> Parametres { get; set; }
public virtual DbSet<PiecesJointe> PiecesJointes { get; set; }
public virtual DbSet<Rapprochement> Rapprochements { get; set; }
public virtual DbSet<Service> Services { get; set; }
public virtual DbSet<TypesDepense> TypesDepenses { get; set; }
public virtual DbSet<Utilisateur> Utilisateurs { get; set; }
public virtual DbSet<Organisme> Organismes { get; set; }
public virtual DbSet<ContratPrestataire> ContratsPrestataires { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// Ne s'applique qu'aux outils design-time (ex: dotnet ef migrations) qui instancient
// le DbContext sans passer par la DI. En production/dev, les options viennent de
// Program.cs (AddDbContext) et ne doivent pas être écrasées ici.
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer("Server=192.168.0.3,1433;Database=SIFinance;Trusted_Connection=True;TrustServerCertificate=True;Connection Lifetime=60;Min Pool Size=4");
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Acompte>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__acomptes__3213E83F0A5FDF52");
entity.ToTable("acomptes", "fin");
entity.HasIndex(e => e.FactureId, "IX_aco_facture");
entity.HasIndex(e => e.JustificatifId, "IX_aco_justif");
entity.HasIndex(e => e.SaisieParId, "IX_aco_saisie_par");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Commentaire)
.HasMaxLength(500)
.IsUnicode(false)
.HasColumnName("commentaire");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.DatePrevue).HasColumnName("date_prevue");
entity.Property(e => e.DateVerse).HasColumnName("date_verse");
entity.Property(e => e.FactureId).HasColumnName("facture_id");
entity.Property(e => e.JustificatifId).HasColumnName("justificatif_id");
entity.Property(e => e.Montant)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant");
entity.Property(e => e.SaisieParId).HasColumnName("saisie_par_id");
entity.Property(e => e.Statut)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("PREVU")
.HasColumnName("statut");
entity.HasOne(d => d.Facture).WithMany(p => p.Acomptes)
.HasForeignKey(d => d.FactureId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__acomptes__factur__01142BA1");
entity.HasOne(d => d.Justificatif).WithMany(p => p.Acomptes)
.HasForeignKey(d => d.JustificatifId)
.HasConstraintName("FK__acomptes__justif__02084FDA");
entity.HasOne(d => d.SaisiePar).WithMany(p => p.Acomptes)
.HasForeignKey(d => d.SaisieParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__acomptes__saisie__02FC7413");
});
modelBuilder.Entity<AffectationsAvoir>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__affectat__3213E83FEA440C49");
entity.ToTable("affectations_avoir", "fin");
entity.HasIndex(e => e.AffecteParId, "IX_aff_affecte_par");
entity.HasIndex(e => e.AvoirId, "IX_aff_avoir");
entity.HasIndex(e => e.FactureId, "IX_aff_facture");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.AffecteParId).HasColumnName("affecte_par_id");
entity.Property(e => e.AvoirId).HasColumnName("avoir_id");
entity.Property(e => e.DateAffectation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_affectation");
entity.Property(e => e.FactureId).HasColumnName("facture_id");
entity.Property(e => e.MontantAffecte)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_affecte");
entity.HasOne(d => d.AffectePar).WithMany(p => p.AffectationsAvoirs)
.HasForeignKey(d => d.AffecteParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__affectati__affec__09A971A2");
entity.HasOne(d => d.Avoir).WithMany(p => p.AffectationsAvoirs)
.HasForeignKey(d => d.AvoirId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__affectati__avoir__07C12930");
entity.HasOne(d => d.Facture).WithMany(p => p.AffectationsAvoirs)
.HasForeignKey(d => d.FactureId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__affectati__factu__08B54D69");
});
modelBuilder.Entity<Audit>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__audit__3213E83F12911979");
entity.ToTable("audit", "core");
entity.HasIndex(e => new { e.EntiteType, e.EntiteId }, "IX_audit_entite");
entity.HasIndex(e => e.UtilisateurId, "IX_audit_utilisateur");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Action)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("action");
entity.Property(e => e.DateAction)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_action");
entity.Property(e => e.DetailJson)
.IsUnicode(false)
.HasColumnName("detail_json");
entity.Property(e => e.EntiteId).HasColumnName("entite_id");
entity.Property(e => e.EntiteType)
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnName("entite_type");
entity.Property(e => e.IpAdresse)
.HasMaxLength(45)
.IsUnicode(false)
.HasColumnName("ip_adresse");
entity.Property(e => e.UtilisateurId).HasColumnName("utilisateur_id");
entity.HasOne(d => d.Utilisateur).WithMany(p => p.Audits)
.HasForeignKey(d => d.UtilisateurId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__audit__utilisate__71D1E811");
});
modelBuilder.Entity<Avoir>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__avoirs__3213E83FA6ADF4CA");
entity.ToTable("avoirs", "fin");
entity.HasIndex(e => e.FactureId, "IX_avo_facture");
entity.HasIndex(e => e.FournisseurId, "IX_avo_fournisseur");
entity.HasIndex(e => e.JustificatifId, "IX_avo_justif");
entity.HasIndex(e => e.SaisieParId, "IX_avo_saisie_par");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.DateAvoir).HasColumnName("date_avoir");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.FactureId).HasColumnName("facture_id");
entity.Property(e => e.FournisseurId).HasColumnName("fournisseur_id");
entity.Property(e => e.JustificatifId).HasColumnName("justificatif_id");
entity.Property(e => e.MontantInitial)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_initial");
entity.Property(e => e.NumeroAvoir)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("numero_avoir");
entity.Property(e => e.SaisieParId).HasColumnName("saisie_par_id");
entity.Property(e => e.SoldeDisponible)
.HasColumnType("decimal(18, 2)")
.HasColumnName("solde_disponible");
entity.HasOne(d => d.Facture).WithMany(p => p.Avoirs)
.HasForeignKey(d => d.FactureId)
.HasConstraintName("FK__avoirs__facture___04E4BC85");
entity.HasOne(d => d.Fournisseur).WithMany(p => p.Avoirs)
.HasForeignKey(d => d.FournisseurId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__avoirs__fourniss__03F0984C");
entity.HasOne(d => d.Justificatif).WithMany(p => p.Avoirs)
.HasForeignKey(d => d.JustificatifId)
.HasConstraintName("FK__avoirs__justific__05D8E0BE");
entity.HasOne(d => d.SaisiePar).WithMany(p => p.Avoirs)
.HasForeignKey(d => d.SaisieParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__avoirs__saisie_p__06CD04F7");
});
modelBuilder.Entity<ContratFournisseur>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__contrats_fournisseurs");
entity.ToTable("contrats_fournisseurs", "achats");
entity.HasIndex(e => e.FournisseurId, "IX_ctf_fournisseur");
entity.HasIndex(e => e.SaisieParId, "IX_ctf_saisie_par");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.FournisseurId).HasColumnName("fournisseur_id");
entity.Property(e => e.ServiceId).HasColumnName("service_id");
entity.Property(e => e.CampusId).HasColumnName("campus_id");
entity.Property(e => e.Reference)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("reference");
entity.Property(e => e.Objet)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("objet");
entity.Property(e => e.DateSignature).HasColumnName("date_signature");
entity.Property(e => e.DateDebut).HasColumnName("date_debut");
entity.Property(e => e.DateFin).HasColumnName("date_fin");
entity.Property(e => e.DateResiliation).HasColumnName("date_resiliation");
entity.Property(e => e.MotifResiliation).HasMaxLength(500).IsUnicode(false).HasColumnName("motif_resiliation");
entity.Property(e => e.MontantTotal)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_total");
entity.Property(e => e.Periodicite)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("mensuelle")
.HasColumnName("periodicite");
entity.Property(e => e.Statut)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("ACTIF")
.HasColumnName("statut");
entity.Property(e => e.SaisieParId).HasColumnName("saisie_par_id");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.DateDerniereMaj)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_derniere_maj");
entity.HasOne(d => d.Fournisseur).WithMany(p => p.ContratsFournisseurs)
.HasForeignKey(d => d.FournisseurId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__contrats_fournisseurs__fournisseur");
entity.HasOne(d => d.SaisiePar).WithMany(p => p.ContratsFournisseurs)
.HasForeignKey(d => d.SaisieParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__contrats_fournisseurs__saisie_par");
entity.HasOne(d => d.Service).WithMany()
.HasForeignKey(d => d.ServiceId)
.HasConstraintName("FK_contrats_fournisseurs_service");
entity.HasOne(d => d.Campus).WithMany(p => p.ContratsFournisseurs)
.HasForeignKey(d => d.CampusId)
.HasConstraintName("FK_contrats_fournisseurs_campus");
});
modelBuilder.Entity<Campus>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK_campus");
entity.ToTable("campus", "ref");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Libelle).HasMaxLength(100).IsUnicode(false).HasColumnName("libelle");
entity.Property(e => e.Actif).HasColumnName("actif");
});
modelBuilder.Entity<ContratFournisseurHistorique>(entity =>
{
entity.HasKey(e => e.Id);
entity.ToTable("contrats_fournisseurs_historique", "achats");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.ContratId).HasColumnName("contrat_id");
entity.Property(e => e.AncienStatut).HasMaxLength(20).IsUnicode(false).HasColumnName("ancien_statut");
entity.Property(e => e.NouveauStatut).HasMaxLength(20).IsUnicode(false).HasColumnName("nouveau_statut");
entity.Property(e => e.Commentaire).HasMaxLength(1000).HasColumnName("commentaire");
entity.Property(e => e.UtilisateurId).HasColumnName("utilisateur_id");
entity.Property(e => e.DateAction).HasColumnType("datetime").HasColumnName("date_action");
entity.HasOne(e => e.Contrat).WithMany(c => c.Historique).HasForeignKey(e => e.ContratId);
entity.HasOne(e => e.Utilisateur).WithMany().HasForeignKey(e => e.UtilisateurId);
});
modelBuilder.Entity<ContratEcheance>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__contrats_echeances");
entity.ToTable("contrats_echeances", "achats");
entity.HasIndex(e => e.ContratId, "IX_cte_contrat");
entity.HasIndex(e => e.JustificatifId, "IX_cte_justif");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.ContratId).HasColumnName("contrat_id");
entity.Property(e => e.DateEcheance).HasColumnName("date_echeance");
entity.Property(e => e.Montant)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant");
entity.Property(e => e.Statut)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("A_VENIR")
.HasColumnName("statut");
entity.Property(e => e.JustificatifId).HasColumnName("justificatif_id");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.HasOne(d => d.Contrat).WithMany(p => p.Echeances)
.HasForeignKey(d => d.ContratId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK__contrats_echeances__contrat");
entity.HasOne(d => d.Justificatif).WithMany(p => p.ContratEcheances)
.HasForeignKey(d => d.JustificatifId)
.HasConstraintName("FK__contrats_echeances__justificatif");
});
modelBuilder.Entity<DemandesAchat>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__demandes__3213E83FB1E63F22");
entity.ToTable("demandes_achat", "achats");
entity.HasIndex(e => e.DemandeurId, "IX_da_demandeur");
entity.HasIndex(e => e.FournisseurId, "IX_da_fournisseur");
entity.HasIndex(e => e.ModePaiementId, "IX_da_mode_paiement");
entity.HasIndex(e => e.ServiceId, "IX_da_service");
entity.HasIndex(e => e.Statut, "IX_da_statut");
entity.HasIndex(e => e.TypeDepenseId, "IX_da_type_depense");
entity.HasIndex(e => e.ValideurId, "IX_da_valideur");
entity.HasIndex(e => e.Reference, "UQ__demandes__FD90DA99FE701252").IsUnique();
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.DateDerniereMaj)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_derniere_maj");
entity.Property(e => e.DatePrevisionnelle).HasColumnName("date_previsionnelle");
entity.Property(e => e.DateSoumission)
.HasColumnType("datetime")
.HasColumnName("date_soumission");
entity.Property(e => e.DemandeurId).HasColumnName("demandeur_id");
entity.Property(e => e.Description)
.IsUnicode(false)
.HasColumnName("description");
entity.Property(e => e.FournisseurId).HasColumnName("fournisseur_id");
entity.Property(e => e.FournisseurLibre)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("fournisseur_libre");
entity.Property(e => e.CategorieFournisseurLibre)
.HasMaxLength(100)
.HasColumnName("categorie_fournisseur_libre");
entity.Property(e => e.ModePaiementId).HasColumnName("mode_paiement_id");
entity.Property(e => e.MontantHt)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_ht");
entity.Property(e => e.MontantTtc)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_ttc");
entity.Property(e => e.MontantTva)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_tva");
entity.Property(e => e.Objet)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("objet");
entity.Property(e => e.Reference)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("reference");
entity.Property(e => e.ServiceId).HasColumnName("service_id");
entity.Property(e => e.SeuilApplicable)
.HasColumnType("decimal(18, 2)")
.HasColumnName("seuil_applicable");
entity.Property(e => e.Statut)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("statut");
entity.Property(e => e.TauxTva)
.HasDefaultValue(20m)
.HasColumnType("decimal(5, 2)")
.HasColumnName("taux_tva");
entity.Property(e => e.TypeDepenseId).HasColumnName("type_depense_id");
entity.Property(e => e.ValideurId).HasColumnName("valideur_id");
entity.HasOne(d => d.Demandeur).WithMany(p => p.DemandesAchatDemandeurs)
.HasForeignKey(d => d.DemandeurId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__demandes___deman__787EE5A0");
entity.HasOne(d => d.Fournisseur).WithMany(p => p.DemandesAchats)
.HasForeignKey(d => d.FournisseurId)
.HasConstraintName("FK__demandes___fourn__75A278F5");
entity.HasOne(d => d.ModePaiement).WithMany(p => p.DemandesAchats)
.HasForeignKey(d => d.ModePaiementId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__demandes___mode___778AC167");
entity.HasOne(d => d.Service).WithMany(p => p.DemandesAchats)
.HasForeignKey(d => d.ServiceId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__demandes___servi__74AE54BC");
entity.HasOne(d => d.TypeDepense).WithMany(p => p.DemandesAchats)
.HasForeignKey(d => d.TypeDepenseId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__demandes___type___76969D2E");
entity.HasOne(d => d.Valideur).WithMany(p => p.DemandesAchatValideurs)
.HasForeignKey(d => d.ValideurId)
.HasConstraintName("FK__demandes___valid__797309D9");
});
modelBuilder.Entity<BudgetService>(entity =>
{
entity.ToTable("budgets_service", "achats");
entity.HasIndex(e => new { e.ServiceId, e.ExerciceAnnee }, "IX_budgets_service_unique").IsUnique();
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.ServiceId).HasColumnName("service_id");
entity.Property(e => e.ExerciceAnnee).HasColumnName("exercice_annee");
entity.Property(e => e.MontantInitial)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_initial");
entity.Property(e => e.SaisieParId).HasColumnName("saisie_par_id");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.DateDerniereMaj)
.HasColumnType("datetime")
.HasColumnName("date_derniere_maj");
entity.HasOne(d => d.Service).WithMany()
.HasForeignKey(d => d.ServiceId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_budgets_service_service");
entity.HasOne(d => d.SaisiePar).WithMany()
.HasForeignKey(d => d.SaisieParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_budgets_service_saisie_par");
});
modelBuilder.Entity<BudgetServiceRevision>(entity =>
{
entity.ToTable("budgets_service_revisions", "achats");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.BudgetServiceId).HasColumnName("budget_service_id");
entity.Property(e => e.MontantRevise)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_revise");
entity.Property(e => e.Commentaire)
.HasMaxLength(1000)
.HasColumnName("commentaire");
entity.Property(e => e.RevisePar).HasColumnName("revise_par");
entity.Property(e => e.DateRevision)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_revision");
entity.HasOne(d => d.BudgetService).WithMany(p => p.Revisions)
.HasForeignKey(d => d.BudgetServiceId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_budgets_service_revisions_budget");
entity.HasOne(d => d.ReviseParUtilisateur).WithMany()
.HasForeignKey(d => d.RevisePar)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_budgets_service_revisions_revise_par");
});
modelBuilder.Entity<Facture>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__factures__3213E83F68386F7E");
entity.ToTable("factures", "fin");
entity.HasIndex(e => e.CategorieDepenseId, "IX_fac_categorie");
entity.HasIndex(e => e.DemandeAchatId, "IX_fac_demande");
entity.HasIndex(e => e.FournisseurId, "IX_fac_fournisseur");
entity.HasIndex(e => e.ModePaiementId, "IX_fac_mode_paiement");
entity.HasIndex(e => e.SaisieParId, "IX_fac_saisie_par");
entity.HasIndex(e => e.ServiceId, "IX_fac_service");
entity.HasIndex(e => e.Statut, "IX_fac_statut");
entity.HasIndex(e => e.ValideBapParId, "IX_fac_valide_bap");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.CategorieDepenseId).HasColumnName("categorie_depense_id");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.DateDerniereMaj)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_derniere_maj");
entity.Property(e => e.DateEcheance).HasColumnName("date_echeance");
entity.Property(e => e.DateFacture).HasColumnName("date_facture");
entity.Property(e => e.DateValidationBap)
.HasColumnType("datetime")
.HasColumnName("date_validation_bap");
entity.Property(e => e.DemandeAchatId).HasColumnName("demande_achat_id");
entity.Property(e => e.ContratId).HasColumnName("contrat_id");
entity.Property(e => e.EstDoublonSignale)
.HasDefaultValue(false)
.HasColumnName("est_doublon_signale");
entity.Property(e => e.Commentaire)
.HasMaxLength(1000)
.HasColumnName("commentaire");
entity.Property(e => e.FournisseurId).HasColumnName("fournisseur_id");
entity.Property(e => e.ModePaiementId).HasColumnName("mode_paiement_id");
entity.Property(e => e.MontantHt)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_ht");
entity.Property(e => e.MontantTtc)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_ttc");
entity.Property(e => e.MontantTva)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_tva");
entity.Property(e => e.NumeroFacture)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("numero_facture");
entity.Property(e => e.SaisieParId).HasColumnName("saisie_par_id");
entity.Property(e => e.ServiceId).HasColumnName("service_id");
entity.Property(e => e.SourceType)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("source_type");
entity.Property(e => e.Statut)
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnName("statut");
entity.Property(e => e.TauxTva)
.HasColumnType("decimal(5, 2)")
.HasColumnName("taux_tva");
entity.Property(e => e.ValideBapParId).HasColumnName("valide_bap_par_id");
entity.HasOne(d => d.CategorieDepense).WithMany(p => p.Factures)
.HasForeignKey(d => d.CategorieDepenseId)
.HasConstraintName("FK__factures__catego__7C4F7684");
entity.HasOne(d => d.DemandeAchat).WithMany(p => p.Factures)
.HasForeignKey(d => d.DemandeAchatId)
.HasConstraintName("FK__factures__demand__7A672E12");
entity.HasOne(d => d.Contrat).WithMany(p => p.Factures)
.HasForeignKey(d => d.ContratId)
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_factures_contrat");
entity.HasOne(d => d.Fournisseur).WithMany(p => p.Factures)
.HasForeignKey(d => d.FournisseurId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__factures__fourni__7B5B524B");
entity.HasOne(d => d.ModePaiement).WithMany(p => p.Factures)
.HasForeignKey(d => d.ModePaiementId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__factures__mode_p__7E37BEF6");
entity.HasOne(d => d.SaisiePar).WithMany(p => p.FactureSaisiePars)
.HasForeignKey(d => d.SaisieParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__factures__saisie__7F2BE32F");
entity.HasOne(d => d.Service).WithMany(p => p.Factures)
.HasForeignKey(d => d.ServiceId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__factures__servic__7D439ABD");
entity.HasOne(d => d.ValideBapPar).WithMany(p => p.FactureValideBapPars)
.HasForeignKey(d => d.ValideBapParId)
.HasConstraintName("FK__factures__valide__00200768");
});
modelBuilder.Entity<FichiersXml>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__fichiers__3213E83FEE8C3E2D");
entity.ToTable("fichiers_xml", "fin");
entity.HasIndex(e => e.GenereParId, "IX_xml_genere_par");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.DateGeneration)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_generation");
entity.Property(e => e.GenereParId).HasColumnName("genere_par_id");
entity.Property(e => e.MontantTotal)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_total");
entity.Property(e => e.NomFichier)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("nom_fichier");
entity.Property(e => e.NombreVirements).HasColumnName("nombre_virements");
entity.Property(e => e.SharepointUrl)
.HasMaxLength(999)
.IsUnicode(false)
.HasColumnName("sharepoint_url");
entity.HasOne(d => d.GenerePar).WithMany(p => p.FichiersXmls)
.HasForeignKey(d => d.GenereParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__fichiers___gener__0A9D95DB");
});
modelBuilder.Entity<Fournisseur>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__fourniss__3213E83F16CB24B1");
entity.ToTable("fournisseurs", "ref");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Adresse)
.HasMaxLength(500)
.IsUnicode(false)
.HasColumnName("adresse");
entity.Property(e => e.Bic)
.HasMaxLength(11)
.IsUnicode(false)
.HasColumnName("bic");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.Email)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("email");
entity.Property(e => e.IbanChiffre)
.HasMaxLength(256)
.HasColumnName("iban_chiffre");
entity.Property(e => e.RaisonSociale)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("raison_sociale");
entity.Property(e => e.Siret)
.HasMaxLength(14)
.IsUnicode(false)
.HasColumnName("siret");
entity.Property(e => e.Statut)
.HasMaxLength(10)
.IsUnicode(false)
.HasDefaultValue("ACTIF")
.HasColumnName("statut");
entity.Property(e => e.Telephone)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("telephone");
entity.Property(e => e.TitulaireCompte)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("titulaire_compte");
});
modelBuilder.Entity<HistoriqueAction>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__historiq__3213E83FB787CC6E");
entity.ToTable("historique_actions", "core");
entity.HasIndex(e => new { e.EntiteType, e.EntiteId }, "IX_histo_entite");
entity.HasIndex(e => e.UtilisateurId, "IX_histo_utilisateur");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Action)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("action");
entity.Property(e => e.AncienStatut)
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnName("ancien_statut");
entity.Property(e => e.Commentaire)
.IsUnicode(false)
.HasColumnName("commentaire");
entity.Property(e => e.DateAction)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_action");
entity.Property(e => e.EntiteId).HasColumnName("entite_id");
entity.Property(e => e.EntiteType)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("entite_type");
entity.Property(e => e.NouveauStatut)
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnName("nouveau_statut");
entity.Property(e => e.UtilisateurId).HasColumnName("utilisateur_id");
entity.HasOne(d => d.Utilisateur).WithMany(p => p.HistoriqueActions)
.HasForeignKey(d => d.UtilisateurId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__historiqu__utili__73BA3083");
});
modelBuilder.Entity<ModesPaiement>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__modes_pa__3213E83F2F37EC08");
entity.ToTable("modes_paiement", "ref");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Actif)
.HasDefaultValue(true)
.HasColumnName("actif");
entity.Property(e => e.Libelle)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("libelle");
entity.Property(e => e.NecessiteXml).HasColumnName("necessite_xml");
});
modelBuilder.Entity<Paiement>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__paiement__3213E83F4F594948");
entity.ToTable("paiements", "fin");
entity.HasIndex(e => e.EnregistreParId, "IX_pai_enregistre_par");
entity.HasIndex(e => e.FactureId, "IX_pai_facture");
entity.HasIndex(e => e.ModeReglementId, "IX_pai_mode");
entity.HasIndex(e => e.FichierXmlId, "IX_pai_xml");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.DatePaiement).HasColumnName("date_paiement");
entity.Property(e => e.DateSaisie)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_saisie");
entity.Property(e => e.EnregistreParId).HasColumnName("enregistre_par_id");
entity.Property(e => e.FactureId).HasColumnName("facture_id");
entity.Property(e => e.FichierXmlId).HasColumnName("fichier_xml_id");
entity.Property(e => e.ModeReglementId).HasColumnName("mode_reglement_id");
entity.Property(e => e.MontantPaye)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_paye");
entity.Property(e => e.ReferencePaiement)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("reference_paiement");
entity.Property(e => e.Statut)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("PROGRAMME")
.HasColumnName("statut");
entity.Property(e => e.Rapproche)
.HasDefaultValue(false)
.HasColumnName("rapproche");
entity.HasOne(d => d.EnregistrePar).WithMany(p => p.Paiements)
.HasForeignKey(d => d.EnregistreParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__paiements__enreg__0E6E26BF");
entity.HasOne(d => d.Facture).WithMany(p => p.Paiements)
.HasForeignKey(d => d.FactureId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__paiements__factu__0B91BA14");
entity.HasOne(d => d.FichierXml).WithMany(p => p.Paiements)
.HasForeignKey(d => d.FichierXmlId)
.HasConstraintName("FK__paiements__fichi__0D7A0286");
entity.HasOne(d => d.ModeReglement).WithMany(p => p.Paiements)
.HasForeignKey(d => d.ModeReglementId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__paiements__mode___0C85DE4D");
});
modelBuilder.Entity<Parametre>(entity =>
{
entity.HasKey(e => e.Cle).HasName("PK__parametr__D837B8B8460C2DCC");
entity.ToTable("parametres", "core");
entity.HasIndex(e => e.ModifiePar, "IX_parametres_modifie_par");
entity.Property(e => e.Cle)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("cle");
entity.Property(e => e.DateModif)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_modif");
entity.Property(e => e.Description)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("description");
entity.Property(e => e.ModifiePar).HasColumnName("modifie_par");
entity.Property(e => e.Valeur)
.HasMaxLength(500)
.IsUnicode(false)
.HasColumnName("valeur");
entity.HasOne(d => d.ModifieParNavigation).WithMany(p => p.Parametres)
.HasForeignKey(d => d.ModifiePar)
.HasConstraintName("FK__parametre__modif__70DDC3D8");
});
modelBuilder.Entity<PiecesJointe>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__pieces_j__3213E83F9643E6F1");
entity.ToTable("pieces_jointes", "core");
entity.HasIndex(e => new { e.EntiteType, e.EntiteId }, "IX_pj_entite");
entity.HasIndex(e => e.UploaderId, "IX_pj_uploader");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.DateUpload)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_upload");
entity.Property(e => e.EntiteId).HasColumnName("entite_id");
entity.Property(e => e.EntiteType)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("entite_type");
entity.Property(e => e.NomFichier)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("nom_fichier");
entity.Property(e => e.SharepointItemId)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("sharepoint_item_id");
entity.Property(e => e.SharepointUrl)
.HasMaxLength(999)
.IsUnicode(false)
.HasColumnName("sharepoint_url");
entity.Property(e => e.TailleOctets).HasColumnName("taille_octets");
entity.Property(e => e.TypePiece)
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnName("type_piece");
entity.Property(e => e.UploaderId).HasColumnName("uploader_id");
entity.HasOne(d => d.Uploader).WithMany(p => p.PiecesJointes)
.HasForeignKey(d => d.UploaderId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__pieces_jo__uploa__72C60C4A");
});
modelBuilder.Entity<Rapprochement>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__rapproch__3213E83F92CAA2D1");
entity.ToTable("rapprochement", "fin");
entity.HasIndex(e => e.PaiementId, "IX_rap_paiement");
entity.HasIndex(e => e.TraiteParId, "IX_rap_traite_par");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Commentaire)
.HasMaxLength(500)
.IsUnicode(false)
.HasColumnName("commentaire");
entity.Property(e => e.DateOperationBanq).HasColumnName("date_operation_banq");
entity.Property(e => e.DateTraitement)
.HasColumnType("datetime")
.HasColumnName("date_traitement");
entity.Property(e => e.LibelleBanque)
.HasMaxLength(500)
.IsUnicode(false)
.HasColumnName("libelle_banque");
entity.Property(e => e.MontantBanque)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_banque");
entity.Property(e => e.PaiementId).HasColumnName("paiement_id");
entity.Property(e => e.ReferenceBancaire)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("reference_bancaire");
entity.Property(e => e.Statut)
.HasMaxLength(30)
.IsUnicode(false)
.HasDefaultValue("A_RAPPROCHER")
.HasColumnName("statut");
entity.Property(e => e.TraiteParId).HasColumnName("traite_par_id");
entity.HasOne(d => d.Paiement).WithMany(p => p.Rapprochements)
.HasForeignKey(d => d.PaiementId)
.HasConstraintName("FK__rapproche__paiem__0F624AF8");
entity.HasOne(d => d.TraitePar).WithMany(p => p.Rapprochements)
.HasForeignKey(d => d.TraiteParId)
.HasConstraintName("FK__rapproche__trait__10566F31");
});
modelBuilder.Entity<Service>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__services__3213E83FFB9EB51B");
entity.ToTable("services", "ref");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Actif)
.HasDefaultValue(true)
.HasColumnName("actif");
entity.Property(e => e.Libelle)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("libelle");
});
modelBuilder.Entity<TypesDepense>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__types_de__3213E83FC8C79A18");
entity.ToTable("types_depense", "ref");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Actif)
.HasDefaultValue(true)
.HasColumnName("actif");
entity.Property(e => e.Libelle)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("libelle");
entity.Property(e => e.EstMateriel)
.HasDefaultValue(false)
.HasColumnName("est_materiel");
});
modelBuilder.Entity<Utilisateur>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__utilisat__3213E83F466D0E1A");
entity.ToTable("utilisateurs", "core");
entity.HasIndex(e => e.ServiceId, "IX_utilisateurs_service");
entity.HasIndex(e => e.AzureOid, "UQ__utilisat__2C305FD1B8914BF0").IsUnique();
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Actif)
.HasDefaultValue(true)
.HasColumnName("actif");
entity.Property(e => e.AzureOid)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("azure_oid");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.Property(e => e.DateDerniereConnexion)
.HasColumnType("datetime")
.HasColumnName("date_derniere_connexion");
entity.Property(e => e.Email)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("email");
entity.Property(e => e.Nom)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("nom");
entity.Property(e => e.Prenom)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("prenom");
entity.Property(e => e.Profil)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("profil");
entity.Property(e => e.ServiceId).HasColumnName("service_id");
entity.Property(e => e.ResponsableId).HasColumnName("responsable_id");
entity.HasOne(d => d.Service).WithMany(p => p.Utilisateurs)
.HasForeignKey(d => d.ServiceId)
.HasConstraintName("FK__utilisate__servi__6FE99F9F");
entity.HasOne(d => d.Responsable).WithMany(p => p.Collaborateurs)
.HasForeignKey(d => d.ResponsableId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__utilisateurs__responsable");
});
modelBuilder.Entity<UtilisateurRole>(entity =>
{
entity.HasKey(e => new { e.AzureOid, e.Role }).HasName("PK_utilisateur_roles");
entity.ToTable("utilisateur_roles", "core");
entity.Property(e => e.AzureOid)
.HasMaxLength(100)
.IsUnicode(false)
.HasColumnName("azure_oid");
entity.Property(e => e.Role)
.HasMaxLength(50)
.HasColumnName("role");
});
modelBuilder.Entity<Organisme>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__organismes");
entity.ToTable("organismes", "st");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.RaisonSociale)
.HasMaxLength(255)
.HasColumnName("raison_sociale");
entity.Property(e => e.Siret)
.HasMaxLength(20)
.IsUnicode(false)
.HasColumnName("siret");
entity.Property(e => e.Email)
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnName("email");
entity.Property(e => e.Telephone)
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnName("telephone");
entity.Property(e => e.Adresse)
.HasMaxLength(255)
.HasColumnName("adresse");
entity.Property(e => e.Statut)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("ACTIF")
.HasColumnName("statut");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
});
modelBuilder.Entity<ContratPrestataire>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__contrats_prestataires");
entity.ToTable("contrats_prestataires", "st");
entity.HasIndex(e => e.OrganismeId, "IX_ctp_organisme");
entity.HasIndex(e => e.SaisieParId, "IX_ctp_saisie_par");
entity.HasIndex(e => e.Reference, "UQ_ctp_reference").IsUnique();
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.OrganismeId).HasColumnName("organisme_id");
entity.Property(e => e.Reference)
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("reference");
entity.Property(e => e.Objet)
.HasMaxLength(255)
.HasColumnName("objet");
entity.Property(e => e.DateSignature).HasColumnName("date_signature");
entity.Property(e => e.DateDebut).HasColumnName("date_debut");
entity.Property(e => e.DateFin).HasColumnName("date_fin");
entity.Property(e => e.MontantTotal)
.HasColumnType("decimal(18, 2)")
.HasColumnName("montant_total");
entity.Property(e => e.Statut)
.HasMaxLength(20)
.IsUnicode(false)
.HasDefaultValue("ACTIF")
.HasColumnName("statut");
entity.Property(e => e.SaisieParId).HasColumnName("saisie_par_id");
entity.Property(e => e.DateCreation)
.HasDefaultValueSql("(getdate())")
.HasColumnType("datetime")
.HasColumnName("date_creation");
entity.HasOne(d => d.Organisme).WithMany(p => p.ContratsPrestataires)
.HasForeignKey(d => d.OrganismeId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__contrats_prestataires__organisme");
entity.HasOne(d => d.SaisiePar).WithMany(p => p.ContratsPrestataires)
.HasForeignKey(d => d.SaisieParId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK__contrats_prestataires__saisie_par");
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}