profileShare

rasmusjy / splitapp-backend-clean-onion

Read-only snapshot

No repository description.

main default branch 429 files Expires Sep 13, 2026, 9:06 AM
TripWishlistItemRepository.cs 1,226 bytes
1 using App.Domain;
2 using App.Domain.Contracts;
3 using Microsoft.EntityFrameworkCore;
4
5 namespace App.DAL.EF.Repositories;
6
7 public class TripWishlistItemRepository : BaseRepository<TripWishlistItem>, ITripWishlistItemRepository
8 {
9 public TripWishlistItemRepository(AppDbContext dbContext) : base(dbContext)
10 {
11 }
12
13 public override async Task<IEnumerable<TripWishlistItem>> GetAllAsync()
14 {
15 return await DbContext.TripWishlistItems
16 .Include(w => w.Trip)
17 .Include(w => w.AddedByUser)
18 .Include(w => w.Votes)
19 .ToListAsync();
20 }
21
22 public override async Task<TripWishlistItem?> GetByIdAsync(Guid id)
23 {
24 return await DbContext.TripWishlistItems
25 .Include(w => w.Trip)
26 .Include(w => w.AddedByUser)
27 .Include(w => w.Votes)
28 .FirstOrDefaultAsync(w => w.Id == id);
29 }
30
31 public async Task<IEnumerable<TripWishlistItem>> GetByTripIdAsync(Guid tripId)
32 {
33 return await DbContext.TripWishlistItems
34 .Where(w => w.TripId == tripId)
35 .Include(w => w.AddedByUser)
36 .Include(w => w.Votes)
37 .OrderBy(w => w.DisplayOrder)
38 .ToListAsync();
39 }
40 }
41