using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using ReAct_PME.Domain;


namespace ReAct_PME.Infrastructure.Persistence.Configurations
{
    public partial class DT_WORK_FORCEConfiguration : IEntityTypeConfiguration<DT_WORK_FORCE>
    {
		public void Configure(EntityTypeBuilder<DT_WORK_FORCE> builder)
		{
			builder.ToTable("DT_WORK_FORCE"); // Nom de la table dans SQL Server
			builder.HasKey(c => c.ID_WORK_FORCE);    // Clé primaire
			builder.Property(c => c.ID_WORK_FORCE)
				.HasColumnName("ID_WORK_FORCE")
				.HasColumnType("Guid")
				.IsRequired()
				;
			builder.Property(c => c.TRIGRAMME)
				.HasColumnName("TRIGRAMME")
				.HasColumnType("string")
				.IsRequired()
				.HasMaxLength(3)
				;
			builder.Property(c => c.LAST_NAME)
				.HasColumnName("LAST_NAME")
				.HasColumnType("string")
				.IsRequired()
				.HasMaxLength(255)
				;
			builder.Property(c => c.FIRST_NAME)
				.HasColumnName("FIRST_NAME")
				.HasColumnType("string")
				.IsRequired()
				.HasMaxLength(255)
				;
			builder.Property(c => c.EMAIL)
				.HasColumnName("EMAIL")
				.HasColumnType("string")
				.IsRequired()
				.HasMaxLength(255)
				;
			builder.Property(c => c.IsManager)
				.HasColumnName("IsManager")
				.HasColumnType("bool")
				.IsRequired()
				;
			builder.Property(c => c.USERNAME)
				.HasColumnName("USERNAME")
				.HasColumnType("string")
				.IsRequired()
				.HasMaxLength(255)
				;
			builder.Property(c => c.PASSWORD)
				.HasColumnName("PASSWORD")
				.HasColumnType("string")
				.IsRequired()
				.HasMaxLength(255)
				;
			builder.Property(c => c.MAIL_PASSWORD)
				.HasColumnName("MAIL_PASSWORD")
				.HasColumnType("string?")
				.HasMaxLength(255)
				;
			builder.Property(c => c.MAIL_Serveur_IMAP)
				.HasColumnName("MAIL_Serveur_IMAP")
				.HasColumnType("string?")
				.HasMaxLength(255)
				;
			builder.Property(c => c.MAIL_Serveur_IMAP_PORT)
				.HasColumnName("MAIL_Serveur_IMAP_PORT")
				.HasColumnType("int?")
				;
			builder.Property(c => c.MAIL_Serveur_SMTP)
				.HasColumnName("MAIL_Serveur_SMTP")
				.HasColumnType("string?")
				.HasMaxLength(255)
				;
			builder.Property(c => c.MAIL_Serveur_SMTP_PORT)
				.HasColumnName("MAIL_Serveur_SMTP_PORT")
				.HasColumnType("int?")
				;
			builder.Property(c => c.MAIL_IS_OK)
				.HasColumnName("MAIL_IS_OK")
				.HasColumnType("bool?")
				;
			builder.Property(c => c.MAIL_ROLE_SIGNATURE)
				.HasColumnName("MAIL_ROLE_SIGNATURE")
				.HasColumnType("string?")
				.HasMaxLength(255)
				;
			builder.Property(c => c.MAIL_ENTREPRISE_SIGNATURE)
				.HasColumnName("MAIL_ENTREPRISE_SIGNATURE")
				.HasColumnType("string?")
				.HasMaxLength(255)
				;
			builder.Property(c => c.MAIL_DelayRefresh)
				.HasColumnName("MAIL_DelayRefresh")
				.HasColumnType("int?")
				;
			builder.Property(c => c.MAIL_DelaySentRefresh)
				.HasColumnName("MAIL_DelaySentRefresh")
				.HasColumnType("int?")
				;
			builder.Property(c => c.MAIL_DelaySentRecup)
				.HasColumnName("MAIL_DelaySentRecup")
				.HasColumnType("int?")
				;
			builder.Property(c => c.MAIL_OverdueDaysSent)
				.HasColumnName("MAIL_OverdueDaysSent")
				.HasColumnType("int?")
				;
			builder.Property(c => c.SystemDateCreated)
				.HasColumnName("SystemDateCreated")
				.HasColumnType("DateTime")
				.IsRequired()
				;
			builder.Property(c => c.SystemDateUpdated)
				.HasColumnName("SystemDateUpdated")
				.HasColumnType("DateTime")
				.IsRequired()
				;
			builder.Property(c => c.IsEnabled)
				.HasColumnName("IsEnabled")
				.HasColumnType("bool")
				.IsRequired()
				;
		}



    }
}
