namespace AIStudio.Settings.DataModel; public sealed class DataMandatoryInformation { /// /// Persisted user acceptances for configured mandatory infos. /// public List Acceptances { get; set; } = []; public DataMandatoryInfoAcceptance? FindAcceptance(string infoId) { return this.Acceptances.LastOrDefault(acceptance => string.Equals(acceptance.InfoId, infoId, StringComparison.OrdinalIgnoreCase)); } public bool RemoveLeftOverAcceptances(IEnumerable mandatoryInfos) { var validInfoIds = mandatoryInfos .Select(info => info.Id) .ToHashSet(StringComparer.OrdinalIgnoreCase); var removedCount = this.Acceptances.RemoveAll(acceptance => !validInfoIds.Contains(acceptance.InfoId)); return removedCount > 0; } }