static void Main(string[] args) { var orderId = Guid.Parse("5d137f6b-8019-4400-8dad-5d74e3bdad51"); var orderRepository = new OrderRepository(); var command = new CompleteOrderCommand(orderId); var handler = new CompleteOrderCommand.CompleteOrderCommandHandler(orderRepository); var decorator = new AuditLoggingDecorator <CompleteOrderCommand>(handler); var execute = decorator.Handle(command); }
private static Func <IServiceProvider, ICommandHandler <ToggleItemCommand> > GenerateToggleItemCommandFactory() { Func <IServiceProvider, ICommandHandler <ToggleItemCommand> > factory = (IServiceProvider provider) => { //Get repository from DI Container var repository = provider.GetService <IRepository>(); //Create command handler using the Repository var handler = new ToggleItemCommand.ToggleItemCommandHandler(repository); var decorated = new AuditLoggingDecorator <ToggleItemCommand>(handler); return(decorated); }; return(factory); }