Beispiel #1
0
        public void Notify(Notification notification, IEnumerable <User> users)
        {
            var usersConcernedByThisNotifier = _notificationCrossDomainRepository.GetUsersConcernedByThisNotifier(NotifierType.InApp, users);

            foreach (var user in usersConcernedByThisNotifier)
            {
                var userNotification = UserCrossDomainMapper.ToUserNotification(user, notification);

                _dbContext.UserNotifications.Add(userNotification);
                user.NotificationSetting.UserNotifications.Add(userNotification);
            }

            _dbContext.SaveChanges();
        }
        public void Notify(Notification notification, IEnumerable <User> users)
        {
            var userEmails = _notificationCrossDomainRepository
                             .GetUsersConcernedByThisNotifier(NotifierType.Mail, users)
                             .Where(user => !string.IsNullOrEmpty(user.Email))
                             .Select(user => new Address(user.Email))
                             .ToList();

            if (userEmails.Any())
            {
                _email
                .To(userEmails)
                .Subject(notification.Title)
                .Body(notification.Content)
                .Send();
            }
        }