コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }