Skip to content

Instantly share code, notes, and snippets.

@geoffreysmith
Created August 1, 2011 15:29
Show Gist options
  • Save geoffreysmith/1118349 to your computer and use it in GitHub Desktop.
Save geoffreysmith/1118349 to your computer and use it in GitHub Desktop.
simplecqrs createcommand
public abstract class CreateCommandHandler<TCommand> : CommandHandler<TCommand> where TCommand : ICommand
{
public override void Handle(TCommand command)
{
var aggregateRoot = CreateAggregateRoot(command);
Handle(command, aggregateRoot);
var domainRepository = ServiceLocator.Current.Resolve<IDomainRepository>();
domainRepository.Save(aggregateRoot);
}
public abstract AggregateRoot CreateAggregateRoot(TCommand command);
public virtual void Handle(TCommand command, AggregateRoot aggregateRoot)
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment