diff --git a/src/HeartTrackAPI/Controllers/ActivityController.cs b/src/HeartTrackAPI/Controllers/ActivityController.cs index 2c1a142..1a9f7de 100644 --- a/src/HeartTrackAPI/Controllers/ActivityController.cs +++ b/src/HeartTrackAPI/Controllers/ActivityController.cs @@ -89,20 +89,20 @@ public class ActivityController : Controller } [HttpGet("{id}")] - public async Task> GetActivity(int id) + public async Task> GetActivity(int id) { try { _logger.LogInformation("Executing {Action} with parameters: {Parameters}", nameof(GetActivity), id); - var activity = await _activityService.GetActivityByIdAsync(id); + var activity = await _activityService.GetActivityById(id); if (activity == null) { _logger.LogError("Activity with id {id} not found", id); return NotFound($"Activity with id {id} not found"); } - return Ok(activity.ToDto()); + return Ok(activity); } catch (Exception e) { diff --git a/src/Model/Repository/IActivityRepository.cs b/src/Model/Repository/IActivityRepository.cs index 84c2225..2175392 100644 --- a/src/Model/Repository/IActivityRepository.cs +++ b/src/Model/Repository/IActivityRepository.cs @@ -8,6 +8,7 @@ public interface IActivityRepository { public Task?> GetActivities(int index, int count, ActivityOrderCriteria criteria, bool descending = false); public Task GetActivityByIdAsync(int id); + public Task GetActivityById(int id); public Task AddActivity(Activity activity); public Task AddActivity(NewActivityDto activity); diff --git a/src/Model2Entities/ActivityRepository.cs b/src/Model2Entities/ActivityRepository.cs index 468e334..a53c22f 100644 --- a/src/Model2Entities/ActivityRepository.cs +++ b/src/Model2Entities/ActivityRepository.cs @@ -50,6 +50,20 @@ public partial class DbDataManager : IDataManager return await Task.FromResult(activity); } + public async Task GetActivityById(int id) + { + _logger.LogInformation($"GetActivityByIdAsync with id {id}", id); + + var activityEntity = await _dataManager.DbContext.ActivitiesSet.IncludeAll(_dataManager.DbContext).SingleOrDefaultAsync(a => a.IdActivity == id); + var activity = activityEntity != null ? activityEntity.ToResponseDto() : null; + + if (activity != null) + _logger.LogInformation($"Retrieved activity with ID {id}"); + else + _logger.LogWarning($"No activity found with ID {id}"); + + return await Task.FromResult(activity); + } public async Task AddActivity(Activity activity) { diff --git a/src/StubAPI/ActivityService.cs b/src/StubAPI/ActivityService.cs index 330a3f1..334e320 100644 --- a/src/StubAPI/ActivityService.cs +++ b/src/StubAPI/ActivityService.cs @@ -40,6 +40,11 @@ public class ActivityService: IActivityRepository // return Task.FromResult(_activities.FirstOrDefault(s => s.Id == id)?.ToModel()); } + public async Task GetActivityById(int id) + { + throw new NotImplementedException(); + } + public Task AddActivity(Activity activity) => throw new NotImplementedException();