using System.Globalization; using FluentValidation; using FluentValidation.Results; namespace Api.SeaHavenIndustries.DTOs { internal static class LocationAccountIdMapping { public static int? ParseOptional(string? raw) { if (string.IsNullOrWhiteSpace(raw)) return null; if (!int.TryParse(raw.Trim(), NumberStyles.Integer, CultureInfo.InvariantCulture, out var id)) { throw new ValidationException(new[] { new ValidationFailure("AccountId", "accountId must be a valid integer.") }); } return id; } } }