namespace LiteCharms.Entities.Configuration; public class CustomerConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable(nameof(Customer)); builder.HasKey(f => f.Id); builder.Property(f => f.CreatedAt).ValueGeneratedOnAdd(); builder.Property(f => f.UpdatedAt).IsRequired(false).ValueGeneratedOnUpdate(); builder.Property(f => f.Company); builder.Property(f => f.Name).IsRequired(); builder.Property(f => f.LastName).IsRequired(); builder.Property(f => f.Email).IsRequired(); builder.Property(f => f.Tax); builder.Property(f => f.Discord); builder.Property(f => f.Slack); builder.Property(f => f.LinkedIn); builder.Property(f => f.Whatsapp); builder.Property(f => f.Website); builder.Property(f => f.Phone); builder.Property(f => f.Address); builder.Property(f => f.City); builder.Property(f => f.Region); builder.Property(f => f.Country); builder.Property(f => f.PostalCode); builder.Property(f => f.Active).HasDefaultValue(true); builder.HasMany(f => f.Leads) .WithOne(f => f.Customer) .HasForeignKey(f => f.CustomerId) .OnDelete(DeleteBehavior.NoAction); } }