Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions eventz-api/Eventz.Domain/Entitites/Event.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ public class Event
public DateTime EndDate { get; set; }
public int Capacity { get; set; }
public bool IsPublic { get; set; }
public string OrganizerId { get; set; }
//public string OrganizerId { get; set; }
public int VenueId { get; set; }
public int CategoryId { get; set; }
public Venue venue { get; set; }
public Category category { get; set; }
public Venue Venue { get; set; }
public Category Category { get; set; }

//public User Organizer { get; set; }

public ICollection<EventRegistration> Registrations { get; set; }
public ICollection<Ticket> Tickets { get; set; }
Expand Down
5 changes: 3 additions & 2 deletions eventz-api/Eventz.Domain/Entitites/EventRegistration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ public class EventRegistration
{
public int Id { get; set; }
public Guid EventRegistrationToken { get; set; } = Guid.NewGuid();
public string UserId { get; set; }
public string EventId { get; set; }
public int UserId { get; set; }
public int EventId { get; set; }
public DateTime RegisteredAt { get; set; }
public bool CheckedIn { get; set; }
public Event Event { get; set; }
public User User { get; set; }

}
}
5 changes: 2 additions & 3 deletions eventz-api/Eventz.Domain/Entitites/User.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@ namespace Eventz.Domain.Entitites
public class User
{
public int Id { get; set; }
public Guid UserToken { get; set; } = new Guid();
public Guid UserToken { get; set; } = Guid.NewGuid();
public string UserName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public DateTime CreatedAt { get; set; }
public List<Ticket> Tickets { get; set; }
public List<Event> Events { get; set; }
public List<EventRegistration> EventRegistrations { get; set; } = new List<EventRegistration>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using Eventz.Domain.Entitites;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

namespace Eventz.Infrastructure.Configurations
{
public class CategoryConfiguration: IEntityTypeConfiguration<Category>
{
public void Configure(EntityTypeBuilder<Category> builder)
{
builder.ToTable("Categories");
builder.HasKey(x => x.Id);
}

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using Eventz.Domain.Entitites;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Eventz.Infrastructure.Configurations
{
public class EventConfiguration : IEntityTypeConfiguration<Event>
{
public void Configure(EntityTypeBuilder<Event> builder)
{
builder.ToTable("Events");
builder.HasKey(e => e.Id);
builder.Property(e => e.Name)
.IsRequired()
.HasMaxLength(256);
builder.Property(e => e.Description)
.IsRequired()
.HasMaxLength(256);
builder.Property(e => e.StartDate).IsRequired();
builder.Property(e => e.EndDate)
.IsRequired();

//relations
builder.HasOne(e => e.Venue)
.WithMany(v => v.Events)
.HasForeignKey(e => e.VenueId)
.OnDelete(DeleteBehavior.Restrict);

builder.HasOne(e => e.Category)
.WithMany(v => v.Events)
.HasForeignKey(e => e.CategoryId)
.OnDelete(DeleteBehavior.Restrict);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using Eventz.Domain.Entitites;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Eventz.Infrastructure.Configurations
{
public class EventRegistrationConfiguration : IEntityTypeConfiguration<EventRegistration>
{
public void Configure(EntityTypeBuilder<EventRegistration> builder)
{
builder.HasKey(er => er.Id);
builder.HasIndex(er => new { er.UserId, er.EventId }).IsUnique();
builder.Property(er => er.RegisteredAt)
.HasDefaultValueSql("GETUTCDATE()");

builder.HasOne(er => er.Event)
.WithMany(e => e.Registrations)
.HasForeignKey(e => e.EventId)
.OnDelete(DeleteBehavior.Cascade);

builder.HasOne(er => er.User)
.WithMany(u => u.EventRegistrations)
.HasForeignKey(e => e.UserId)
.OnDelete(DeleteBehavior.Cascade);
}
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using Eventz.Domain.Entitites;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Eventz.Infrastructure.Configurations
{
public class TicketConfiguration : IEntityTypeConfiguration<Ticket>
{
public void Configure(EntityTypeBuilder<Ticket> builder)
{
builder.ToTable("Tickets");
builder.HasKey(t => t.Id);
builder.HasOne(t => t.Event)
.WithMany(e => e.Tickets)
.HasForeignKey(t => t.EventId)
.OnDelete(DeleteBehavior.Cascade);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
using Eventz.Domain.Entitites;
using Eventz.Domain.Entitites;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Eventz.Infrastructure.Configurations
{
Expand All @@ -15,10 +10,10 @@ public void Configure (EntityTypeBuilder<User> builder)
{
builder.ToTable("Users");

builder.HasKey(x => x.Id);
builder.HasMany(u => u.Events);
builder.HasMany(u => u.Tickets);
builder.HasKey(u => u.Id);
builder.HasIndex(u => u.Email).IsUnique();
builder.Property(u => u.CreatedAt).HasDefaultValueSql("GETUTCDATE()");

}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using Eventz.Domain.Entitites;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Eventz.Infrastructure.Configurations
{
public class VenueConfiguration : IEntityTypeConfiguration<Venue>
{
public void Configure(EntityTypeBuilder<Venue> builder)
{
builder.ToTable("Venues");
builder.HasIndex(v => v.Id);
builder.HasMany(v => v.Events)
.WithOne(e => e.Venue)
.HasForeignKey(e => e.VenueId)
.OnDelete(DeleteBehavior.Restrict);
}
}
}