Marketplace Entities
Entities for marketplace listings where users can buy/sell fishing gear.
MarketplaceListing
Purpose: Marketplace listings - users can buy/sell gear.
Key Fields:
Id(Guid): Unique identifierSellerUserId: Seller userTitle: Listing titleDescription: Listing descriptionListingType: Sale, Trade, Wanted, FreePrice: Listing priceCurrency: Currency codeIsNegotiable: Whether price is negotiableCondition: New, LikeNew, Used, PoorRodId,ReelId,LureId,LineId: Linked gear (optional)Location: Listing locationLatitude,Longitude: CoordinatesAllowsShipping: Whether allows shippingAllowsLocalPickup: Whether allows local pickupStatus: Active, Sold, Expired, RemovedViewCount: View countCreatedAt,UpdatedAt: Timestamps
Relationships:
- Many-to-one: User (seller)
- Many-to-one: Rod, Reel, Lure, Line (optional)
Usage Patterns:
// Create marketplace listing
var listing = new MarketplaceListing
{{
SellerUserId = userId,
Title = "Shimano Stradic 5000",
Description = "Like new condition, used twice",
ListingType = ListingType.Sale,
Price = 150.00m,
Condition = ItemCondition.LikeNew,
ReelId = reelId,
Location = "Milwaukee, WI",
AllowsShipping = true,
AllowsLocalPickup = true,
Status = ListingStatus.Active
}};
// Get active listings
var listings = context.MarketplaceListings
.Where(ml => ml.Status == ListingStatus.Active)
.Include(ml => ml.SellerUser)
.Include(ml => ml.Rod)
.Include(ml => ml.Reel)
.OrderByDescending(ml => ml.CreatedAt)
.ToList();
Related Documentation
- Gear Management - Gear entities
- Social Features - User interactions