Ignore:
Timestamp:
12/16/25 23:05:19 (9 months ago)
Author:
Stefan-Saveski <stefansaveski19@…>
Branches:
master
Children:
bf18ca4
Parents:
9f7a52e
Message:

Upgraded database, added get subjects and get passed subjects.

Location:
iknow-api/Repository
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Repository/Implementations/UserRepository.cs

    r9f7a52e r2e17229  
    6666        {
    6767            return await _context.EnrolledSemesters
     68                .AsNoTracking()
    6869                .Include(es => es.Major)
     70                .Include(es => es.Semester)
     71                .Include(es => es.SemesterSubjects)
     72                    .ThenInclude(ss => ss.Subject)
     73                .Include(es => es.SemesterSubjects)
     74                    .ThenInclude(ss => ss.Professor)
    6975                .Where(es => es.UserId == id)
     76                .AsSplitQuery() // This helps avoid cartesian explosion
     77                .ToListAsync();
     78        }
     79
     80        public async Task<List<PassedSubject>> GetUserPassedSubjectsAsync(int id)
     81        {
     82            return await _context.PassedSubjects
     83                .AsNoTracking()
     84                .Include(ps => ps.SemesterSubject)
     85                    .ThenInclude(ss => ss.Subject)
     86                .Include(ps => ps.SemesterSubject)
     87                    .ThenInclude(ss => ss.EnrolledSemester)
     88                        .ThenInclude(es => es.Semester)
     89                .Include(ps => ps.SemesterSubject)
     90                    .ThenInclude(ss => ss.Professor)
     91                .Where(ps => ps.SemesterSubject.UserId == id)
    7092                .ToListAsync();
    7193        }
  • iknow-api/Repository/Interface/IUserRepository.cs

    r9f7a52e r2e17229  
    1414        Task<List<EnrolledSemesters>?> GetUserSemestersAsync(int id);
    1515        Task<User?> GetOnlyUserByIdAsync(int id);
    16 
     16        Task<List<PassedSubject>> GetUserPassedSubjectsAsync(int id);
    1717    }
    1818}
Note: See TracChangeset for help on using the changeset viewer.