public async Task <bool> Handle(AddLoginCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(false);; } var user = await _userManager.FindByNameAsync(request.UserName); if (user != null) { var result = await _userManager.AddLoginAsync(user, new UserLoginInfo(request.Provider, request.ProviderId, request.Provider)); if (result.Succeeded) { await _bus.RaiseEvent(new NewLoginAddedEvent(user.Id.ToString(), request.UserName, request.Provider, request.ProviderId)); return(true); } else { foreach (var error in result.Errors) { await _bus.RaiseEvent(new DomainNotification(result.ToString(), error.Description)); } } } return(false); }
public async Task <bool> Handle(AddLoginCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(false); } var result = await _userService.AddLoginAsync(request.Email, request.Provider, request.ProviderId); if (result != null) { await Bus.RaiseEvent(new NewLoginAddedEvent(result, request.Email, request.Provider, request.ProviderId)); return(true); } return(false); }