Sort Order Fix on Volume Detail Page (#3216)
This commit is contained in:
parent
ee253820f6
commit
0a13cc8454
12 changed files with 131 additions and 103 deletions
|
@ -127,9 +127,18 @@ public class VolumeRepository : IVolumeRepository
|
|||
|
||||
if (includeChapters)
|
||||
{
|
||||
query = query.Include(v => v.Chapters).AsSplitQuery();
|
||||
query = query
|
||||
.Includes(VolumeIncludes.Chapters)
|
||||
.AsSplitQuery();
|
||||
}
|
||||
return await query.ToListAsync();
|
||||
var volumes = await query.ToListAsync();
|
||||
|
||||
foreach (var volume in volumes)
|
||||
{
|
||||
volume.Chapters = volume.Chapters.OrderBy(c => c.SortOrder).ToList();
|
||||
}
|
||||
|
||||
return volumes;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -142,12 +151,11 @@ public class VolumeRepository : IVolumeRepository
|
|||
{
|
||||
var volume = await _context.Volume
|
||||
.Where(vol => vol.Id == volumeId)
|
||||
.Include(vol => vol.Chapters)
|
||||
.ThenInclude(c => c.Files)
|
||||
.Includes(VolumeIncludes.Chapters | VolumeIncludes.Files)
|
||||
.AsSplitQuery()
|
||||
.OrderBy(v => v.MinNumber)
|
||||
.ProjectTo<VolumeDto>(_mapper.ConfigurationProvider)
|
||||
.SingleOrDefaultAsync(vol => vol.Id == volumeId);
|
||||
.FirstOrDefaultAsync(vol => vol.Id == volumeId);
|
||||
|
||||
if (volume == null) return null;
|
||||
|
||||
|
@ -166,8 +174,7 @@ public class VolumeRepository : IVolumeRepository
|
|||
{
|
||||
return await _context.Volume
|
||||
.Where(vol => vol.SeriesId == seriesId)
|
||||
.Include(vol => vol.Chapters)
|
||||
.ThenInclude(c => c.Files)
|
||||
.Includes(VolumeIncludes.Chapters | VolumeIncludes.Files)
|
||||
.AsSplitQuery()
|
||||
.OrderBy(vol => vol.MinNumber)
|
||||
.ToListAsync();
|
||||
|
@ -205,24 +212,19 @@ public class VolumeRepository : IVolumeRepository
|
|||
|
||||
await AddVolumeModifiers(userId, volumes);
|
||||
|
||||
foreach (var volume in volumes)
|
||||
{
|
||||
volume.Chapters = volume.Chapters.OrderBy(c => c.SortOrder).ToList();
|
||||
}
|
||||
|
||||
return volumes;
|
||||
}
|
||||
|
||||
public async Task<Volume?> GetVolumeByIdAsync(int volumeId)
|
||||
{
|
||||
return await _context.Volume.SingleOrDefaultAsync(x => x.Id == volumeId);
|
||||
return await _context.Volume.FirstOrDefaultAsync(x => x.Id == volumeId);
|
||||
}
|
||||
|
||||
public async Task<IList<Volume>> GetAllWithCoversInDifferentEncoding(EncodeFormat encodeFormat)
|
||||
{
|
||||
var extension = encodeFormat.GetExtension();
|
||||
return await _context.Volume
|
||||
.Include(v => v.Chapters)
|
||||
.Includes(VolumeIncludes.Chapters)
|
||||
.Where(c => !string.IsNullOrEmpty(c.CoverImage) && !c.CoverImage.EndsWith(extension))
|
||||
.AsSplitQuery()
|
||||
.ToListAsync();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue