22 lines
917 B
C#
22 lines
917 B
C#
namespace LiteCharms.Features.MidrandBooks.Customers.Entities;
|
|
|
|
public sealed class CustomerConfiguration : IEntityTypeConfiguration<Customer>
|
|
{
|
|
public void Configure(EntityTypeBuilder<Customer> builder)
|
|
{
|
|
builder.ToTable("Customers");
|
|
|
|
builder.HasKey(c => c.Id);
|
|
builder.Property(c => c.CreatedAt).IsRequired().ValueGeneratedOnAdd().HasDefaultValueSql("now()");
|
|
builder.Property(c => c.UpdatedAt).HasDefaultValueSql("now()");
|
|
builder.Property(c => c.Company).IsRequired(false);
|
|
builder.Property(c => c.VatNumber).IsRequired(false);
|
|
builder.Property(c => c.Email).IsRequired();
|
|
builder.Property(c => c.Phone).IsRequired(false);
|
|
builder.Property(c => c.Website).IsRequired(false);
|
|
builder.Property(c => c.Enabled).HasDefaultValue(true);
|
|
|
|
builder.OwnsMany(f => f.SocialMedia, b => { b.ToJson(); });
|
|
}
|
|
}
|