source: ChapterX.Infrastructure/Repositories/ChapterRepository.cs@ a8f4a2d

main
Last change on this file since a8f4a2d was 99c1e45, checked in by kikisrbinoska <srbinoskakristina07@…>, 12 days ago

Fixed writer section and admin management

  • Property mode set to 100644
File size: 1.3 KB
RevLine 
[877c13c]1using ChapterX.Domain.Entities;
2using ChapterX.Domain.Repositories;
3using ChapterX.Infrastructure.Data.DataContext;
4using System;
5using System.Collections.Generic;
6using System.Linq;
7using System.Text;
8using System.Threading.Tasks;
9
10using Microsoft.EntityFrameworkCore;
11
12namespace ChapterX.Infrastructure.Repositories
13{
14 public class ChapterRepository : GenericRepository<Chapter>, IChapterRepository
15 {
16 public ChapterRepository(ApplicationDbContext context) : base(context)
17 {
18 }
19
20 public async Task<IEnumerable<Chapter>> GetByStoryIdAsync(int storyId, CancellationToken cancellationToken = default)
21 {
22 return await _dbSet
23 .Where(c => c.StoryId == storyId)
24 .ToListAsync(cancellationToken);
25 }
[b373fea]26
27 public async Task<Chapter?> GetByIdWithStoryAsync(int id, CancellationToken cancellationToken = default)
28 {
29 return await _dbSet
30 .Include(c => c.Story)
31 .FirstOrDefaultAsync(c => c.Id == id, cancellationToken);
32 }
[99c1e45]33
34 public async Task IncrementViewCountAsync(int id, CancellationToken cancellationToken = default)
35 {
36 await _dbSet
37 .Where(c => c.Id == id)
38 .ExecuteUpdateAsync(s => s.SetProperty(c => c.ViewCount, c => c.ViewCount + 1), cancellationToken);
39 }
[877c13c]40 }
41}
Note: See TracBrowser for help on using the repository browser.