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;
}
}