public Task GenerateDocumentKeysForSaveChanges() { if (entitiesStoredWithoutIDs.Count != 0) { var entity = entitiesStoredWithoutIDs.First.Value; entitiesStoredWithoutIDs.RemoveFirst(); InMemoryDocumentSessionOperations.DocumentMetadata metadata; if (tryGetValue(entity, out metadata)) { return(session.GenerateDocumentKeyForStorageAsync(entity) .ContinueWith(task => metadata.Key = modifyObjectId(task.Result, entity, metadata.Metadata)) .ContinueWithTask(GenerateDocumentKeysForSaveChanges)); } } return(new CompletedTask()); }
public Task GenerateDocumentKeysForSaveChanges() { if (entitiesStoredWithoutIDs.Count != 0) { var entity = entitiesStoredWithoutIDs.First.Value; entitiesStoredWithoutIDs.RemoveFirst(); DocumentInfo documentInfo; if (tryGetValue(entity, out documentInfo)) { return(session.GenerateDocumentKeyForStorageAsync(entity) .ContinueWith(task => documentInfo.Id = modifyObjectId(task.Result, entity, documentInfo.Metadata)) .ContinueWithTask(GenerateDocumentKeysForSaveChanges)); } } return(new CompletedTask()); }