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;
            }
        }
예제 #2
0
        public void Execute(OnAddedArgs <Document> args)
        {
            var document = args.Item;

            if (document != null)
            {
                PublishMessage(document);
            }
        }
        public void Execute(OnAddedArgs <ProductReview> args)
        {
            var queuedMessage = _messageParser.GetMessage(args.Item);

            if (queuedMessage != null)
            {
                _session.Transact(session => session.Save(queuedMessage));
            }
        }
예제 #4
0
        public void Execute(OnAddedArgs <GiftCard> args)
        {
            GiftCard giftCard = args.Item;
            Order    order;

            if (ShouldCheck(giftCard, out order))
            {
                return;
            }
            ActivateIfRequired(giftCard, order);
        }
예제 #5
0
        public void Execute(OnAddedArgs <SiteEntity> args)
        {
            var siteEntity = args.Item;

            if (siteEntity == null)
            {
                return;
            }
            if (ShouldBeUpdated(siteEntity))
            {
                QueueTask(typeof(InsertIndicesTask <>), siteEntity, LuceneOperation.Insert);
            }
        }
        public void Execute(OnAddedArgs <NewsletterTemplate> args)
        {
            var contentItemTemplateDatas = _getTemplateDataForNewTemplate.Get();

            if (!contentItemTemplateDatas.Any())
            {
                return;
            }
            args.Session.Transact(session => contentItemTemplateDatas.ForEach(data =>
            {
                data.NewsletterTemplate = args.Item;
                session.Save(data);
            }));
        }
        public void Execute(OnAddedArgs <ProductVariant> args)
        {
            if (!_ecommerceSettings.WarehouseStockEnabled)
            {
                return;
            }
            var productVariant = args.Item;

            if (productVariant.TrackingPolicy != TrackingPolicy.Track)
            {
                return;
            }
            _generateProductVariantWarehouseStock.Generate(productVariant);
        }
예제 #8
0
 public void Execute(OnAddedArgs <SystemEntity> args)
 {
     _universalSearchIndexManager.Insert(args.Item);
 }
예제 #9
0
 public void Execute(OnAddedArgs <Webpage> args)
 {
     _addCommentingInfoForWebpage.AddInfo(args.Item);
 }
        public void Execute(OnAddedArgs <Comment> args)
        {
            var comment = args.Item;

            _sendCommentNotification.Send(comment);
        }
        public void Execute(OnAddedArgs <Comment> args)
        {
            var queuedMessage = _messageParser.GetMessage(args.Item);

            _messageParser.QueueMessage(queuedMessage);
        }
        public void Execute(OnAddedArgs <MediaCategory> args)
        {
            var mediaCategory = args.Item;

            _fileService.CreateFolder(mediaCategory);
        }
예제 #13
0
 public void Execute(OnAddedArgs <OrderLine> args)
 {
     _session.Transact(session => Execute(args.Item));
 }
예제 #14
0
 public void Execute(OnAddedArgs <Webpage> args)
 {
     _pageHierarchyAdminService.UpdateHierarchy(args.Item);
 }
예제 #15
0
 public void Execute(OnAddedArgs <ProductReview> args)
 {
     _updateProductVariantReviewData.Update(args.Item.ProductVariant);
 }