public void UpdateApprovals(DocumentPackage sdkPackage, string documentId, IList<Signature> signatureList)
        {
            Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();

            IList<Approval> approvalList = new List<Approval>();
            foreach (Signature signature in signatureList)
            {
                Approval approval = new SignatureConverter(signature).ToAPIApproval();
                if (signature.IsPlaceholderSignature())
                {
                    approval.Role = signature.RoleId.Id;
                }
                else if (signature.IsGroupSignature())
                {
                    approval.Role = FindRoleIdForGroup(signature.GroupId, apiPackage);
                }
                else
                {
                    approval.Role = FindRoleIdForSigner(signature.SignerEmail, apiPackage);
                }
                approvalList.Add(approval);
            }

            apiClient.UpdateApprovals(sdkPackage.Id, documentId, approvalList);
        }
Beispiel #2
0
        public Signature GetApproval(DocumentPackage sdkPackage, string documentId, string approvalId)
        {
            Approval approval = apiClient.GetApproval(sdkPackage.Id, documentId, approvalId);
            Package  aPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();

            return(new SignatureConverter(approval, aPackage).ToSDKSignature());
        }
Beispiel #3
0
        public void UpdateApprovals(DocumentPackage sdkPackage, string documentId, IList <Signature> signatureList)
        {
            Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();

            IList <Approval> approvalList = new List <Approval>();

            foreach (Signature signature in signatureList)
            {
                Approval approval = new SignatureConverter(signature).ToAPIApproval();
                if (signature.IsPlaceholderSignature())
                {
                    approval.Role = signature.RoleId.Id;
                }
                else if (signature.IsGroupSignature())
                {
                    approval.Role = FindRoleIdForGroup(signature.GroupId, apiPackage);
                }
                else
                {
                    approval.Role = FindRoleIdForSigner(signature.SignerEmail, apiPackage);
                }
                approvalList.Add(approval);
            }

            apiClient.UpdateApprovals(sdkPackage.Id, documentId, approvalList);
        }
Beispiel #4
0
        public DocumentPackage GetPackage(PackageId id)
        {
            Silanis.ESL.API.Package package = packageService.GetPackage(id);

            DocumentPackage documentPackage = new DocumentPackageConverter(package).ToSDKPackage();

            return(documentPackage);
        }
		public void ConvertAPIToAPI()
		{
			apiPackage1 = CreateTypicalAPIPackage();
			converter = new DocumentPackageConverter(apiPackage1);
			apiPackage2 = converter.ToAPIPackage();

			Assert.IsNotNull(apiPackage2);
			Assert.AreEqual(apiPackage2, apiPackage1);
		}
Beispiel #6
0
        /// <summary>
        /// Create a document layout from an already created DocumentPackage. Will only save document fields for one document
        /// in the package.
        /// </summary>
        /// <returns>The layout id.</returns>
        /// <param name="layout">The DocumentPackage with one document from which to create layout.</param>
        public string CreateLayout(DocumentPackage layout)
        {
            Package layoutToCreate = new DocumentPackageConverter(layout).ToAPIPackage();
            foreach (Silanis.ESL.SDK.Document document in layout.Documents.Values)
            {
                layoutToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(layoutToCreate));
            }

            return apiClient.CreateLayout(layoutToCreate, layout.Id.Id);
        }
Beispiel #7
0
        /// <summary>
        /// Create a document layout from an already created DocumentPackage. Will only save document fields for one document
        /// in the package.
        /// </summary>
        /// <returns>The layout id.</returns>
        /// <param name="layout">The DocumentPackage with one document from which to create layout.</param>
        public string CreateLayout(DocumentPackage layout)
        {
            Package layoutToCreate = new DocumentPackageConverter(layout).ToAPIPackage();

            foreach (Silanis.ESL.SDK.Document document in layout.Documents.Values)
            {
                layoutToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(layoutToCreate));
            }

            return(apiClient.CreateLayout(layoutToCreate, layout.Id.Id));
        }
Beispiel #8
0
        public IList <Signature> GetAllSignableSignatures(DocumentPackage sdkPackage, string documentId, string signerId)
        {
            IList <Signature> signatures = new List <Signature>();

            Package          aPackage  = new DocumentPackageConverter(sdkPackage).ToAPIPackage();
            IList <Approval> approvals = apiClient.GetAllSignableApprovals(sdkPackage.Id, documentId, signerId);

            foreach (Approval approval in approvals)
            {
                signatures.Add(new SignatureConverter(approval, aPackage).ToSDKSignature());
            }
            return(signatures);
        }
Beispiel #9
0
        /// <summary>
        /// Create a document layout from an already created DocumentPackage. Will only save document fields for one document
        /// in the package.
        /// </summary>
        /// <returns>DocumentPackage layout.</returns>
        /// <param name="layout">The DocumentPackage with one document from which to create layout.</param>
        public DocumentPackage CreateAndGetLayout(DocumentPackage layout)
        {
            Package layoutToCreate = new DocumentPackageConverter(layout).ToAPIPackage();

            foreach (Silanis.ESL.SDK.Document document in layout.Documents)
            {
                layoutToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(layoutToCreate));
            }

            Package createdLayout = apiClient.CreateAndGetLayout(layoutToCreate, layout.Id.Id);

            return(new DocumentPackageConverter(createdLayout).ToSDKPackage());
        }
Beispiel #10
0
        private void SetNewSignersIndexIfRoleWorkflowEnabled(PackageId templateId, DocumentPackage documentPackage)
        {
            DocumentPackage template = new DocumentPackageConverter(packageService.GetPackage(templateId)).ToSDKPackage();

            if (CheckSignerOrdering(template))
            {
                int firstSignerIndex = template.Signers.Count;
                foreach (Signer signer in documentPackage.Signers.Values)
                {
                    signer.SigningOrder = firstSignerIndex;
                    firstSignerIndex++;
                }
            }
        }
Beispiel #11
0
        public PackageId CreatePackage(DocumentPackage package)
        {
            ValidateSignatures(package);
            if (!IsSdkVersionSetInPackageData(package))
            {
                SetSdkVersionInPackageData(package);
            }

            Silanis.ESL.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage();
            PackageId id = packageService.CreatePackage(packageToCreate);

            UploadDocuments(id, package.Documents);

            return(id);
        }
Beispiel #12
0
        public PackageId CreatePackageOneStep(DocumentPackage package)
        {
            if (!IsSdkVersionSetInPackageData(package))
            {
                SetSdkVersionInPackageData(package);
            }

            Silanis.ESL.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage();
            foreach (Silanis.ESL.SDK.Document document in package.Documents.Values)
            {
                packageToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(packageToCreate));
            }
            PackageId id = packageService.CreatePackageOneStep(packageToCreate, package.Documents.Values);

            return(id);
        }
Beispiel #13
0
        public DownloadedFile DownloadAllAttachmentFilesForSignerInPackage(DocumentPackage sdkPackage, Signer signer)
        {
            Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();
            string  roleId     = "";

            foreach (Role role in apiPackage.Roles)
            {
                foreach (Silanis.ESL.API.Signer apiSigner in role.Signers)
                {
                    if (signer.Email.Equals(apiSigner.Email))
                    {
                        roleId = role.Id;
                    }
                }
            }
            return(DownloadAllAttachmentsForSignerInPackage(sdkPackage.Id.Id, roleId));
        }
Beispiel #14
0
        public PackageId CreatePackage(DocumentPackage package)
        {
            if (!IsSdkVersionSetInPackageData(package))
            {
                SetSdkVersionInPackageData(package);
            }

            Silanis.ESL.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage();
            PackageId       id = packageService.CreatePackage(packageToCreate);
            DocumentPackage retrievedPackage = GetPackage(id);

            foreach (Document document in package.Documents.Values)
            {
                UploadDocument(document, retrievedPackage);
            }

            return(id);
        }
Beispiel #15
0
        public void ModifyApproval(DocumentPackage sdkPackage, string documentId, Signature signature)
        {
            Approval approval   = new SignatureConverter(signature).ToAPIApproval();
            Package  apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();

            if (signature.IsPlaceholderSignature())
            {
                approval.Role = signature.RoleId.Id;
            }
            else if (signature.IsGroupSignature())
            {
                approval.Role = FindRoleIdForGroup(signature.GroupId, apiPackage);
            }
            else
            {
                approval.Role = FindRoleIdForSigner(signature.SignerEmail, apiPackage);
            }

            apiClient.ModifyApproval(sdkPackage.Id, documentId, approval);
        }
        public void ModifyApproval(DocumentPackage sdkPackage, string documentId, Signature signature)
        {
            Approval approval = new SignatureConverter(signature).ToAPIApproval();
            Package apiPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();

            if (signature.IsPlaceholderSignature())
            {
                approval.Role = signature.RoleId.Id;
            }
            else if (signature.IsGroupSignature())
            {
                approval.Role = FindRoleIdForGroup(signature.GroupId, apiPackage);
            }
            else
            {
                approval.Role = FindRoleIdForSigner(signature.SignerEmail, apiPackage);
            }

            apiClient.ModifyApproval(sdkPackage.Id, documentId, approval);
        }
Beispiel #17
0
        public PackageId CreatePackage(DocumentPackage package)
        {
            ValidateSignatures(package);
            if (!IsSdkVersionSetInPackageData(package))
            {
                SetSdkVersionInPackageData(package);
            }

            Silanis.ESL.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage();
            PackageId id = packageService.CreatePackage(packageToCreate);

            try
            {
                UploadDocuments(id, package.Documents);
            }
            catch (Exception e)
            {
                packageService.DeletePackage(id);
                throw new EslException("Could not create a new package." + " Exception: " + e.Message, e);
            }
            return(id);
        }
Beispiel #18
0
        private void SetNewSignersIndexIfRoleWorkflowEnabled(PackageId templateId, DocumentPackage documentPackage)
        {
            DocumentPackage template = new DocumentPackageConverter(packageService.GetPackage(templateId)).ToSDKPackage();

            if (CheckSignerOrdering(template))
            {
                int firstSignerIndex = GetMaxSigningOrder(template, documentPackage) + 1;
                foreach (Signer signer in documentPackage.Signers)
                {
                    Signer templatePlaceholder = template.GetPlaceholder(signer.Id);
                    if (templatePlaceholder != null)
                    {
                        signer.SigningOrder = templatePlaceholder.SigningOrder;
                    }

                    if (signer.SigningOrder <= 0)
                    {
                        signer.SigningOrder = firstSignerIndex;
                        firstSignerIndex++;
                    }
                }
            }
        }
 public Signature GetApproval(DocumentPackage sdkPackage, string documentId, string approvalId)
 {
     Approval approval = apiClient.GetApproval(sdkPackage.Id, documentId, approvalId);
     Package aPackage = new DocumentPackageConverter(sdkPackage).ToAPIPackage();
     return new SignatureConverter(approval, aPackage).ToSDKSignature();
 }
		public void ConvertNullSDKToAPI()
		{
			sdkPackage1 = null;
			converter = new DocumentPackageConverter(sdkPackage1);
			Assert.IsNull(converter.ToAPIPackage());
		}
		public void ConvertNullAPIToAPI()
		{
			apiPackage1 = null;
			converter = new DocumentPackageConverter(apiPackage1);
			Assert.IsNull(converter.ToAPIPackage());
		}
Beispiel #22
0
        public PackageId CreatePackageOneStep(DocumentPackage package)
        {
            if (!IsSdkVersionSetInPackageData(package))
            {
                SetSdkVersionInPackageData(package);
            }

            Silanis.ESL.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage();
            foreach(Silanis.ESL.SDK.Document document in package.Documents.Values){
                packageToCreate.AddDocument(new DocumentConverter(document).ToAPIDocument(packageToCreate));
            }
            PackageId id = packageService.CreatePackageOneStep (packageToCreate, package.Documents.Values);
            return id;
        }
Beispiel #23
0
		public PackageId CreatePackage(DocumentPackage package)
        {
            if (!IsSdkVersionSetInPackageData(package))
            {
                SetSdkVersionInPackageData(package);
            }
        
			Silanis.ESL.API.Package packageToCreate = new DocumentPackageConverter(package).ToAPIPackage();
			PackageId id = packageService.CreatePackage (packageToCreate);
            DocumentPackage retrievedPackage = GetPackage(id);

			foreach (Document document in package.Documents.Values)
			{
                UploadDocument(document, retrievedPackage);
			}

			return id;
		}