public static IRightHandSideExpression AddToBasket(this IRightHandSideExpression rhs, Expression <Func <IFruit> > alias) { var context = Expression.Parameter(typeof(IContext), "ctx"); var ctor = typeof(Basket).GetConstructor(new[] { typeof(IFruit) }); var newBasket = Expression.New(ctor, alias.Body); var action = Expression.Lambda <Action <IContext> >( Expression.Call(context, nameof(IContext.Insert), null, newBasket), context); return(rhs.Do(action)); }
public static IRightHandSideExpression AddToBasket(this IRightHandSideExpression rhs, IFruit apple) { return(rhs.Do(ctx => ctx.Insert(new Basket(apple)))); }
public static IRightHandSideExpression Error(this IRightHandSideExpression rhs, Claim claim, string message) { return(rhs.Do(ctx => ctx.Error(claim, message))); }