35 lines
1.3 KiB
C#
35 lines
1.3 KiB
C#
namespace LiteCharms.Entities.Configuration;
|
|
|
|
public class CustomerConfiguration : IEntityTypeConfiguration<Customer>
|
|
{
|
|
public void Configure(EntityTypeBuilder<Customer> 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);
|
|
}
|
|
} |