public static async Task <IDocument> CreateDocument(this IDomain domain, DocumentId id, string newName) { var document = domain.GetDocument(id); var result = await document.Do(new CreateDocument(id, newName)); if (!result.IsSuccess) { throw new Exception(result.Error); } return(document); }