public SendGameEventInvitationDto(
     int gameEventId,
     [NotNull] string userNameTo,
     [NotNull] GameEventLinkGenerator gameEventLinkGenerator)
 {
     System.Diagnostics.Debug.WriteLine(userNameTo);
     GameEventId             = gameEventId;
     UserNameTo              = userNameTo;
     _gameEventLinkGenerator = gameEventLinkGenerator;
 }
Пример #2
0
        public async Task SendRemindersIfDateBetweenAsync(
            DateTime dateTimeFromInclusive,
            DateTime dateTimeToExclusive,
            GameEventLinkGenerator gameEventLinkGenerator)
        {
            var gameEvents = await GetEventsAndParticipationsWhereDateBetween(
                dateTimeFromInclusive,
                dateTimeToExclusive);

            var sendTasks = gameEvents.Select(g => SendReminder(g, gameEventLinkGenerator));
            await Task.WhenAll(sendTasks);
        }
Пример #3
0
        private Task SendReminder(GameEvent gameEvent, GameEventLinkGenerator gameEventLinkGenerator)
        {
            Debug.Assert(gameEvent.Date.HasValue, "gameEvent.Date.HasValue");
            var users         = ExtractParticipants(gameEvent);
            var notifications = users.Select(
                u => new EventReminderNotification(
                    gameEvent.Name,
                    u.UserName,
                    u.Email,
                    gameEvent.Date.Value,
                    gameEventLinkGenerator(gameEvent.Id.ToString())));

            return(_notificationService.CreateNotificationBatch(notifications).SendAsync());
        }