fix get ByID
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details

pull/10/head
David D'ALMEIDA 1 year ago
parent f74e5dbd40
commit cbc961d0e2

@ -89,20 +89,20 @@ public class ActivityController : Controller
} }
[HttpGet("{id}")] [HttpGet("{id}")]
public async Task<ActionResult<ActivityDto>> GetActivity(int id) public async Task<ActionResult<ResponseActivityDto>> GetActivity(int id)
{ {
try try
{ {
_logger.LogInformation("Executing {Action} with parameters: {Parameters}", nameof(GetActivity), id); _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) if (activity == null)
{ {
_logger.LogError("Activity with id {id} not found", id); _logger.LogError("Activity with id {id} not found", id);
return NotFound($"Activity with id {id} not found"); return NotFound($"Activity with id {id} not found");
} }
return Ok(activity.ToDto()); return Ok(activity);
} }
catch (Exception e) catch (Exception e)
{ {

@ -8,6 +8,7 @@ public interface IActivityRepository
{ {
public Task<IEnumerable<ActivityTinyDto>?> GetActivities(int index, int count, ActivityOrderCriteria criteria, bool descending = false); public Task<IEnumerable<ActivityTinyDto>?> GetActivities(int index, int count, ActivityOrderCriteria criteria, bool descending = false);
public Task<Activity?> GetActivityByIdAsync(int id); public Task<Activity?> GetActivityByIdAsync(int id);
public Task<ResponseActivityDto?> GetActivityById(int id);
public Task<Activity?> AddActivity(Activity activity); public Task<Activity?> AddActivity(Activity activity);
public Task<ResponseActivityDto?> AddActivity(NewActivityDto activity); public Task<ResponseActivityDto?> AddActivity(NewActivityDto activity);

@ -50,6 +50,20 @@ public partial class DbDataManager : IDataManager
return await Task.FromResult(activity); return await Task.FromResult(activity);
} }
public async Task<ResponseActivityDto> 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<Activity?> AddActivity(Activity activity) public async Task<Activity?> AddActivity(Activity activity)
{ {

@ -40,6 +40,11 @@ public class ActivityService: IActivityRepository
// return Task.FromResult(_activities.FirstOrDefault(s => s.Id == id)?.ToModel()); // return Task.FromResult(_activities.FirstOrDefault(s => s.Id == id)?.ToModel());
} }
public async Task<ResponseActivityDto?> GetActivityById(int id)
{
throw new NotImplementedException();
}
public Task<Activity?> AddActivity(Activity activity) public Task<Activity?> AddActivity(Activity activity)
=> throw new NotImplementedException(); => throw new NotImplementedException();

Loading…
Cancel
Save