implementato modulo HR

This commit is contained in:
2025-12-04 02:12:34 +01:00
parent ed2472febc
commit 500a3197e2
41 changed files with 12556 additions and 674 deletions

View File

@@ -940,6 +940,254 @@ namespace Zentral.Infrastructure.Migrations
b.ToTable("EventiDettaglioRisorse");
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Assenza", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime>("DataFine")
.HasColumnType("TEXT");
b.Property<DateTime>("DataInizio")
.HasColumnType("TEXT");
b.Property<int>("DipendenteId")
.HasColumnType("INTEGER");
b.Property<string>("Note")
.HasColumnType("TEXT");
b.Property<string>("Stato")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("TipoAssenza")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("DipendenteId");
b.ToTable("Assenze", (string)null);
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Contratto", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<bool>("Attivo")
.HasColumnType("INTEGER");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime?>("DataFine")
.HasColumnType("TEXT");
b.Property<DateTime>("DataInizio")
.HasColumnType("TEXT");
b.Property<int>("DipendenteId")
.HasColumnType("INTEGER");
b.Property<string>("Livello")
.HasColumnType("TEXT");
b.Property<string>("Note")
.HasColumnType("TEXT");
b.Property<decimal>("RetribuzioneLorda")
.HasPrecision(18, 2)
.HasColumnType("TEXT");
b.Property<string>("TipoContratto")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("DipendenteId");
b.ToTable("Contratti", (string)null);
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Dipendente", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("CodiceFiscale")
.HasColumnType("TEXT");
b.Property<string>("Cognome")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime?>("DataNascita")
.HasColumnType("TEXT");
b.Property<string>("Email")
.HasColumnType("TEXT");
b.Property<string>("Indirizzo")
.HasColumnType("TEXT");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("Ruolo")
.HasColumnType("TEXT");
b.Property<string>("Telefono")
.HasColumnType("TEXT");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("CodiceFiscale")
.IsUnique();
b.ToTable("Dipendenti", (string)null);
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Pagamento", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime>("DataPagamento")
.HasColumnType("TEXT");
b.Property<string>("Descrizione")
.IsRequired()
.HasColumnType("TEXT");
b.Property<int>("DipendenteId")
.HasColumnType("INTEGER");
b.Property<decimal>("ImportoNetto")
.HasPrecision(18, 2)
.HasColumnType("TEXT");
b.Property<bool>("Pagato")
.HasColumnType("INTEGER");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("DipendenteId");
b.ToTable("Pagamenti", (string)null);
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Rimborso", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime>("DataSpesa")
.HasColumnType("TEXT");
b.Property<string>("Descrizione")
.IsRequired()
.HasColumnType("TEXT");
b.Property<int>("DipendenteId")
.HasColumnType("INTEGER");
b.Property<decimal>("Importo")
.HasPrecision(18, 2)
.HasColumnType("TEXT");
b.Property<string>("Stato")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("DipendenteId");
b.ToTable("Rimborsi", (string)null);
});
modelBuilder.Entity("Zentral.Domain.Entities.Location", b =>
{
b.Property<int>("Id")
@@ -3697,6 +3945,50 @@ namespace Zentral.Infrastructure.Migrations
b.Navigation("Risorsa");
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Assenza", b =>
{
b.HasOne("Zentral.Domain.Entities.HR.Dipendente", "Dipendente")
.WithMany("Assenze")
.HasForeignKey("DipendenteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Dipendente");
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Contratto", b =>
{
b.HasOne("Zentral.Domain.Entities.HR.Dipendente", "Dipendente")
.WithMany("Contratti")
.HasForeignKey("DipendenteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Dipendente");
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Pagamento", b =>
{
b.HasOne("Zentral.Domain.Entities.HR.Dipendente", "Dipendente")
.WithMany("Pagamenti")
.HasForeignKey("DipendenteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Dipendente");
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Rimborso", b =>
{
b.HasOne("Zentral.Domain.Entities.HR.Dipendente", "Dipendente")
.WithMany("Rimborsi")
.HasForeignKey("DipendenteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Dipendente");
});
modelBuilder.Entity("Zentral.Domain.Entities.ModuleSubscription", b =>
{
b.HasOne("Zentral.Domain.Entities.AppModule", "Module")
@@ -4219,6 +4511,17 @@ namespace Zentral.Infrastructure.Migrations
b.Navigation("DettagliRisorse");
});
modelBuilder.Entity("Zentral.Domain.Entities.HR.Dipendente", b =>
{
b.Navigation("Assenze");
b.Navigation("Contratti");
b.Navigation("Pagamenti");
b.Navigation("Rimborsi");
});
modelBuilder.Entity("Zentral.Domain.Entities.Location", b =>
{
b.Navigation("Eventi");