public object Execute(DataStrategy dataStrategy, DynamicTable table, InvokeMemberBinder binder, object[] args) { var criteriaExpression = ExpressionHelper.CriteriaDictionaryToExpression(table.GetQualifiedName(), MethodNameParser.ParseFromBinder(binder, args)); var data = dataStrategy.FindOne(table.GetQualifiedName(), criteriaExpression); return(data != null ? new SimpleRecord(data, table.GetQualifiedName(), dataStrategy) : null); }
/// <summary> /// Executes the command. /// </summary> /// <param name="dataStrategy">The database (or transaction)</param> /// <param name="table"></param> /// <param name="binder">The binder from the <see cref="DynamicTable"/> method invocation.</param> /// <param name="args">The arguments from the <see cref="DynamicTable"/> method invocation.</param> /// <returns></returns> public object Execute(DataStrategy dataStrategy, DynamicTable table, InvokeMemberBinder binder, object[] args) { if (args.Length == 1 && args[0] is SimpleExpression) { var data = dataStrategy.FindOne(table.GetQualifiedName(), (SimpleExpression)args[0]); return data != null ? new SimpleRecord(data, table.GetQualifiedName(), dataStrategy) : null; } return null; }
/// <summary> /// Executes the command. /// </summary> /// <param name="dataStrategy">The database (or transaction)</param> /// <param name="table"></param> /// <param name="binder">The binder from the <see cref="DynamicTable"/> method invocation.</param> /// <param name="args">The arguments from the <see cref="DynamicTable"/> method invocation.</param> /// <returns></returns> public object Execute(DataStrategy dataStrategy, DynamicTable table, InvokeMemberBinder binder, object[] args) { if (args.Length == 1 && args[0] is SimpleExpression) { var data = dataStrategy.FindOne(table.GetQualifiedName(), (SimpleExpression)args[0]); return(data != null ? new SimpleRecord(data, table.GetQualifiedName(), dataStrategy) : null); } return(null); }
public object Execute(DataStrategy dataStrategy, DynamicTable table, InvokeMemberBinder binder, object[] args) { var criteriaExpression = ExpressionHelper.CriteriaDictionaryToExpression(table.GetQualifiedName(), MethodNameParser.ParseFromBinder(binder, args)); var data = dataStrategy.FindOne(table.GetQualifiedName(), criteriaExpression); return data != null ? new SimpleRecord(data, table.GetQualifiedName(), dataStrategy) : null; }