private Func <VoidEnvelopeRequestModel, UpdateEnvelopeResponseModel> VoidDraftEnvelopeFunc() { return(request => { var account = AuthenticateUser(request.ESignAccount); var folderApi = new FoldersApi(); var folders = folderApi.List(account.AccountId); var deletedFolder = folders.Folders.FirstOrDefault(x => x.Type == "recyclebin" && x.OwnerUserId == account.UserId); var currentFolder = folders.Folders .FirstOrDefault(folder => folderApi.ListItems(account.AccountId, folder.FolderId).FolderItems .Any(folderItems => folderItems.EnvelopeId == request.EnvelopeId)); if (deletedFolder != null && currentFolder != null) { folderApi.MoveEnvelopes(account.AccountId, deletedFolder.FolderId, new FoldersRequest { EnvelopeIds = new List <string> { request.EnvelopeId }, FromFolderId = currentFolder.FolderId }); } return null; }); }
private static Func <BaseRequestModel, bool> IsFileExistFunc() { return(request => { var accountId = Authenticate(request.ESignAccount); var folderApi = new FoldersApi(); var folders = folderApi.List(accountId); return folders.Folders .Select(folder => folderApi.ListItems(accountId, folder.FolderId)) .Any(listItems => listItems.FolderItems .Any(listItem => listItem.EnvelopeId == request.EnvelopeId)); }); }
public static IEnumerable <FolderItem> GetFolderItems(DocuSignApiConfiguration config, DocuSignQuery docuSignQuery) { var resultItems = new List <FolderItem>(); FoldersApi api = new FoldersApi(config.Configuration); if (string.IsNullOrEmpty(docuSignQuery.Folder)) { //return all envelopes from all folders var folders = api.List(config.AccountId).Folders.Where(a => a.Filter == null); if (folders != null) { foreach (var item in folders) { var envelopesResponse = api.ListItems(config.AccountId, item.FolderId, new FoldersApi.SearchOptions() { status = docuSignQuery.Status, searchText = docuSignQuery.SearchText }); resultItems.AddRange(envelopesResponse.FolderItems); } } } else { var envelopesResponse = api.ListItems(config.AccountId, docuSignQuery.Folder, new FoldersApi.SearchOptions() { status = docuSignQuery.Status, searchText = docuSignQuery.SearchText }); resultItems.AddRange(envelopesResponse.FolderItems); } return(resultItems); }
public void JwtMoveEnvelopesTest() { JwtRequestSignatureOnDocumentTest("sent"); FoldersApi foldersApi = new FoldersApi(testConfig.ApiClient.Configuration); FoldersRequest foldersRequest = new FoldersRequest(EnvelopeIds: new List <string> { testConfig.EnvelopeId }, FromFolderId: "sentitems"); string ToFolderId = "draft"; FoldersResponse foldersResponse; try { foldersResponse = foldersApi.MoveEnvelopes(testConfig.AccountId, ToFolderId, foldersRequest); } catch (Exception ex) { Assert.Fail("Expected no exception, Actual error message: " + ex.Message); } // Test if we moved the envelope to the correct folder FoldersApi.ListItemsOptions searchOptions = new FoldersApi.ListItemsOptions(); searchOptions.includeItems = "true"; var listfromDraftsFolder = foldersApi.ListItems(testConfig.AccountId, ToFolderId, searchOptions); Assert.IsNotNull(listfromDraftsFolder); bool doesExists = false; foreach (var folders in listfromDraftsFolder.Folders) { foreach (var item in folders.FolderItems) { if (item.EnvelopeId == testConfig.EnvelopeId) { doesExists = true; break; } } } Assert.IsTrue(doesExists); }