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; } }
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))); } }