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); }
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); } }
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); } }
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()); }