public static Validation <Error, FileAddedEvent> Create(Guid documentId, Guid fileId, string fileName, string fileDescription) => FileName.Create(fileName) .Bind(name => FileDescription.Create(fileDescription) .Map(desc => new FileAddedEvent(new DocumentId(documentId), new FileId(fileId), name, desc, DateTime.UtcNow)));
private static Validation <Error, Document> AddFile(Validation <Error, Document> document, string fileName = "File123", string fileDescription = "Test file") { return(document .Bind(doc => FileName.Create(fileName) .Bind(name => FileDescription.Create(fileDescription) .Bind(fileDesc => doc.AddFile(new FileId(Guid.Empty), name, fileDesc))))); }