Ejemplo n.º 1
0
    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 + @"
    }
}                   
}"));
    }
Ejemplo n.º 2
0
 public DynamicValidationPair(PropertyRoute propertyRoute, DynamicValidationEntity validation)
 {
     PropertyRoute = propertyRoute;
     Validation    = validation;
 }