Adding creation of data into data handler, marking the way for szdb handling

This commit is contained in:
2026-01-28 21:46:28 -06:00
parent 507e6348f6
commit 97c8128176
9 changed files with 436 additions and 25 deletions

View File

@@ -6,9 +6,29 @@ namespace SzCore;
public class SzEvaluator
{
public SzEvaluationResult EvaluateDataObject(SzDataObject dataObject, SzDataObjectTemplate template)
public SzOperationResult EvaluateDataset(SzDataset dataset)
{
if (dataObject is null || template is null) return new SzEvaluationResult(false, "dataObject or template is null");
if (dataset is null) return new SzOperationResult(false, "Dataset cannot be null");
var errors = new StringBuilder();
var template = SZ.SzDataHandler.LoadTemplate<SzDataObjectTemplate>(dataset.DataObjectTemplateId);
if (template is null) return new SzOperationResult(false, $"Template with id {dataset.DataObjectTemplateId} for Dataset ID {dataset.Id} could not be loaded");
foreach (var dataObject in dataset.DataObjects.Values)
{
var evalResult = EvaluateDataObject(dataObject, template);
if (!evalResult.Pass) errors.Append(evalResult.Errors);
}
var errString = errors.ToString();
return new SzOperationResult(string.IsNullOrEmpty(errString), errString);
}
public SzOperationResult EvaluateDataObject(SzDataObject dataObject, SzDataObjectTemplate template)
{
if (dataObject is null || template is null) return new SzOperationResult(false, "dataObject or template is null");
var errors = new StringBuilder();
@@ -36,10 +56,10 @@ public class SzEvaluator
}
var errString = errors.ToString().Trim();
return new SzEvaluationResult(string.IsNullOrEmpty(errString), string.IsNullOrEmpty(errString) ? "" : errString);
return new SzOperationResult(string.IsNullOrEmpty(errString), string.IsNullOrEmpty(errString) ? "" : errString);
}
public SzEvaluationResult DoesFieldMatchTemplateField(SzField field, SzTemplateField templateField)
public SzOperationResult DoesFieldMatchTemplateField(SzField field, SzTemplateField templateField)
{
var errors = new StringBuilder();
@@ -48,13 +68,13 @@ public class SzEvaluator
if (field.IsList != templateField.IsList) errors.AppendLine($"Field '{field.Id}' IsList mismatch: Expected {templateField.IsList}");
var errString = errors.ToString().Trim();
return new SzEvaluationResult(string.IsNullOrEmpty(errString), errString);
return new SzOperationResult(string.IsNullOrEmpty(errString), errString);
}
public SzEvaluationResult EvaluateFieldValue(SzField field)
public SzOperationResult EvaluateFieldValue(SzField field)
{
if (string.IsNullOrWhiteSpace(field.Value))
return new SzEvaluationResult(true, "");
return new SzOperationResult(true, "");
var errors = new StringBuilder();
@@ -91,12 +111,6 @@ public class SzEvaluator
}
var errString = errors.ToString().Trim();
return new SzEvaluationResult(string.IsNullOrEmpty(errString), errString);
return new SzOperationResult(string.IsNullOrEmpty(errString), errString);
}
}
public class SzEvaluationResult(bool pass, string errors = "None")
{
public bool Pass = pass;
public string Errors = errors;
}