Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
                }
            }
        }