public async Task Run() { var nextWorkingDate = dateCalculator.GetNextWorkingDate(); var requests = await requestRepository.GetRequests(nextWorkingDate, nextWorkingDate); var users = await userRepository.GetUsers(); foreach (var userId in requests.Where(r => r.Status.IsRequested()).Select(r => r.UserId)) { var user = users.Single(u => u.UserId == userId); await emailRepository.Send( new EmailTemplates.DailyNotification(requests, user, nextWorkingDate)); } }
public async Task Run() { var nextWorkingDate = dateCalculator.GetNextWorkingDate(); var reservations = await reservationRepository.GetReservations(nextWorkingDate, nextWorkingDate); if (!reservations.Any()) { var teamLeaderUsers = await userRepository.GetTeamLeaderUsers(); foreach (var teamLeaderUser in teamLeaderUsers.Where(u => u.ReservationReminderEnabled)) { await emailRepository.Send( new EmailTemplates.ReservationReminder(teamLeaderUser, nextWorkingDate)); } } }