Adding Async methods to verious services

This commit is contained in:
2026-01-29 15:55:25 -06:00
parent 2b42f287a8
commit 0dd597ee4e
5 changed files with 121 additions and 221 deletions

View File

@@ -6,17 +6,17 @@ namespace SzCore;
public class SzEvaluator
{
public SzResult<bool> EvaluateDataset(SzDataset dataset)
public async Task<SzResult<bool>> EvaluateDatasetAsync(SzDataset dataset, CancellationToken ct = default)
{
var errors = new StringBuilder();
var template = SZ.DataHandler.LoadTemplate<SzDataObjectTemplate>(dataset.DataObjectTemplateId);
if (!template.IsSuccess || template.Value is null) return SzResult<bool>.Failure($"Template with id {dataset.DataObjectTemplateId} for Dataset ID {dataset.Id} could not be loaded");
var templateResult = await SZ.DataHandler.LoadTemplateAsync<SzDataObjectTemplate>(dataset.DataObjectTemplateId, ct);
if (!templateResult.IsSuccess || templateResult.Value is null)
return SzResult<bool>.Failure($"Template with id {dataset.DataObjectTemplateId} for Dataset ID {dataset.Id} could not be loaded: {templateResult.Error}");
foreach (var dataObject in dataset.DataObjects.Values)
{
var evalResult = EvaluateDataObject(dataObject, template.Value);
var evalResult = EvaluateDataObject(dataObject, templateResult.Value);
if (!evalResult.IsSuccess) errors.Append(evalResult.Error);
}