Exemple #1
0
        public void ResetPasswordService_SetResetPassword_SetsTheResetPasswordGuid()
        {
            var user = new User();

            A.CallTo(() => _messageParser.GetMessage(user, null, null, null, null, null, null))
            .Returns(new QueuedMessage());

            _resetPasswordService.SetResetPassword(user);

            user.ResetPasswordGuid.Should().HaveValue();
        }
        public void Send(Comment comment)
        {
            if (Convert.ToBoolean(comment.Approved))
            {
                // Comment needs to be a 'reply' to another comment.
                if (comment.InReplyTo != null)
                {
                    // Parent Comment needs to have notifications enabled.
                    if (comment.InReplyTo.SendReplyNotifications)
                    {
                        // Notifcation must not have already been sent.
                        if (!comment.ParentNotificationSent)
                        {
                            // Send
                            var queuedMessage = _messageParser.GetMessage(comment);
                            if (queuedMessage != null)
                            {
                                _messageParser.QueueMessage(queuedMessage);

                                comment.ParentNotificationSent = true;
                                _session.Transact(session => session.Update(comment));
                            }
                        }
                    }
                }
            }
        }
Exemple #3
0
        protected override void OnExecute()
        {
            var backInStockProductVariants = _session.QueryOver <BackInStockProductVariant>().Where(variant => !variant.Processed).List();

            if (!backInStockProductVariants.Any())
            {
                return;
            }

            _session.Transact(session =>
            {
                foreach (var inStockProductVariant in backInStockProductVariants)
                {
                    BackInStockProductVariant variant = inStockProductVariant;
                    var notificationRequests          =
                        session.QueryOver <BackInStockNotificationRequest>()
                        .Where(request => !request.IsNotified && request.ProductVariant == variant.ProductVariant)
                        .List();

                    foreach (var notificationRequest in notificationRequests)
                    {
                        var queuedMessage = _messageParser.GetMessage(variant.ProductVariant, toAddress: notificationRequest.Email);
                        _messageParser.QueueMessage(queuedMessage);
                        notificationRequest.IsNotified = true;
                        session.Update(notificationRequest);
                    }

                    inStockProductVariant.Processed = true;
                    session.Update(inStockProductVariant);
                }
            });
        }
        public void Execute(OnAddedArgs <LoginAttempt> args)
        {
            if (!_settings.SendLoginNotificationEmails)
            {
                return;
            }

            var loginAttempt = args.Item;
            var user         = loginAttempt?.User;

            if (user == null)
            {
                return;
            }

            if (!user.Roles.Any(role => _roleSettings.SendNotificationEmailRoles.Contains(role.Id)))
            {
                return;
            }

            QueuedMessage message;

            switch (loginAttempt.Status)
            {
            case LoginAttemptStatus.Failure:
                message = _failureParser.GetMessage(loginAttempt);
                _failureParser.QueueMessage(message);
                break;

            case LoginAttemptStatus.Success:
                message = _successParser.GetMessage(loginAttempt);
                _successParser.QueueMessage(message);
                break;
            }
        }
Exemple #5
0
        public void Execute(OrderFullyRefundedArgs args)
        {
            var queuedMessage = _messageParser.GetMessage(args.Order);

            if (queuedMessage != null)
            {
                _session.Transact(session => session.Save(queuedMessage));
            }
        }
        public void Execute(OnAddedArgs <ProductReview> args)
        {
            var queuedMessage = _messageParser.GetMessage(args.Item);

            if (queuedMessage != null)
            {
                _session.Transact(session => session.Save(queuedMessage));
            }
        }
        public void SetResetPassword(User user)
        {
            user.ResetPasswordExpiry = CurrentRequestData.Now.AddDays(1);
            user.ResetPasswordGuid   = Guid.NewGuid();
            _userManagementService.SaveUser(user);

            QueuedMessage queuedMessage = _messageParser.GetMessage(user);

            _messageParser.QueueMessage(queuedMessage);
        }
        public void Execute(ScriptChangedEventArgs <SEOSettings> args)
        {
            if (!_settings.SendScriptChangeNotificationEmails)
            {
                return;
            }
            var message = _parser.GetMessage(new SettingScriptChangeModel
            {
                PreviousValue = args.PreviousValue,
                CurrentValue  = args.CurrentValue
            });

            _parser.QueueMessage(message);
        }
        public void Execute(OrderShippedArgs args)
        {
            Order order = args.Order;

            if (order != null && order.SalesChannel == EcommerceApp.DefaultSalesChannel)
            //only send if sold on website. Amazon and thirdparties do not allow email sending
            {
                QueuedMessage queuedMessage = _messageParser.GetMessage(order);
                if (queuedMessage != null)
                {
                    _messageParser.QueueMessage(queuedMessage);
                }
            }
        }
Exemple #10
0
 public void ActivateCard(GiftCard card)
 {
     card.Status = GiftCardStatus.Activated;
     _session.Transact(session =>
     {
         if (card.GiftCardType == GiftCardType.Virtual)
         {
             var message = _messageParser.GetMessage(card);
             _messageParser.QueueMessage(message);
         }
         card.NotificationSent = true;
         session.Update(card);
     });
 }
Exemple #11
0
        public void Execute(ScriptChangedEventArgs <Webpage> args)
        {
            if (!_settings.SendScriptChangeNotificationEmails)
            {
                return;
            }
            var message = _parser.GetMessage(new WebpageScriptChangeModel
            {
                Name          = args.Holder?.Name,
                Url           = args.Holder?.AbsoluteUrl,
                PreviousValue = args.PreviousValue,
                CurrentValue  = args.CurrentValue
            });

            _parser.QueueMessage(message);
        }
Exemple #12
0
        public ExportDocumentsResult ExportDocumentsToEmail(ExportDocumentsModel model)
        {
            var queuedMessage = _messageParser.GetMessage(toAddress: model.Email);

            _messageParser.QueueMessage(queuedMessage, new List <AttachmentData>
            {
                new AttachmentData
                {
                    Data        = ExportDocumentsToExcel(),
                    ContentType = XlsxContentType,
                    FileName    = "Documents.xlsx"
                }
            });

            return(new ExportDocumentsResult {
                Success = true
            });
        }
 public void Execute(CommentReportedEventArgs args)
 {
     var queuedMessage = _messageParser.GetMessage(args.Comment);
     _messageParser.QueueMessage(queuedMessage);
 }
        public void Execute(OnAddedArgs <Comment> args)
        {
            var queuedMessage = _messageParser.GetMessage(args.Item);

            _messageParser.QueueMessage(queuedMessage);
        }
Exemple #15
0
        public void Execute(VerifiedPending2FAEventArgs args)
        {
            QueuedMessage queuedMessage = _messageParser.GetMessage(args.User);

            _messageParser.QueueMessage(queuedMessage);
        }
Exemple #16
0
        public void Execute(ResetPasswordEventArgs args)
        {
            QueuedMessage queuedMessage = _messageParser.GetMessage(args.User);

            _messageParser.QueueMessage(queuedMessage);
        }