Example #1
0
        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;
            });
        }
Example #2
0
        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);
        }