Added training reminder worker
This commit is contained in:
@ -8,6 +8,7 @@ public interface IECNService {
|
||||
Task<IEnumerable<ECN>> GetExpiringTECNs();
|
||||
Task<IEnumerable<ECN>> GetExpiredTECNs();
|
||||
Task<IEnumerable<string>> GetTECNNotificationUserEmails();
|
||||
Task<ECN> GetEcnByNumber(int ecnNumber);
|
||||
}
|
||||
|
||||
public class ECNService : IECNService {
|
||||
@ -19,6 +20,28 @@ public class ECNService : IECNService {
|
||||
_dalService = dalService ?? throw new ArgumentNullException("IDalService not injected");
|
||||
}
|
||||
|
||||
public async Task<ECN> GetEcnByNumber(int ecnNumber) {
|
||||
try {
|
||||
_logger.LogInformation($"Attempting to get ECN {ecnNumber}");
|
||||
|
||||
if (ecnNumber <= 0) throw new ArgumentException($"{ecnNumber} not a valid ECN number");
|
||||
|
||||
string sql = $"select * from ECN where ECNNumber = {ecnNumber}";
|
||||
|
||||
ECN? ecn = (await _dalService.QueryAsync<ECN>(sql)).FirstOrDefault();
|
||||
|
||||
if (ecn is null) throw new Exception($"ECN {ecnNumber} not found");
|
||||
|
||||
return ecn;
|
||||
} catch (Exception ex) {
|
||||
StringBuilder errMsgBuilder = new();
|
||||
errMsgBuilder.Append($"An exception occurred when attempting to get ECN {ecnNumber}. ");
|
||||
errMsgBuilder.Append($"Exception: {ex.Message}");
|
||||
_logger.LogError(errMsgBuilder.ToString());
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ECN>> GetExpiredTECNs() {
|
||||
try {
|
||||
_logger.LogInformation("Attempting to get all TECNs expired in the last day");
|
||||
|
Reference in New Issue
Block a user