Exemple #1
0
        private OneSpanSign.API.Field ToField(Signature signature)
        {
            OneSpanSign.API.Field result = new OneSpanSign.API.Field();

            if (sdkSignature.Id != null)
            {
                result.Id = sdkSignature.Id.Id;
            }

            result.Page     = signature.Page;
            result.Name     = signature.Name;
            result.Extract  = signature.Extract;
            result.FontSize = signature.FontSize;

            if (!signature.Extract)
            {
                result.Top    = signature.Y;
                result.Left   = signature.X;
                result.Width  = signature.Width;
                result.Height = signature.Height;
            }

            if (signature.TextAnchor != null)
            {
                result.ExtractAnchor = new TextAnchorConverter(signature.TextAnchor).ToAPIExtractAnchor();
            }

            result.Type    = FieldType.SIGNATURE.getApiValue();
            result.Subtype = signature.Style.getApiValue();
            return(result);
        }
Exemple #2
0
        public void ModifyQRCode(string packageId, string documentId, OneSpanSign.API.Field apiField)
        {
            string path = template.UrlFor(UrlTemplate.QRCODE_ID_PATH)
                          .Replace("{packageId}", packageId)
                          .Replace("{documentId}", documentId)
                          .Replace("{fieldId}", apiField.Id)
                          .Build();

            string json = JsonConvert.SerializeObject(apiField, settings);

            try
            {
                restClient.Put(path, json);
            }
            catch (OssServerException e)
            {
                throw new OssServerException("Could not modify QR code in document." + " Exception: " + e.Message, e.ServerError, e);
            }
            catch (Exception e)
            {
                throw new OssException("Could not modify QR code in document." + " Exception: " + e.Message, e);
            }
        }
Exemple #3
0
        public string AddQRCode(string packageId, string documentId, OneSpanSign.API.Field apiField)
        {
            string path = template.UrlFor(UrlTemplate.QRCODE_PATH)
                          .Replace("{packageId}", packageId)
                          .Replace("{documentId}", documentId)
                          .Build();

            string json = JsonConvert.SerializeObject(apiField, settings);

            try
            {
                string response = restClient.Post(path, json);
                OneSpanSign.API.Field result = JsonConvert.DeserializeObject <OneSpanSign.API.Field>(response, settings);
                return(result.Id);
            }
            catch (OssServerException e)
            {
                throw new OssServerException("Could not add QR code to document." + " Exception: " + e.Message, e.ServerError, e);
            }
            catch (Exception e)
            {
                throw new OssException("Could not add QR code to document." + " Exception: " + e.Message, e);
            }
        }
Exemple #4
0
        public Signature ToSDKSignature()
        {
            SignatureBuilder signatureBuilder = null;

            foreach (OneSpanSign.API.Role role in package.Roles)
            {
                if (role.Id.Equals(apiApproval.Role))
                {
                    if (isPlaceHolder(role))
                    {
                        signatureBuilder = SignatureBuilder.SignatureFor(new Placeholder(role.Id));
                    }
                    else if (isGroupRole(role))
                    {
                        signatureBuilder = SignatureBuilder.SignatureFor(new GroupId(role.Signers [0].Group.Id));
                    }
                    else
                    {
                        signatureBuilder = SignatureBuilder.SignatureFor(role.Signers [0].Email);
                    }
                }
            }

            if (apiApproval.Id != null)
            {
                signatureBuilder.WithId(new SignatureId(apiApproval.Id));
            }

            OneSpanSign.API.Field apiSignatureField = null;
            foreach (OneSpanSign.API.Field apiField in apiApproval.Fields)
            {
                if (FieldType.SIGNATURE.getApiValue().Equals(apiField.Type))
                {
                    apiSignatureField = apiField;
                }
                else
                {
                    Field field = new FieldConverter(apiField).ToSDKField();
                    signatureBuilder.WithField(field);
                }
            }

            if (apiSignatureField == null)
            {
                signatureBuilder.WithStyle(SignatureStyle.ACCEPTANCE);
                signatureBuilder.WithSize(0, 0);
            }
            else
            {
                signatureBuilder.WithStyle(new SignatureStyleConverter(apiSignatureField.Subtype).ToSDKSignatureStyle())
                .OnPage(apiSignatureField.Page.Value)
                .AtPosition(apiSignatureField.Left.Value, apiSignatureField.Top.Value)
                .WithSize(apiSignatureField.Width.Value, apiSignatureField.Height.Value);

                if (apiSignatureField.Extract.Value)
                {
                    signatureBuilder.WithPositionExtracted();
                }
                if (apiSignatureField.FontSize != null)
                {
                    signatureBuilder.WithFontSize(apiSignatureField.FontSize.Value);
                }
            }

            if (apiApproval.Optional)
            {
                signatureBuilder.MakeOptional();
            }

            if (apiApproval.Disabled)
            {
                signatureBuilder.Disabled();
            }

            if (apiApproval.EnforceCaptureSignature)
            {
                signatureBuilder.EnableEnforceCaptureSignature();
            }

            Signature signature = signatureBuilder.Build();

            if (null != apiApproval.Accepted)
            {
                signature.Accepted = apiApproval.Accepted;
            }

            return(signature);
        }
 /// <summary>
 ///  Get the QR code from document.
 /// </summary>
 /// <returns>The QR code field.</returns>
 /// <param name="packageId">Package identifier of the DocumentPackage which contains the document with the QR code to get.</param>
 /// <param name="documentId">Document identifier of the Document to get QR code from.</param>
 /// <param name="qrCodeFieldId">Field identifier of the QR code to get.</param>
 public Field GetQRCode(PackageId packageId, string documentId, string qrCodeFieldId)
 {
     OneSpanSign.API.Field apiField = apiClient.GetQRCode(packageId.Id, documentId, qrCodeFieldId);
     return(new FieldConverter(apiField).ToSDKField());
 }