Files
GymLogAI/GymLogAI.Persistence/Repositories/ExerciseRepository.cs
T
2026-04-19 13:12:04 +03:00

28 lines
939 B
C#

using GymLogAI.Application.Interfaces;
using GymLogAI.Core.Entities;
using Microsoft.EntityFrameworkCore;
namespace GymLogAI.Persistence.Repositories;
public sealed class ExerciseRepository(AppDbContext dbContext) : IExerciseRepository
{
public async Task<Exercise?> GetByNameAsync(string name, CancellationToken cancellationToken)
{
return await dbContext.Exercises.SingleOrDefaultAsync(x => x.Name == name, cancellationToken);
}
public async Task<Exercise> AddAsync(Exercise exercise, CancellationToken cancellationToken)
{
dbContext.Exercises.Add(exercise);
await dbContext.SaveChangesAsync(cancellationToken);
return exercise;
}
public async Task<Exercise> UpdateAsync(Exercise exercise, CancellationToken cancellationToken)
{
dbContext.Exercises.Update(exercise);
await dbContext.SaveChangesAsync(cancellationToken);
return exercise;
}
}