namespace LiteCharms.Features.MidrandBooks.Customers.Entities; public class AddressConfiguration : IEntityTypeConfiguration
{ public void Configure(EntityTypeBuilder builder) { builder.ToTable("Addresses"); builder.HasKey(a => a.Id); builder.Property(a => a.CustomerId).IsRequired(); builder.Property(a => a.CreatedAt).IsRequired().ValueGeneratedOnAdd().HasDefaultValueSql("now()"); builder.Property(a => a.UpdatedAt).HasDefaultValueSql("now()"); builder.Property(a => a.Name).IsRequired(); builder.Property(a => a.Type).IsRequired(); builder.Property(a => a.BuildingType).IsRequired(); builder.Property(a => a.Street).IsRequired(); builder.Property(a => a.City).IsRequired(); builder.Property(a => a.State).IsRequired(); builder.Property(a => a.PostalCode).IsRequired(); builder.Property(a => a.Country).IsRequired(); builder.Property(a => a.IsPrimary).HasDefaultValue(false); builder.Property(a => a.Enabled).HasDefaultValue(true); builder.HasOne(a => a.Customer) .WithMany(c => c.Addresses) .HasForeignKey(a => a.CustomerId) .OnDelete(DeleteBehavior.Cascade); } }