Premier commit

This commit is contained in:
2026-09-11 14:55:41 +02:00
commit 8ed04aae89
134 changed files with 36627 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Acompte
{
public int Id { get; set; }
public int FactureId { get; set; }
public decimal Montant { get; set; }
public DateOnly DatePrevue { get; set; }
public DateOnly? DateVerse { get; set; }
public string Statut { get; set; } = null!;
public int? JustificatifId { get; set; }
public string? Commentaire { get; set; }
public int SaisieParId { get; set; }
public DateTime? DateCreation { get; set; }
public virtual Facture Facture { get; set; } = null!;
public virtual PiecesJointe? Justificatif { get; set; }
public virtual Utilisateur SaisiePar { get; set; } = null!;
}
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class AffectationsAvoir
{
public int Id { get; set; }
public int AvoirId { get; set; }
public int FactureId { get; set; }
public decimal MontantAffecte { get; set; }
public int AffecteParId { get; set; }
public DateTime? DateAffectation { get; set; }
public virtual Utilisateur AffectePar { get; set; } = null!;
public virtual Avoir Avoir { get; set; } = null!;
public virtual Facture Facture { get; set; } = null!;
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Audit
{
public long Id { get; set; }
public string EntiteType { get; set; } = null!;
public int EntiteId { get; set; }
public int UtilisateurId { get; set; }
public string Action { get; set; } = null!;
public string? DetailJson { get; set; }
public string? IpAdresse { get; set; }
public DateTime DateAction { get; set; }
public virtual Utilisateur Utilisateur { get; set; } = null!;
}
+37
View File
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Avoir
{
public int Id { get; set; }
public int FournisseurId { get; set; }
public string NumeroAvoir { get; set; } = null!;
public DateOnly DateAvoir { get; set; }
public decimal MontantInitial { get; set; }
public decimal SoldeDisponible { get; set; }
public int? FactureId { get; set; }
public int? JustificatifId { get; set; }
public int SaisieParId { get; set; }
public DateTime? DateCreation { get; set; }
public virtual ICollection<AffectationsAvoir> AffectationsAvoirs { get; set; } = new List<AffectationsAvoir>();
public virtual Facture? Facture { get; set; }
public virtual Fournisseur Fournisseur { get; set; } = null!;
public virtual PiecesJointe? Justificatif { get; set; }
public virtual Utilisateur SaisiePar { get; set; } = null!;
}
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
// Budget annuel d'un service pour le module Achats. Exercice non calendaire (1er
// septembre au 31 août) — ExerciceAnnee porte l'année de démarrage (ex. 2026 = exercice
// du 01/09/2026 au 31/08/2027). Le montant "actif" du budget est MontantInitial tant
// qu'aucune révision n'existe, sinon la révision la plus récente (cf. Revisions) —
// chaque révision est conservée pour l'historique, jamais écrasée.
public partial class BudgetService
{
public int Id { get; set; }
public int ServiceId { get; set; }
public int ExerciceAnnee { get; set; }
public decimal MontantInitial { get; set; }
public int SaisieParId { get; set; }
public DateTime? DateCreation { get; set; }
public DateTime? DateDerniereMaj { get; set; }
public virtual Service Service { get; set; } = null!;
public virtual Utilisateur SaisiePar { get; set; } = null!;
public virtual ICollection<BudgetServiceRevision> Revisions { get; set; } = new List<BudgetServiceRevision>();
}
@@ -0,0 +1,25 @@
using System;
namespace SIFinance.Shared.Entities;
// Historique des révisions d'un budget de service (augmentation en cours d'exercice,
// décidée par un responsable Finance) — une ligne par révision, jamais écrasée, pour
// garder la traçabilité complète de qui a changé le budget et pourquoi.
public partial class BudgetServiceRevision
{
public int Id { get; set; }
public int BudgetServiceId { get; set; }
public decimal MontantRevise { get; set; }
public string? Commentaire { get; set; }
public int RevisePar { get; set; }
public DateTime DateRevision { get; set; }
public virtual BudgetService BudgetService { get; set; } = null!;
public virtual Utilisateur ReviseParUtilisateur { get; set; } = null!;
}
+9
View File
@@ -0,0 +1,9 @@
namespace SIFinance.Shared.Entities;
public partial class Campus
{
public int Id { get; set; }
public string Libelle { get; set; } = null!;
public bool Actif { get; set; }
public virtual ICollection<ContratFournisseur> ContratsFournisseurs { get; set; } = new List<ContratFournisseur>();
}
@@ -0,0 +1,24 @@
using System;
namespace SIFinance.Shared.Entities;
public partial class ContratEcheance
{
public int Id { get; set; }
public int ContratId { get; set; }
public DateOnly DateEcheance { get; set; }
public decimal Montant { get; set; }
public string Statut { get; set; } = null!;
public int? JustificatifId { get; set; }
public DateTime? DateCreation { get; set; }
public virtual ContratFournisseur Contrat { get; set; } = null!;
public virtual PiecesJointe? Justificatif { get; set; }
}
@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class ContratFournisseur
{
public int Id { get; set; }
public int FournisseurId { get; set; }
public int? ServiceId { get; set; }
public int? CampusId { get; set; }
public string? Reference { get; set; }
public string Objet { get; set; } = null!;
public DateOnly? DateSignature { get; set; }
public DateOnly DateDebut { get; set; }
public DateOnly DateFin { get; set; }
public DateOnly? DateResiliation { get; set; }
public string? MotifResiliation { get; set; }
public decimal MontantTotal { get; set; }
public string Periodicite { get; set; } = null!;
public string Statut { get; set; } = null!;
public int SaisieParId { get; set; }
public DateTime? DateCreation { get; set; }
public DateTime? DateDerniereMaj { get; set; }
public virtual Fournisseur Fournisseur { get; set; } = null!;
public virtual Service? Service { get; set; }
public virtual Campus? Campus { get; set; }
public virtual Utilisateur SaisiePar { get; set; } = null!;
public virtual ICollection<ContratEcheance> Echeances { get; set; } = new List<ContratEcheance>();
public virtual ICollection<Facture> Factures { get; set; } = new List<Facture>();
public virtual ICollection<ContratFournisseurHistorique> Historique { get; set; } = new List<ContratFournisseurHistorique>();
}
@@ -0,0 +1,14 @@
namespace SIFinance.Shared.Entities;
public partial class ContratFournisseurHistorique
{
public int Id { get; set; }
public int ContratId { get; set; }
public string? AncienStatut { get; set; }
public string NouveauStatut { get; set; } = null!;
public string? Commentaire { get; set; }
public int UtilisateurId { get; set; }
public DateTime DateAction { get; set; }
public virtual ContratFournisseur Contrat { get; set; } = null!;
public virtual Utilisateur Utilisateur { get; set; } = null!;
}
@@ -0,0 +1,32 @@
using System;
namespace SIFinance.Shared.Entities;
public partial class ContratPrestataire
{
public int Id { get; set; }
public int OrganismeId { get; set; }
public string Reference { get; set; } = null!;
public string Objet { get; set; } = null!;
public DateOnly? DateSignature { get; set; }
public DateOnly DateDebut { get; set; }
public DateOnly DateFin { get; set; }
public decimal MontantTotal { get; set; }
public string Statut { get; set; } = null!;
public int SaisieParId { get; set; }
public DateTime? DateCreation { get; set; }
public virtual Organisme Organisme { get; set; } = null!;
public virtual Utilisateur SaisiePar { get; set; } = null!;
}
@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class DemandesAchat
{
public int Id { get; set; }
public string Reference { get; set; } = null!;
public int ServiceId { get; set; }
public string Objet { get; set; } = null!;
public string? Description { get; set; }
public int? FournisseurId { get; set; }
public string? FournisseurLibre { get; set; }
public string? CategorieFournisseurLibre { get; set; }
public int TypeDepenseId { get; set; }
public decimal MontantHt { get; set; }
public decimal TauxTva { get; set; }
public decimal MontantTva { get; set; }
public decimal MontantTtc { get; set; }
public DateOnly DatePrevisionnelle { get; set; }
public int ModePaiementId { get; set; }
public string Statut { get; set; } = null!;
public int DemandeurId { get; set; }
public int? ValideurId { get; set; }
public decimal SeuilApplicable { get; set; }
public DateTime? DateCreation { get; set; }
public DateTime? DateSoumission { get; set; }
public DateTime? DateDerniereMaj { get; set; }
public virtual Utilisateur Demandeur { get; set; } = null!;
public virtual ICollection<Facture> Factures { get; set; } = new List<Facture>();
public virtual Fournisseur? Fournisseur { get; set; }
public virtual ModesPaiement ModePaiement { get; set; } = null!;
public virtual Service Service { get; set; } = null!;
public virtual TypesDepense TypeDepense { get; set; } = null!;
public virtual Utilisateur? Valideur { get; set; }
}
+77
View File
@@ -0,0 +1,77 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Facture
{
public int Id { get; set; }
public string SourceType { get; set; } = null!;
public int? DemandeAchatId { get; set; }
public int? ContratId { get; set; }
public int FournisseurId { get; set; }
public string NumeroFacture { get; set; } = null!;
public DateOnly DateFacture { get; set; }
public DateOnly DateEcheance { get; set; }
public decimal MontantHt { get; set; }
public decimal TauxTva { get; set; }
public decimal MontantTva { get; set; }
public decimal MontantTtc { get; set; }
public int? CategorieDepenseId { get; set; }
public int ServiceId { get; set; }
public int ModePaiementId { get; set; }
public string Statut { get; set; } = null!;
public bool? EstDoublonSignale { get; set; }
public string? Commentaire { get; set; }
public int SaisieParId { get; set; }
public int? ValideBapParId { get; set; }
public DateTime? DateValidationBap { get; set; }
public DateTime? DateCreation { get; set; }
public DateTime? DateDerniereMaj { get; set; }
public virtual ICollection<Acompte> Acomptes { get; set; } = new List<Acompte>();
public virtual ICollection<AffectationsAvoir> AffectationsAvoirs { get; set; } = new List<AffectationsAvoir>();
public virtual ICollection<Avoir> Avoirs { get; set; } = new List<Avoir>();
public virtual TypesDepense? CategorieDepense { get; set; }
public virtual DemandesAchat? DemandeAchat { get; set; }
public virtual ContratFournisseur? Contrat { get; set; }
public virtual Fournisseur Fournisseur { get; set; } = null!;
public virtual ModesPaiement ModePaiement { get; set; } = null!;
public virtual ICollection<Paiement> Paiements { get; set; } = new List<Paiement>();
public virtual Utilisateur SaisiePar { get; set; } = null!;
public virtual Service Service { get; set; } = null!;
public virtual Utilisateur? ValideBapPar { get; set; }
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class FichiersXml
{
public int Id { get; set; }
public string NomFichier { get; set; } = null!;
public string SharepointUrl { get; set; } = null!;
public DateTime? DateGeneration { get; set; }
public int GenereParId { get; set; }
public int NombreVirements { get; set; }
public decimal MontantTotal { get; set; }
public virtual Utilisateur GenerePar { get; set; } = null!;
public virtual ICollection<Paiement> Paiements { get; set; } = new List<Paiement>();
}
+37
View File
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Fournisseur
{
public int Id { get; set; }
public string RaisonSociale { get; set; } = null!;
public string? Siret { get; set; }
public string? Email { get; set; }
public string? Telephone { get; set; }
public string? Adresse { get; set; }
public byte[]? IbanChiffre { get; set; }
public string? Bic { get; set; }
public string? TitulaireCompte { get; set; }
public string Statut { get; set; } = null!;
public DateTime? DateCreation { get; set; }
public virtual ICollection<Avoir> Avoirs { get; set; } = new List<Avoir>();
public virtual ICollection<ContratFournisseur> ContratsFournisseurs { get; set; } = new List<ContratFournisseur>();
public virtual ICollection<DemandesAchat> DemandesAchats { get; set; } = new List<DemandesAchat>();
public virtual ICollection<Facture> Factures { get; set; } = new List<Facture>();
}
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class HistoriqueAction
{
public int Id { get; set; }
public string EntiteType { get; set; } = null!;
public int EntiteId { get; set; }
public int UtilisateurId { get; set; }
public string Action { get; set; } = null!;
public string? Commentaire { get; set; }
public string? AncienStatut { get; set; }
public string? NouveauStatut { get; set; }
public DateTime? DateAction { get; set; }
public virtual Utilisateur Utilisateur { get; set; } = null!;
}
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class ModesPaiement
{
public int Id { get; set; }
public string Libelle { get; set; } = null!;
public bool NecessiteXml { get; set; }
public bool Actif { get; set; }
public virtual ICollection<DemandesAchat> DemandesAchats { get; set; } = new List<DemandesAchat>();
public virtual ICollection<Facture> Factures { get; set; } = new List<Facture>();
public virtual ICollection<Paiement> Paiements { get; set; } = new List<Paiement>();
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Organisme
{
public int Id { get; set; }
public string RaisonSociale { get; set; } = null!;
public string? Siret { get; set; }
public string? Email { get; set; }
public string? Telephone { get; set; }
public string? Adresse { get; set; }
public string Statut { get; set; } = null!;
public DateTime? DateCreation { get; set; }
public virtual ICollection<ContratPrestataire> ContratsPrestataires { get; set; } = new List<ContratPrestataire>();
}
+39
View File
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Paiement
{
public int Id { get; set; }
public int FactureId { get; set; }
public decimal MontantPaye { get; set; }
public DateOnly DatePaiement { get; set; }
public int ModeReglementId { get; set; }
public string? ReferencePaiement { get; set; }
public int? FichierXmlId { get; set; }
public int EnregistreParId { get; set; }
public DateTime? DateSaisie { get; set; }
public string Statut { get; set; } = null!;
public bool Rapproche { get; set; }
public virtual Utilisateur EnregistrePar { get; set; } = null!;
public virtual Facture Facture { get; set; } = null!;
public virtual FichiersXml? FichierXml { get; set; }
public virtual ModesPaiement ModeReglement { get; set; } = null!;
public virtual ICollection<Rapprochement> Rapprochements { get; set; } = new List<Rapprochement>();
}
+19
View File
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Parametre
{
public string Cle { get; set; } = null!;
public string Valeur { get; set; } = null!;
public string? Description { get; set; }
public int? ModifiePar { get; set; }
public DateTime? DateModif { get; set; }
public virtual Utilisateur? ModifieParNavigation { get; set; }
}
+35
View File
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class PiecesJointe
{
public int Id { get; set; }
public string EntiteType { get; set; } = null!;
public int EntiteId { get; set; }
public string TypePiece { get; set; } = null!;
public string NomFichier { get; set; } = null!;
public string SharepointUrl { get; set; } = null!;
public string SharepointItemId { get; set; } = null!;
public long TailleOctets { get; set; }
public int UploaderId { get; set; }
public DateTime? DateUpload { get; set; }
public virtual ICollection<Acompte> Acomptes { get; set; } = new List<Acompte>();
public virtual ICollection<Avoir> Avoirs { get; set; } = new List<Avoir>();
public virtual ICollection<ContratEcheance> ContratEcheances { get; set; } = new List<ContratEcheance>();
public virtual Utilisateur Uploader { get; set; } = null!;
}
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Rapprochement
{
public int Id { get; set; }
public int? PaiementId { get; set; }
public string? ReferenceBancaire { get; set; }
public DateOnly DateOperationBanq { get; set; }
public string? LibelleBanque { get; set; }
public decimal MontantBanque { get; set; }
public string Statut { get; set; } = null!;
public string? Commentaire { get; set; }
public int? TraiteParId { get; set; }
public DateTime? DateTraitement { get; set; }
public virtual Paiement? Paiement { get; set; }
public virtual Utilisateur? TraitePar { get; set; }
}
File diff suppressed because it is too large Load Diff
+19
View File
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Service
{
public int Id { get; set; }
public string Libelle { get; set; } = null!;
public bool Actif { get; set; }
public virtual ICollection<DemandesAchat> DemandesAchats { get; set; } = new List<DemandesAchat>();
public virtual ICollection<Facture> Factures { get; set; } = new List<Facture>();
public virtual ICollection<Utilisateur> Utilisateurs { get; set; } = new List<Utilisateur>();
}
+19
View File
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class TypesDepense
{
public int Id { get; set; }
public string Libelle { get; set; } = null!;
public bool Actif { get; set; }
public bool EstMateriel { get; set; }
public virtual ICollection<DemandesAchat> DemandesAchats { get; set; } = new List<DemandesAchat>();
public virtual ICollection<Facture> Factures { get; set; } = new List<Facture>();
}
+70
View File
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
namespace SIFinance.Shared.Entities;
public partial class Utilisateur
{
public int Id { get; set; }
public string AzureOid { get; set; } = null!;
public string Nom { get; set; } = null!;
public string Prenom { get; set; } = null!;
public string Email { get; set; } = null!;
public string Profil { get; set; } = null!;
public int? ServiceId { get; set; }
// Manager direct, synchronisé depuis Entra ID (EntraSyncService) — c'est cette
// personne, et non le rôle FINANCE, qui a le droit de valider/refuser les demandes
// d'achat du collaborateur.
public int? ResponsableId { get; set; }
public bool Actif { get; set; }
public DateTime? DateCreation { get; set; }
public DateTime? DateDerniereConnexion { get; set; }
public virtual ICollection<Acompte> Acomptes { get; set; } = new List<Acompte>();
public virtual ICollection<AffectationsAvoir> AffectationsAvoirs { get; set; } = new List<AffectationsAvoir>();
public virtual ICollection<Audit> Audits { get; set; } = new List<Audit>();
public virtual ICollection<Avoir> Avoirs { get; set; } = new List<Avoir>();
public virtual ICollection<ContratFournisseur> ContratsFournisseurs { get; set; } = new List<ContratFournisseur>();
public virtual ICollection<ContratPrestataire> ContratsPrestataires { get; set; } = new List<ContratPrestataire>();
public virtual ICollection<DemandesAchat> DemandesAchatDemandeurs { get; set; } = new List<DemandesAchat>();
public virtual ICollection<DemandesAchat> DemandesAchatValideurs { get; set; } = new List<DemandesAchat>();
public virtual ICollection<Facture> FactureSaisiePars { get; set; } = new List<Facture>();
public virtual ICollection<Facture> FactureValideBapPars { get; set; } = new List<Facture>();
public virtual ICollection<FichiersXml> FichiersXmls { get; set; } = new List<FichiersXml>();
public virtual ICollection<HistoriqueAction> HistoriqueActions { get; set; } = new List<HistoriqueAction>();
public virtual ICollection<Paiement> Paiements { get; set; } = new List<Paiement>();
public virtual ICollection<Parametre> Parametres { get; set; } = new List<Parametre>();
public virtual ICollection<PiecesJointe> PiecesJointes { get; set; } = new List<PiecesJointe>();
public virtual ICollection<Rapprochement> Rapprochements { get; set; } = new List<Rapprochement>();
public virtual Service? Service { get; set; }
public virtual Utilisateur? Responsable { get; set; }
public virtual ICollection<Utilisateur> Collaborateurs { get; set; } = new List<Utilisateur>();
}
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SIFinance.Shared.Entities
{
public partial class UtilisateurRole
{
public string AzureOid { get; set; } = null!;
public string Role { get; set; } = null!;
}
}