2026-04-09 12:01:41 +00:00
|
|
|
using AIStudio.Settings.DataModel;
|
|
|
|
|
|
|
|
|
|
using Microsoft.AspNetCore.Components;
|
|
|
|
|
|
|
|
|
|
namespace AIStudio.Components;
|
|
|
|
|
|
|
|
|
|
public partial class MandatoryInfoDisplay
|
|
|
|
|
{
|
2026-04-10 14:31:13 +00:00
|
|
|
private enum MandatoryInfoAcceptanceStatus
|
|
|
|
|
{
|
|
|
|
|
MISSING,
|
|
|
|
|
VERSION_CHANGED,
|
|
|
|
|
CONTENT_CHANGED,
|
|
|
|
|
ACCEPTED,
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-09 12:01:41 +00:00
|
|
|
[Parameter]
|
|
|
|
|
public DataMandatoryInfo Info { get; set; } = new();
|
|
|
|
|
|
|
|
|
|
[Parameter]
|
|
|
|
|
public DataMandatoryInfoAcceptance? Acceptance { get; set; }
|
|
|
|
|
|
|
|
|
|
[Parameter]
|
|
|
|
|
public bool ShowAcceptanceMetadata { get; set; }
|
2026-04-10 14:31:13 +00:00
|
|
|
|
|
|
|
|
private MandatoryInfoAcceptanceStatus AcceptanceStatus
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (this.Acceptance is null)
|
|
|
|
|
return MandatoryInfoAcceptanceStatus.MISSING;
|
|
|
|
|
|
|
|
|
|
if (!string.Equals(this.Acceptance.AcceptedVersion, this.Info.VersionText, StringComparison.Ordinal))
|
|
|
|
|
return MandatoryInfoAcceptanceStatus.VERSION_CHANGED;
|
|
|
|
|
|
|
|
|
|
if (!string.Equals(this.Acceptance.AcceptedHash, this.Info.GetAcceptanceHash(), StringComparison.Ordinal))
|
|
|
|
|
return MandatoryInfoAcceptanceStatus.CONTENT_CHANGED;
|
|
|
|
|
|
|
|
|
|
return MandatoryInfoAcceptanceStatus.ACCEPTED;
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-04-09 12:01:41 +00:00
|
|
|
}
|