using System.Text.Json; using System.Text.Json.Serialization; namespace PayRollBLL.SAP.Builders { /// /// Shared JSON serialization settings for all SAP OData payload builders. /// /// Rules that SAP requires: /// • Exact property casing — [JsonPropertyName] on each DTO field controls the name. /// • Compact wire format — no indentation. /// • Zero-value fields included — SAP rejects payloads with missing numeric properties. /// • Numeric amounts as pre-formatted strings — handled by SapFmt in each builder, /// so no custom JSON converters are needed here. /// internal static class SapJsonOptions { internal static readonly JsonSerializerOptions Plain = new() { PropertyNamingPolicy = null, WriteIndented = false, DefaultIgnoreCondition = JsonIgnoreCondition.Never, }; } }