using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; namespace SIFinance.Shared.Entities; public partial class SIFinanceDbContext : DbContext { public SIFinanceDbContext() { } public SIFinanceDbContext(DbContextOptions options) : base(options) { } public virtual DbSet Acomptes { get; set; } public virtual DbSet UtilisateurRoles { get; set; } public virtual DbSet AffectationsAvoirs { get; set; } public virtual DbSet Audits { get; set; } public virtual DbSet Avoirs { get; set; } public virtual DbSet BudgetsServices { get; set; } public virtual DbSet BudgetServiceRevisions { get; set; } public virtual DbSet Campus { get; set; } public virtual DbSet ContratsFournisseursHistorique { get; set; } public virtual DbSet ContratsFournisseurs { get; set; } public virtual DbSet ContratEcheances { get; set; } public virtual DbSet DemandesAchats { get; set; } public virtual DbSet Factures { get; set; } public virtual DbSet FichiersXmls { get; set; } public virtual DbSet Fournisseurs { get; set; } public virtual DbSet HistoriqueActions { get; set; } public virtual DbSet ModesPaiements { get; set; } public virtual DbSet Paiements { get; set; } public virtual DbSet Parametres { get; set; } public virtual DbSet PiecesJointes { get; set; } public virtual DbSet Rapprochements { get; set; } public virtual DbSet Services { get; set; } public virtual DbSet TypesDepenses { get; set; } public virtual DbSet Utilisateurs { get; set; } public virtual DbSet Organismes { get; set; } public virtual DbSet 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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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); }