using FLSDAL.CustomCode.Bridge; using FLSDAL.DTO.Bridge; using GB5Shared.DTO.Framework.Login; using GB5Shared.Telemetry; using Microsoft.Extensions.Logging; namespace FLSBLL.Bridge; public class TrainerFeedbackBLL : ITrainerFeedbackBLL { private readonly IFlsBridgeDAL _dal; private readonly ILogger _logger; public TrainerFeedbackBLL(IFlsBridgeDAL dal, ILogger logger) { _dal = dal; _logger = logger; } public async Task> GetTrainerFeedbackSummaryAsync( int? trainerId, int? flsInstanceId, LoginDTO login, CancellationToken ct) { try { GB5Trace.Step("get-trainer-feedback-summary", new { trainerId, flsInstanceId }); return await _dal.GetTrainerFeedbackSummaryAsync(trainerId, flsInstanceId, login, ct).ConfigureAwait(false); } catch (Exception ex) { GB5Trace.MarkFailed("get-trainer-feedback-summary-failed", ex); _logger.LogError(ex, "GetTrainerFeedbackSummary failed for trainer {TrainerId}, instance {InstanceId}", trainerId, flsInstanceId); throw; } } }