Esempio n. 1
0
 private void CheckEventsPerDocument()
 {
     if (entriesInCurrentDocument > atomDocumentSettings.NumberOfEventsPerDocument)
     {
         DocumentId = DocumentId.Add(1);
         LogTraceInfo($"Setting new head to {DocumentId}");
         Context.Parent.Tell(new DocumentMovedToNewId(DocumentId));
         entriesInCurrentDocument = 0;
     }
 }
Esempio n. 2
0
        public AtomDocument(string title, string author, FeedId feedId, DocumentId documentId, DocumentId nextArchiveDocumentId, List<AtomEntry> entries)
        {
            NextArchiveDocumentId = nextArchiveDocumentId;
            Title = title;
            Author = author;
            FeedId = feedId;
            DocumentId = documentId;
            Entries = entries;

            if (DocumentId.DocumentIndex > 0)
                PreviousArchiveDocumentId = DocumentId.Subtract(1);

            NextArchiveDocumentId = documentId.Add(1);
        }
        private void Process(DomainEvent domainEvent)
        {
            repository.Add(this.CurrentDocumentId, converter.ConvertDomainEventToAtomEntry(domainEvent)).Wait();
            numberOfEvents++;

            LogTraceInfo($"Fish Added event {numberOfEvents} to document with a maximum of {atomDocumentSettings.NumberOfEventsPerDocument} to document {CurrentDocumentId.Id}");

            if (numberOfEvents > atomDocumentSettings.NumberOfEventsPerDocument)
            {
                numberOfEvents         = 0;
                this.CurrentDocumentId = CurrentDocumentId.Add(1);
                LogTraceInfo("Moving To Next Document");
                subscriptionActor.Tell(new NewDocumentAddedEvent(new DocumentId(CurrentDocumentId.Id)));
            }
        }