Skip to content

Commit 2ac5b06

Browse files
authored
Merge pull request #61 from jmdotdev/add-fluent-entity-configs
Add fluent entity configs
2 parents dc5be9f + 115129c commit 2ac5b06

6 files changed

Lines changed: 20 additions & 4 deletions

File tree

eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ public class CategoryConfiguration: IEntityTypeConfiguration<Category>
88
{
99
public void Configure(EntityTypeBuilder<Category> builder)
1010
{
11+
1112
builder.ToTable("Categories");
13+
builder.Property("Name").IsRequired().HasMaxLength(100);
14+
builder.Property("Description").IsRequired().HasMaxLength(10000);
1215
builder.HasKey(x => x.Id);
1316
}
1417

eventz-api/Eventz.Infrastructure/Configurations/EventConfiguration.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public void Configure(EntityTypeBuilder<Event> builder)
2424
builder.Property(e => e.StartDate).IsRequired();
2525
builder.Property(e => e.EndDate)
2626
.IsRequired();
27+
builder.Property(e => e.IsPublic).IsRequired().HasDefaultValue(false);
28+
builder.Property(e => e.CategoryId).IsRequired();
29+
builder.Property(e => e.CategoryId).IsRequired();
2730

2831
//relations
2932
builder.HasOne(e => e.Venue)

eventz-api/Eventz.Infrastructure/Configurations/EventRegistrationConfiguration.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ public void Configure(EntityTypeBuilder<EventRegistration> builder)
1717
builder.HasIndex(er => new { er.UserId, er.EventId }).IsUnique();
1818
builder.Property(er => er.RegisteredAt)
1919
.HasDefaultValueSql("GETUTCDATE()");
20+
builder.Property(er => er.UserId).IsRequired();
21+
builder.Property(er => er.EventId).IsRequired();
22+
builder.Property(er => er.CheckedIn).IsRequired().HasDefaultValue(false);
2023

2124
builder.HasOne(er => er.Event)
2225
.WithMany(e => e.Registrations)

eventz-api/Eventz.Infrastructure/Configurations/TicketConfiguration.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ public void Configure(EntityTypeBuilder<Ticket> builder)
1515
{
1616
builder.ToTable("Tickets");
1717
builder.HasKey(t => t.Id);
18+
builder.Property(t => t.EventId).IsRequired();
19+
builder.Property(t => t.Type).IsRequired();
20+
builder.Property(t => t.Price).HasPrecision(18, 2);
21+
builder.Property(t => t.Quantity).IsRequired();
1822
builder.HasOne(t => t.Event)
1923
.WithMany(e => e.Tickets)
2024
.HasForeignKey(t => t.EventId)

eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public void Configure (EntityTypeBuilder<User> builder)
1212

1313
builder.HasKey(u => u.Id);
1414
builder.HasIndex(u => u.Email).IsUnique();
15+
builder.Property(u => u.UserName).IsRequired().HasMaxLength(255);
16+
builder.Property(u => u.Password).IsRequired().HasMaxLength(255);
17+
builder.Property(u => u.Email).IsRequired().HasMaxLength(255);
1518
builder.Property(u => u.CreatedAt).HasDefaultValueSql("GETUTCDATE()");
1619

1720
}

eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ public void Configure(EntityTypeBuilder<Venue> builder)
1515
{
1616
builder.ToTable("Venues");
1717
builder.HasIndex(v => v.Id);
18-
builder.HasMany(v => v.Events)
19-
.WithOne(e => e.Venue)
20-
.HasForeignKey(e => e.VenueId)
21-
.OnDelete(DeleteBehavior.Restrict);
18+
builder.Property(v => v.Name).IsRequired();
19+
builder.Property(v => v.Address).IsRequired();
20+
builder.Property(v => v.City).IsRequired();
21+
builder.Property(v => v.Capacity).IsRequired();
2222
}
2323
}
2424
}

0 commit comments

Comments
 (0)