Adding creation of data into data handler, marking the way for szdb handling
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user