protected override CompilationResult Compile() { var script = this.Script.Trim(); script = script.Contains(';') ? script : ("return " + script + ";"); var entityTypeName = DynamicValidationEntity.GetMainType(this.GetParentEntity <DynamicValidationEntity>()).FullName; return(Compile(DynamicCode.GetCoreMetadataReferences() .Concat(DynamicCode.GetMetadataReferences()), DynamicCode.GetUsingNamespaces() + @" namespace Signum.Entities.Dynamic { class Evaluator : Signum.Entities.Dynamic.IDynamicValidationEvaluator { public string EvaluateUntyped(ModifiableEntity e, PropertyInfo pi) { return this.Evaluate((" + entityTypeName + @")e, pi); } string Evaluate(" + entityTypeName + @" e, PropertyInfo pi) { " + script + @" } } }")); }
public DynamicValidationPair(PropertyRoute propertyRoute, DynamicValidationEntity validation) { PropertyRoute = propertyRoute; Validation = validation; }