public void Execute(OnUpdatedArgs <BatchRun> args) { var hubContext = GlobalHost.ConnectionManager.GetHubContext <BatchProcessingHub>(); var batchRun = args.Item; hubContext.Clients.All.updateRun(batchRun.ToSimpleJson(_batchRunUIService.GetCompletionStatus(batchRun))); }
public void Execute(OnUpdatedArgs <Webpage> args) { Webpage current = args.Item; Webpage original = args.Original; if (current == null || original == null) { return; } string action = "updated"; if ((!original.Published && current.Published)) { action = "published"; } else if ((original.Published && !current.Published)) { action = "unpublished"; } string message = string.Format("<a href=\"/Admin/Webpage/Edit/{1}\">{0}</a> has been {2}{3}.", current.Name, current.Id, action, _documentModifiedUser.GetInfo()); _notificationPublisher.PublishNotification(message, PublishType.Both, NotificationType.AdminOnly); }
public void Execute(OnUpdatedArgs <ProductVariant> args) { // if warehouse stock is enabled, it's not relevant if (_ecommerceSettings.WarehouseStockEnabled) { return; } var productVariant = args.Original; if (productVariant == null) { return; } var oldValue = args.Original.StockRemaining; if (oldValue > 0) { return; } var newValue = args.Item.StockRemaining; if (newValue <= 0) { return; } if (newValue > oldValue) { RaiseBackInStockNotification(productVariant); } }
public void Execute(OnUpdatedArgs <Layout> args) { var webpage = args.Item; string message = string.Format("<a href=\"/Admin/Layout/Edit/{1}\">{0}</a> has been updated{2}.", webpage.Name, webpage.Id, _documentModifiedUser.GetInfo()); _notificationPublisher.PublishNotification(message, PublishType.Both, NotificationType.AdminOnly); }
public void Execute(OnUpdatedArgs <Order> args) { if (args.Item.IsCancelled && !args.Original.IsCancelled) { EventContext.Instance.Publish <IOnOrderCancelled, OrderCancelledArgs>(new OrderCancelledArgs { Order = args.Item }); } }
public void Execute(OnUpdatedArgs <Webpage> args) { if (!args.HasChanged(x => x.CustomFooterScripts)) { return; } EventContext.Instance.Publish <IOnFooterScriptChanged, ScriptChangedEventArgs <Webpage> >( new ScriptChangedEventArgs <Webpage>(args.Item, args.Item.CustomFooterScripts, args.Original?.CustomFooterScripts)); }
public void Execute(OnUpdatedArgs <BatchRunResult> args) { IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext <BatchProcessingHub>(); BatchRunResult batchRunResult = args.Item; hubContext.Clients.All.updateResult(batchRunResult.Id); BatchRun batchRun = batchRunResult.BatchRun; hubContext.Clients.All.updateRun(batchRun.ToSimpleJson(_batchRunUIService.GetCompletionStatus(batchRun))); hubContext.Clients.All.updateJob(batchRunResult.BatchJob.Id); }
public void Execute(OnUpdatedArgs <BatchRun> args) { BatchRun batchRun = args.Item; BatchRun previous = args.Original; if (batchRun.Status == BatchRunStatus.Complete && previous.Status != BatchRunStatus.Complete) { IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext <BatchProcessingHub>(); hubContext.Clients.All.refreshBatchRunUI(batchRun.Id); } }
public void Execute(OnUpdatedArgs <GiftCard> args) { GiftCard giftCard = args.Item; Order order; if (ShouldCheck(giftCard, out order)) { return; } ActivateIfRequired(giftCard, order); }
public void Execute(OnUpdatedArgs <Webpage> args) { if (args.Original == null || args.Item == null) { return; } if (args.Original.Parent?.Id != args.Item.Parent?.Id) { _pageHierarchyAdminService.UpdateHierarchy(args.Item); } }
public void Execute(OnUpdatedArgs <Document> args) { var document = args.Item; if (document != null && !document.IsDeleted) { var propertyInfos = document.GetType().GetVersionProperties(); var jObject = new JObject(); var anyChanges = false; foreach (var propertyInfo in propertyInfos) { if (propertyInfo == null) { continue; } var oldValue = propertyInfo.GetValue(args.Original) ?? (propertyInfo.PropertyType.IsValueType ? Activator.CreateInstance(propertyInfo.PropertyType) : null); var newValue = propertyInfo.GetValue(args.Item); if (oldValue != null) { if (!oldValue.Equals(newValue)) { anyChanges = true; } } if (oldValue == null && newValue != null) { anyChanges = true; } jObject.Add(propertyInfo.Name, new JRaw(JsonConvert.SerializeObject(oldValue))); } if (anyChanges) { var s = args.Session; var documentVersion = new DocumentVersion { Document = document, Data = JsonConvert.SerializeObject(jObject), User = GetUser(s), }; document.Versions.Add(documentVersion); s.Transact(session => session.Save(documentVersion)); } } }
public void Execute(OnUpdatedArgs <SiteEntity> args) { var siteEntity = args.Item; if (siteEntity == null) { return; } if (ShouldBeUpdated(siteEntity)) { QueueTask(typeof(UpdateIndicesTask <>), siteEntity, LuceneOperation.Update); } }
public void Execute(OnUpdatedArgs <ProductVariant> args) { if (!_ecommerceSettings.WarehouseStockEnabled) { return; } var current = args.Item; var previous = args.Original; if (current.TrackingPolicy == TrackingPolicy.Track && previous.TrackingPolicy == TrackingPolicy.DontTrack) { _generateProductVariantWarehouseStock.Generate(current); } }
public void Execute(OnUpdatedArgs <Order> args) { var order = args.Item; if (order == null) { return; } var giftCards = order.OrderLines.SelectMany(line => line.GiftCards).ToList(); foreach (var giftCard in giftCards.Where(card => card.Status == GiftCardStatus.Unactivated)) { ActivateIfRequired(giftCard, order); } }
public void Execute(OnUpdatedArgs <MediaFile> args) { if (!args.Item.IsImage()) { return; } if (!args.HasChanged(file => file.Title) && !args.HasChanged(file => file.Description)) { return; } var prefix = string.Format("{0}{1}", MediaSettingExtensions.RenderImagePrefix, GetUrlWithoutExtension(args.Item.FileUrl)); _cacheManager.Clear(prefix); }
public void Execute(OnUpdatedArgs <Webpage> args) { Webpage webpage = args.Item; if (webpage == null) { return; } Webpage original = args.Original; string urlSegment = null; if (original != null) { urlSegment = original.UrlSegment; } SaveChangedUrl(urlSegment, webpage.UrlSegment, args.Session, webpage); }
public void Execute(OnUpdatedArgs <MediaFile> args) { if (!args.Item.IsImage()) { return; } if (!args.HasChanged(file => file.Title) && !args.HasChanged(file => file.Description)) { return; } var tagPrefix = $"{MediaSettingExtensions.RenderTagPrefix}{GetUrlWithoutExtension(args.Item.FileUrl)}"; var urlPrefix = $"{MediaSettingExtensions.RenderUrlPrefix}{GetUrlWithoutExtension(args.Item.FileUrl)}"; _cacheManager.Clear(tagPrefix); _cacheManager.Clear(urlPrefix); }
public void Execute(OnUpdatedArgs <Order> args) { if (!_ecommerceSettings.RewardPointsEnabled) { return; } var order = args.Item; if (order.User == null) { return; } if (order.OrderStatus != _rewardPointSettings.StatusToAward) { return; } var pointsToAward = PointsToAward(order); if (pointsToAward <= 0) { return; } var alreadyAwarded = _session.QueryOver <PointsAwarded>().Where(awarded => awarded.Order.Id == order.Id).Any(); if (alreadyAwarded) { return; } _session.Transact(session => session.Save(new PointsAwarded { Points = pointsToAward, User = order.User, Order = order, })); }
public void Execute(OnUpdatedArgs <ProductVariant> args) { var productVariant = args.Original; if (productVariant == null) { return; } var oldValue = args.Original.StockRemaining; if (oldValue > 0) { return; } var newValue = args.Item.StockRemaining; if (newValue <= 0) { return; } if (newValue > oldValue) { _session.Transact(sess => { var variant = sess.Get <ProductVariant>(productVariant.Id); var backInStockProductVariant = new BackInStockProductVariant { ProductVariant = variant, CreatedOn = CurrentRequestData.Now, UpdatedOn = CurrentRequestData.Now, }; sess.Save(backInStockProductVariant); }); } }
public void Execute(OnUpdatedArgs <WarehouseStock> args) { // if warehouse stock is not enabled, it's not relevant if (!_ecommerceSettings.WarehouseStockEnabled) { return; } // these first two checks are saying that either if there was stock, before, // or there still isn't stock, it's definitely not back in stock. var oldValue = args.Original.StockLevel; if (oldValue > 0) { return; } var newValue = args.Item.StockLevel; if (newValue <= 0) { return; } var stockItem = args.Item; var variant = stockItem.ProductVariant; // We check the other warehouses, to see if it was out of stock everywhere, or just here var otherWarehousesWithStock = _session.QueryOver <WarehouseStock>() .Where( stock => stock.ProductVariant.Id == variant.Id && stock.StockLevel > 0 && stock.Id != stockItem.Id) .Cacheable() .Any(); if (!otherWarehousesWithStock) { RaiseBackInStockNotification(variant); } }
public void Execute(OnUpdatedArgs <Order> args) { if (!_ecommerceSettings.RewardPointsEnabled) { return; } Order order = args.Item; if (order.User == null) { return; } if (order.OrderStatus != _rewardPointSettings.StatusToCancel) { return; } RemoveAddedPoints(order); ReimburseSpentPoints(order); }
public void Execute(OnUpdatedArgs <BatchJob> args) { var hubContext = GlobalHost.ConnectionManager.GetHubContext <BatchProcessingHub>(); hubContext.Clients.All.updateJob(args.Item.Id); }
public void Execute(OnUpdatedArgs <SystemEntity> args) { _universalSearchIndexManager.Update(args.Item); }
public void Execute(OnUpdatedArgs <Webpage> args) { _addCommentingInfoForWebpage.AddInfo(args.Item); }
public void Execute(OnUpdatedArgs <Widget> args) { var cacheKey = "Widget." + args.Item.Id; _cacheManager.Clear(cacheKey); }
public void Execute(OnUpdatedArgs <ProductReview> args) { _updateProductVariantReviewData.Update(args.Item.ProductVariant); }
public void Execute(OnUpdatedArgs <Comment> args) { var comment = args.Item; _sendCommentNotification.Send(comment); }