Files
git.stella-ops.org/src/__Libraries/StellaOps.Evidence/Validation/SchemaLoader.cs

30 lines
923 B
C#

using System.Reflection;
using static StellaOps.Localization.T;
namespace StellaOps.Evidence.Validation;
internal static class SchemaLoader
{
public static string LoadSchema(string fileName)
{
var assembly = Assembly.GetExecutingAssembly();
var resourceName = assembly.GetManifestResourceNames()
.FirstOrDefault(name => name.EndsWith(fileName, StringComparison.OrdinalIgnoreCase));
if (resourceName is null)
{
throw new InvalidOperationException(_t("common.evidence.schema_resource_not_found", fileName));
}
using var stream = assembly.GetManifestResourceStream(resourceName);
if (stream is null)
{
throw new InvalidOperationException(_t("common.evidence.schema_resource_not_available", resourceName));
}
using var reader = new StreamReader(stream);
return reader.ReadToEnd();
}
}