Ejemplo n.º 1
0
        public IHttpActionResult IndexDocuments([FromBody] IndexingOptions[] options)
        {
            var currentUserName = _userNameResolver.GetCurrentUserName();
            var notification    = IndexingJobs.Enqueue(currentUserName, options);

            _pushNotifier.Upsert(notification);
            return(Ok(notification));
        }
Ejemplo n.º 2
0
        public ActionResult <IndexProgressPushNotification> IndexDocuments([FromBody] IndexingOptions[] options)
        {
            var currentUserName = _userNameResolver.GetCurrentUserName();
            var notification    = IndexingJobs.Enqueue(currentUserName, options);

            _pushNotifier.Send(notification);
            return(Ok(notification));
        }
    public void GroupingTests(List <IndexEntry> sourceEntries, IEnumerable <IGrouping <string, IndexEntry> > expectGroupedEntries)
    {
        // Arrange

        // Act
        var result = IndexingJobs.GetGroupedByTypeAndDistinctedByChangeTypeIndexEntries(sourceEntries).ToList();

        // Assert
        foreach (var expectGroupedEntry in expectGroupedEntries)
        {
            var resultEntries = result.First(x => x.Key == expectGroupedEntry.Key).Select(x => x).ToList();
            Assert.Equal(expectGroupedEntry.ToList(), resultEntries, new IndexEntriesEqualityComparer());
        }
    }
        public Task Handle(DemoCustomerSegmentChangedEvent message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            // Index all members
            var userName = message.ChangedEntries.Select(x => x.NewEntry.ModifiedBy ?? x.OldEntry.ModifiedBy).FirstOrDefault(x => !x.IsNullOrEmpty());

            IndexingJobs.Enqueue(userName, new[] { new IndexingOptions {
                                                       DocumentType = KnownDocumentTypes.Member
                                                   } });

            return(Task.CompletedTask);
        }
Ejemplo n.º 5
0
        public Task Handle(MemberChangedEvent message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            var indexEntries = message.ChangedEntries
                               .Select(x => new IndexEntry {
                Id = x.OldEntry.Id, EntryState = x.EntryState, Type = KnownDocumentTypes.Member
            })
                               .ToArray();

            IndexingJobs.EnqueueIndexAndDeleteDocuments(indexEntries);

            return(Task.CompletedTask);
        }
        public async Task Handle(ProductChangedEvent message)
        {
            if (await _settingsManager.GetValueAsync(ModuleConstants.Settings.General.EventBasedIndexation.Name, false))
            {
                if (message == null)
                {
                    throw new ArgumentNullException(nameof(message));
                }

                var indexEntries = message.ChangedEntries
                                   .Select(x => new IndexEntry {
                    Id = x.OldEntry.Id, EntryState = x.EntryState, Type = KnownDocumentTypes.Product
                })
                                   .ToArray();

                IndexingJobs.EnqueueIndexAndDeleteDocuments(indexEntries);
            }
        }
Ejemplo n.º 7
0
        public Task Handle(PriceChangedEvent message)
        {
            if (_settingsManager.GetValue(Core.ModuleConstants.Settings.General.EventBasedIndexation.Name, false))
            {
                if (message == null)
                {
                    throw new ArgumentNullException(nameof(message));
                }

                var indexEntries = message.ChangedEntries
                                   .Select(x => new IndexEntry {
                    Id = x.OldEntry.ProductId, EntryState = EntryState.Modified, Type = KnownDocumentTypes.Product
                })
                                   .ToArray();

                IndexingJobs.EnqueueIndexAndDeleteDocuments(indexEntries);
            }

            return(Task.CompletedTask);
        }
Ejemplo n.º 8
0
 public IHttpActionResult CancelIndexationProcess(string taskId)
 {
     IndexingJobs.CancelIndexation();
     return(Ok());
 }