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

@@ -71,17 +71,24 @@ public class FundDataService : IFundDataService
public async Task<string?> FindIsinByAliasIdAsync(string aliasId) public async Task<string?> FindIsinByAliasIdAsync(string aliasId)
{ {
await using var conn = new SqlConnection(_connectionString); try
await conn.OpenAsync();
await using var cmd = new SqlCommand("rpt_FindIsinbyAliasID", conn)
{ {
CommandType = CommandType.StoredProcedure await using var conn = new SqlConnection(_connectionString);
}; await conn.OpenAsync();
cmd.Parameters.AddWithValue("@AliasID", aliasId); await using var cmd = new SqlCommand("rpt_FindIsinbyAliasID", conn)
await using var r = await cmd.ExecuteReaderAsync(); {
if (!await r.ReadAsync()) return null; CommandType = CommandType.StoredProcedure
var isin = r.GetStringSafe("ISIN"); };
return string.IsNullOrEmpty(isin) ? null : isin; cmd.Parameters.AddWithValue("@AliasID", aliasId);
await using var r = await cmd.ExecuteReaderAsync();
if (!await r.ReadAsync()) return null;
return r.GetStringSafe("ISIN").NullIfEmpty();
}
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()