public async Task <Unit> Handle(RegisterMerchantCommand request, CancellationToken cancellationToken) { var merchant = Merchant.Register(request.MerchantName); var merchantUser = MerchantUser.CreateRegisteredOnNewRegister(merchant.Code, merchant.Name, request.FirstName, request.LastName, request.Email, request.Phone, request.Password.AsMd5(), new List <string> { "account-admin" }, _merchantUserUniquenessChecker); await _merchantUserRepository.CreateAsync(merchantUser); await _merchantRepository.CreateAsync(merchant); return(Unit.Task.Result); }