public async Task NotifyAsync(MonitorEto monitorEto) { if (monitorEto.CreatorId == null) { return; } if (!monitorEto.MonitorStatus.IsIn(MonitorStatusTypes.Down, MonitorStatusTypes.Warning)) { return; } var creatorUser = await _identityUserRepository.FindAsync(monitorEto.CreatorId.Value); if (creatorUser == null) { return; } // TODO: Compare the QueueAsync method with the current version in terms of performance await _emailSender.SendAsync( creatorUser.Email, GetEmailSubject(monitorEto), GetEmailBody(monitorEto) ); }
public virtual async Task <IUserData> FindByIdAsync( Guid id, CancellationToken cancellationToken = default) { return(( await _userRepository.FindAsync( id, includeDetails: false, cancellationToken: cancellationToken ) )?.ToAbpUserData()); }