internal Silanis.ESL.API.Signer ToAPISigner() { Silanis.ESL.API.Signer signer = new Silanis.ESL.API.Signer(); if (!IsGroupSigner()) { signer.Email = Email; signer.FirstName = FirstName; signer.LastName = LastName; signer.Title = Title; signer.Company = Company; if (DeliverSignedDocumentsByEmail) { signer.Delivery = new Silanis.ESL.API.Delivery(); signer.Delivery.Email = DeliverSignedDocumentsByEmail; } } else { signer.Group = new Silanis.ESL.API.Group(); signer.Group.Id = GroupId.Id; } if (!String.IsNullOrEmpty(Id)) { signer.Id = Id; } signer.Auth = authentication.ToAPIAuthentication(); return(signer); }
public PackageBuilder WithSigner(Signer signer) { if (signer.IsPlaceholderSigner()) { placeholders[signer.Id] = signer; } else if (signer.IsGroupSigner()) { signers[signer.GroupId.Id] = signer; } else { signers[signer.Email] = signer; } return this; }
private Role FindRoleForGroup(PackageId packageId, string groupId) { IList <Role> roles = GetRoles(packageId); foreach (Role role in roles) { if (role.Signers.Count > 0) { Silanis.ESL.API.Signer signer = role.Signers[0]; if (signer.Group != null && signer.Group.Id.Equals(groupId)) { return(role); } } } return(null); }
public Role AddSigner(Signer value) { if (value == null) { throw new ArgumentNullException("Argument cannot be null"); } _signers.Add(value); return this; }
public void UpdateSigner( PackageId packageId, Signer signer ) { Role apiPayload = new SignerConverter( signer ).ToAPIRole( System.Guid.NewGuid().ToString()); string path = template.UrlFor (UrlTemplate.UPDATE_SIGNER_PATH) .Replace( "{packageId}", packageId.Id ) .Replace( "{roleId}", signer.Id ) .Build (); try { string json = JsonConvert.SerializeObject (apiPayload, settings); restClient.Put(path, json); } catch (EslServerException e) { throw new EslServerException ("Could not update signer." + " Exception: " + e.Message, e.ServerError, e); } catch (Exception e) { throw new EslException ("Could not update signer." + " Exception: " + e.Message, e); } }
public string AddSigner( PackageId packageId, Signer signer ) { Role apiPayload = new SignerConverter( signer ).ToAPIRole( System.Guid.NewGuid().ToString()); string path = template.UrlFor (UrlTemplate.ADD_SIGNER_PATH) .Replace( "{packageId}", packageId.Id ) .Build (); try { string json = JsonConvert.SerializeObject (apiPayload, settings); string response = restClient.Post(path, json); Role apiRole = JsonConvert.DeserializeObject<Role> (response); return apiRole.Id; } catch (EslServerException e) { throw new EslServerException ("Could not add signer." + " Exception: " + e.Message, e.ServerError, e); } catch (Exception e) { throw new EslException ("Could not add signer." + " Exception: " + e.Message, e); } }
internal Silanis.ESL.API.Signer ToAPISigner () { Silanis.ESL.API.Signer signer = new Silanis.ESL.API.Signer (); if (!IsGroupSigner()) { signer.Email = Email; signer.FirstName = FirstName; signer.LastName = LastName; signer.Title = Title; signer.Company = Company; if (DeliverSignedDocumentsByEmail) { signer.Delivery = new Silanis.ESL.API.Delivery(); signer.Delivery.Email = DeliverSignedDocumentsByEmail; } } else { signer.Group = new Silanis.ESL.API.Group(); signer.Group.Id = GroupId.Id; } if (!String.IsNullOrEmpty(Id)) { signer.Id = Id; } signer.Auth = authentication.ToAPIAuthentication (); return signer; }
internal static SignatureBuilder NewSignatureFromAPIApproval(Silanis.ESL.API.Approval apiApproval, Silanis.ESL.API.Package package) { SignatureBuilder signatureBuilder = null; Silanis.ESL.API.Signer apiSigner = null; foreach (Silanis.ESL.API.Role role in package.Roles) { if (role.Id.Equals(apiApproval.Role)) { if (!isPlaceHolder(role)) { apiSigner = role.Signers [0]; } } } if (apiSigner != null) { if (apiSigner.Group == null) { signatureBuilder = new SignatureBuilder(apiSigner.Email); } else { signatureBuilder = new SignatureBuilder(new GroupId(apiSigner.Group.Id)); } } else { signatureBuilder = new SignatureBuilder(""); } signatureBuilder.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); }