Skip to main content

Events Entities

Entities for fishing events (expos, swap meets, seminars, etc.) separate from tournaments.

FishingEvent

Purpose: Fishing-related events (expos, swap meets, get-togethers, seminars, etc.).

Key Fields:

  • Id (int): Unique identifier
  • Title: Event title
  • Description: Event description
  • EventType: Expo, SwapMeet, Seminar, Workshop, etc.
  • OrganizerUserId: User organizer
  • OrganizerName: Organization name (if not user)
  • OrganizerEmail, OrganizerPhone, OrganizerWebsite: Contact info
  • LocationName: Event location
  • Address, City, State, ZipCode, Country: Address
  • Latitude, Longitude: Coordinates
  • StartDate, EndDate: Event dates
  • StartTime, EndTime: Event times
  • IsAllDay: All-day event flag
  • TimeZone: Time zone
  • IsPublic: Public event flag
  • RequiresRegistration: Whether registration required
  • MaxParticipants: Maximum participants
  • RegistrationFee: Registration fee
  • IsActive: Whether event is active

Relationships:

  • Many-to-one: User (organizer)
  • One-to-many: FishingEventRegistration, FishingEventSeminar, FishingEventVendor, FishingEventSponsor

Usage Patterns:

// Create event
var fishingEvent = new FishingEvent
{{
Title = "Milwaukee Fishing Expo 2024",
EventType = EventType.Expo,
StartDate = eventDate,
EndDate = eventDate.AddDays(3),
LocationName = "Wisconsin Center",
City = "Milwaukee",
State = "WI",
IsPublic = true,
RequiresRegistration = true
}};

// Get upcoming events
var events = context.FishingEvents
.Where(fe => fe.StartDate >= DateTime.UtcNow && fe.IsActive)
.OrderBy(fe => fe.StartDate)
.ToList();

FishingEventRegistration

Purpose: User registrations for fishing events.

Key Fields:

  • Id (int): Unique identifier
  • FishingEventId: Associated event
  • UserId: Registered user
  • RegistrationDate: Registration date
  • Status: Pending, Confirmed, Cancelled
  • PaymentStatus: Payment status if fee required

Relationships:

  • Many-to-one: FishingEvent, User

FishingEventSeminar

Purpose: Seminars/workshops within events.

Key Fields:

  • Id (int): Unique identifier
  • FishingEventId: Associated event
  • Title: Seminar title
  • Description: Seminar description
  • SpeakerName: Speaker name
  • StartTime, EndTime: Seminar times
  • Room: Seminar room/location
  • MaxAttendees: Maximum attendees

Relationships:

  • Many-to-one: FishingEvent

FishingEventVendor

Purpose: Vendors/exhibitors at events.

Key Fields:

  • Id (int): Unique identifier
  • FishingEventId: Associated event
  • VendorName: Vendor name
  • BoothNumber: Booth number
  • Description: Vendor description
  • Website: Vendor website

Relationships:

  • Many-to-one: FishingEvent

FishingEventSponsor

Purpose: Event sponsors.

Key Fields:

  • Id (int): Unique identifier
  • FishingEventId: Associated event
  • SponsorName: Sponsor name
  • SponsorLevel: Gold, Silver, Bronze
  • LogoUrl: Sponsor logo
  • Website: Sponsor website

Relationships:

  • Many-to-one: FishingEvent