【发布时间】:2015-03-25 15:03:25
【问题描述】:
我正在将示例 CQSR 应用于应用程序。而且我对应用逻辑规则感到困惑。
public class UserCommandHandler : ICommandHandler<CreateUserCommand>
{
private readonly IUserRepository repository;
public UserCommandHandler(IUserRepository repository)
{
this.repository = repository;
}
public void Handle(CreateUserCommand command)
{
User user = new User();
user.Username = command.Username;
user.Password = command.Password;
user.Email = command.Email;
user.CreteDate = DateTime.Now;
// Rules
var isUserDuplicated = repository.GetAll().Any(u => u.Username == command.Username);
var isEmailDuplicated = repository.GetAll().Any(u => u.Email == command.Email);
repository.Add(user);
repository.Save();
}
}
在哪里可以应用业务规则来检查用户名是否重复或电子邮件是否重复。
我的命令处理程序无效。那么如何向用户发送重复通知呢?
【问题讨论】:
标签: design-patterns domain-driven-design cqrs