Ejemplo n.º 1
0
 private static Validation <Error, Document> Apply(this Document document, Event evt)
 {
     return(evt switch
     {
         DocumentApprovedEvent approvedEvent => document.Approve(approvedEvent.Comment),
         FileAddedEvent fileAddedEvent => document.AddFile(fileAddedEvent.FileId, fileAddedEvent.Name,
                                                           fileAddedEvent.Description),
         DocumentSentForApprovalEvent _ => document.SendForApproval(),
         DocumentRejectedEvent rejectedEvent => document.Reject(rejectedEvent.Reason),
         DocumentUpdatedEvent updatedEvent => document.Update(updatedEvent.Number, updatedEvent.Description),
         _ => new Error($"Unknown event type: {evt.GetType().Name}")
     });
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Arguments cmdline = new Arguments(args);

            var eventType = cmdline["eventType"];
            int eventCount;

            if (!int.TryParse(cmdline["eventCount"], out eventCount))
            {
                eventCount = 10;
            }
            int firstEventId;

            if (!int.TryParse(cmdline["firstEventId"], out firstEventId))
            {
                firstEventId = 1;
            }
            int documentPerFolder;

            if (!int.TryParse(cmdline["documentPerFolder"], out documentPerFolder))
            {
                documentPerFolder = 1;
            }
            int firstFolderId;

            if (!int.TryParse(cmdline["firstFolderId"], out firstFolderId))
            {
                firstFolderId = 1;
            }

            int eventId  = firstEventId;
            int folderId = firstFolderId;

            var processor = GetCommandProcessor();

            for (var i = 0; i < eventCount; i++)
            {
                switch (eventType)
                {
                case "DocumentCreatedEvent":
                    var documentCreatedEvent = new DocumentCreatedEvent(Guid.NewGuid(), eventId, string.Format("Document_{0}", eventId), folderId);
                    processor.Post(documentCreatedEvent);
                    break;

                case "DocumentUpdatedEvent":
                    var documentUpdatedEvent = new DocumentUpdatedEvent(Guid.NewGuid(), eventId, string.Format("Document_{0}", eventId), folderId);
                    processor.Post(documentUpdatedEvent);
                    break;

                case "FolderCreatedEvent":
                    var folderCreatedEvent = new FolderCreatedEvent(Guid.NewGuid(), eventId, string.Format("Folder_{0}", eventId));
                    processor.Post(folderCreatedEvent);
                    break;
                }

                eventId++;

                if ((i + 1) % documentPerFolder == 0)
                {
                    folderId++;
                }
            }
        }
Ejemplo n.º 3
0
 private /*async*/ void OnDocumentUpdatedEvent(DocumentUpdatedEvent ev)
 {
     _nodeToFrame.Clear();
     _devTools?.DOM.GetDocument(new GetDocumentCommand());
 }
Ejemplo n.º 4
0
        private void OnDocumentUpdated(string contentType, IData data, DateTime created, DateTime lastModified)
        {
            var ev = new DocumentUpdatedEvent(this, new DocumentPath(Path), contentType, data, created, lastModified);

            AddDomainEvent(ev);
        }