fix: add error handling to FindIsinByAliasIdAsync, use NullIfEmpty

This commit is contained in:
2026-06-08 17:39:02 +02:00
parent bbb7e4207a
commit d3c5395c58

View File

@@ -70,6 +70,8 @@ public class FundDataService : IFundDataService
} }
public async Task<string?> FindIsinByAliasIdAsync(string aliasId) public async Task<string?> FindIsinByAliasIdAsync(string aliasId)
{
try
{ {
await using var conn = new SqlConnection(_connectionString); await using var conn = new SqlConnection(_connectionString);
await conn.OpenAsync(); await conn.OpenAsync();
@@ -80,8 +82,13 @@ public class FundDataService : IFundDataService
cmd.Parameters.AddWithValue("@AliasID", aliasId); cmd.Parameters.AddWithValue("@AliasID", aliasId);
await using var r = await cmd.ExecuteReaderAsync(); await using var r = await cmd.ExecuteReaderAsync();
if (!await r.ReadAsync()) return null; if (!await r.ReadAsync()) return null;
var isin = r.GetStringSafe("ISIN"); return r.GetStringSafe("ISIN").NullIfEmpty();
return string.IsNullOrEmpty(isin) ? null : isin; }
catch (Exception ex)
{
_logger.LogError(ex, "Errore FindIsinByAliasIdAsync per AliasID {AliasId}", aliasId);
throw;
}
} }
private static FundInfo MapFundInfo(SqlDataReader r) => new() private static FundInfo MapFundInfo(SqlDataReader r) => new()