Пример #1
0
        internal Silanis.ESL.API.Document ToAPIDocument(Silanis.ESL.API.Package createdPackage)
        {
            Silanis.ESL.API.Document doc = new Silanis.ESL.API.Document();

            doc.Name    = Name;
            doc.Id      = Id;
            doc.Index   = Index;
            doc.Extract = Extract;

            Converter converter = new Converter();

            foreach (Signature signature in signatures)
            {
                Silanis.ESL.API.Approval approval = converter.ConvertToApproval(signature);

                approval.Role = FindRoleIdForSignature(signature.SignerEmail, createdPackage);
                doc.AddApproval(approval);
            }

            foreach (Field field in fields)
            {
                doc.AddField(converter.ToAPIField(field));
            }

            return(doc);
        }
Пример #2
0
        internal static SignatureBuilder NewSignatureFromAPIApproval(Silanis.ESL.API.Approval apiApproval, Silanis.ESL.API.Package package)
        {
            Silanis.ESL.API.Signer apiSigner = null;
            foreach (Silanis.ESL.API.Role role in package.Roles)
            {
                if (role.Id.Equals(apiApproval.Role))
                {
                    apiSigner = role.Signers [0];
                }
            }

            if (apiSigner == null)
            {
                return(null);
            }

            SignatureBuilder signatureBuilder = new SignatureBuilder(apiSigner.Email).WithName(apiApproval.Name);

            Silanis.ESL.API.Field apiSignatureField = null;
            foreach (Silanis.ESL.API.Field apiField in apiApproval.Fields)
            {
                if (apiField.Type == Silanis.ESL.API.FieldType.SIGNATURE)
                {
                    apiSignatureField = apiField;
                }
                else
                {
                    FieldBuilder fieldBuilder = FieldBuilder.NewFieldFromAPIField(apiField);
                    signatureBuilder.WithField(fieldBuilder);
                }
            }

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

                if (apiSignatureField.Extract)
                {
                    signatureBuilder.EnableExtraction();
                }
            }

            return(signatureBuilder);
        }
Пример #3
0
        public Silanis.ESL.API.Approval ConvertToApproval(Signature signature)
        {
            Silanis.ESL.API.Approval result = new Silanis.ESL.API.Approval();

            result.AddField(ToField(signature));

            foreach (Field field in signature.Fields)
            {
                result.AddField(ToAPIField(field));
            }

            return(result);
        }
Пример #4
0
        public Silanis.ESL.API.Approval ToAPIApproval()
        {
            Silanis.ESL.API.Approval result = new Silanis.ESL.API.Approval();

            result.AddField(ToField(sdkSignature));

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

            foreach (Field field in sdkSignature.Fields)
            {
                result.AddField(new FieldConverter(field).ToAPIField());
            }

            return(result);
        }
Пример #5
0
        internal Silanis.ESL.API.Document ToAPIDocument(Silanis.ESL.API.Package createdPackage)
        {
            Silanis.ESL.API.Document doc = new Silanis.ESL.API.Document();

            doc.Name    = Name;
            doc.Index   = Index;
            doc.Extract = Extract;

            if (Id != null)
            {
                doc.Id = Id;
            }

            if (Description != null)
            {
                doc.Description = Description;
            }

            Converter converter = new Converter();

            foreach (Signature signature in signatures)
            {
                Silanis.ESL.API.Approval approval = converter.ConvertToApproval(signature);

                if (signature.IsGroupSignature())
                {
                    approval.Role = FindRoleIdForGroup(signature.GroupId, createdPackage);
                }
                else
                {
                    approval.Role = FindRoleIdForSigner(signature.SignerEmail, createdPackage);
                }
                doc.AddApproval(approval);
            }

            foreach (Field field in fields)
            {
                doc.AddField(converter.ToAPIField(field));
            }

            return(doc);
        }
Пример #6
0
        public Silanis.ESL.API.Approval ToAPIApproval()
        {
            Silanis.ESL.API.Approval result = new Silanis.ESL.API.Approval();

            result.AddField(ToField(sdkSignature));

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

            result.Optional = sdkSignature.Optional;
            result.Disabled = sdkSignature.Disabled;
            result.EnforceCaptureSignature = sdkSignature.EnforceCaptureSignature;

            foreach (Field field in sdkSignature.Fields)
            {
                result.AddField(new FieldConverter(field).ToAPIField());
            }

            return(result);
        }
Пример #7
0
 public SignatureConverter(Silanis.ESL.API.Approval apiApproval, Silanis.ESL.API.Package package)
 {
     this.apiApproval = apiApproval;
     this.package     = package;
 }
Пример #8
0
        public Silanis.ESL.API.Approval ToAPIApproval ()
        {
            Silanis.ESL.API.Approval result = new Silanis.ESL.API.Approval();

            result.AddField(ToField(sdkSignature));

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

            foreach ( Field field in sdkSignature.Fields ) {
                result.AddField( new FieldConverter( field ).ToAPIField() );
            }

            return result;
        }
Пример #9
0
 public SignatureConverter(Silanis.ESL.API.Approval apiApproval, Silanis.ESL.API.Package package)
 {
     this.apiApproval = apiApproval;
     this.package = package;
 }