using System.Globalization; using System.Text.Json; namespace Kbx.Shared.ExternalData; public static class KisCurrentPriceNormalizer { public static KbxMarketPriceSnapshot Normalize(ReadOnlySpan payload,string marketDivisionCode,string stockCode) { using var doc=JsonDocument.Parse(payload); if(!doc.RootElement.TryGetProperty("output",out var output) || !output.TryGetProperty("stck_prpr",out var priceValue) || !decimal.TryParse(priceValue.GetString(),NumberStyles.Number,CultureInfo.InvariantCulture,out var price)) throw new InvalidDataException("KIS current price response does not contain a valid stck_prpr."); return new(marketDivisionCode,stockCode,price); } }