mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-04-14 16:41:37 +00:00
24 lines
876 B
C#
24 lines
876 B
C#
|
|
namespace AIStudio.Settings.DataModel;
|
||
|
|
|
||
|
|
public sealed class DataMandatoryInformation
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// Persisted user acceptances for configured mandatory infos.
|
||
|
|
/// </summary>
|
||
|
|
public List<DataMandatoryInfoAcceptance> Acceptances { get; set; } = [];
|
||
|
|
|
||
|
|
public DataMandatoryInfoAcceptance? FindAcceptance(string infoId)
|
||
|
|
{
|
||
|
|
return this.Acceptances.LastOrDefault(acceptance => string.Equals(acceptance.InfoId, infoId, StringComparison.OrdinalIgnoreCase));
|
||
|
|
}
|
||
|
|
|
||
|
|
public bool RemoveLeftOverAcceptances(IEnumerable<DataMandatoryInfo> mandatoryInfos)
|
||
|
|
{
|
||
|
|
var validInfoIds = mandatoryInfos
|
||
|
|
.Select(info => info.Id)
|
||
|
|
.ToHashSet(StringComparer.OrdinalIgnoreCase);
|
||
|
|
|
||
|
|
var removedCount = this.Acceptances.RemoveAll(acceptance => !validInfoIds.Contains(acceptance.InfoId));
|
||
|
|
return removedCount > 0;
|
||
|
|
}
|
||
|
|
}
|