public void ConvertAPIToSDK() { apiRole = CreateTypicalAPIRole(); apiSigner1 = apiRole.Signers[0]; sdkSigner1 = new SignerConverter(apiRole).ToSDKSigner(); Assert.IsNotNull(sdkSigner1); Assert.AreEqual(apiSigner1.Email, sdkSigner1.Email); Assert.AreEqual(apiSigner1.FirstName, sdkSigner1.FirstName); Assert.AreEqual(apiSigner1.LastName, sdkSigner1.LastName); Assert.AreEqual(apiSigner1.Company, sdkSigner1.Company); Assert.AreEqual(apiSigner1.SignerType, sdkSigner1.SignerType); Assert.AreEqual(apiSigner1.Title, sdkSigner1.Title); Assert.AreEqual(apiSigner1.Language, sdkSigner1.Language); Assert.AreEqual(apiRole.Id, sdkSigner1.Id); Assert.AreEqual(apiRole.Index, sdkSigner1.SigningOrder); Assert.AreEqual(apiRole.Reassign, sdkSigner1.CanChangeSigner); Assert.AreEqual(apiRole.EmailMessage.Content, sdkSigner1.Message); Assert.AreEqual(apiSigner1.Delivery.Email, sdkSigner1.DeliverSignedDocumentsByEmail); string attachmentName = apiRole.AttachmentRequirements[0].Name; OneSpanSign.API.AttachmentRequirement apiAttachment = apiRole.AttachmentRequirements[0]; OneSpanSign.Sdk.AttachmentRequirement sdkAttachment = sdkSigner1.GetAttachmentRequirement(attachmentName); Assert.AreEqual(attachmentName, sdkSigner1.GetAttachmentRequirement(attachmentName).Name); Assert.AreEqual(apiAttachment.Description, sdkAttachment.Description); Assert.AreEqual(apiAttachment.Required, sdkAttachment.Required); Assert.AreEqual(apiAttachment.Status.ToString(), sdkAttachment.Status.ToString()); Assert.AreEqual(apiAttachment.Comment, sdkAttachment.SenderComment); }
public void ConvertAPIToAPI() { apiRole = CreateTypicalAPIRole(); apiSigner1 = new SignerConverter(apiRole).ToAPISigner(); Assert.IsNotNull(apiSigner1); Assert.AreEqual(apiSigner1, apiRole.Signers[0]); }
public SignerConverter(OneSpanSign.API.Role apiRole) { this.apiRole = apiRole; if (apiRole != null) { this.apiSigner = apiRole.Signers[0]; } }
public void ConvertSDKToAPI() { sdkSigner1 = CreateTypicalSDKSigner(); apiSigner1 = new SignerConverter(sdkSigner1).ToAPISigner(); Assert.IsNotNull(apiSigner1); Assert.AreEqual(apiSigner1.Email, sdkSigner1.Email); Assert.AreEqual(apiSigner1.FirstName, sdkSigner1.FirstName); Assert.AreEqual(apiSigner1.LastName, sdkSigner1.LastName); Assert.AreEqual(apiSigner1.Company, sdkSigner1.Company); Assert.AreEqual(apiSigner1.Language, sdkSigner1.Language); Assert.AreEqual(apiSigner1.Title, sdkSigner1.Title); }
internal OneSpanSign.API.Signer ToAPISigner() { if (sdkSigner == null) { return(apiSigner); } if (sdkSigner.IsPlaceholderSigner()) { return(null); } OneSpanSign.API.Signer signer = new OneSpanSign.API.Signer(); if (!sdkSigner.IsGroupSigner()) { signer.Email = sdkSigner.Email; signer.FirstName = sdkSigner.FirstName; signer.LastName = sdkSigner.LastName; signer.Title = sdkSigner.Title; signer.Company = sdkSigner.Company; if (sdkSigner.DeliverSignedDocumentsByEmail) { signer.Delivery = new OneSpanSign.API.Delivery(); signer.Delivery.Email = sdkSigner.DeliverSignedDocumentsByEmail; } signer.KnowledgeBasedAuthentication = new KnowledgeBasedAuthenticationConverter(sdkSigner.KnowledgeBasedAuthentication).ToAPIKnowledgeBasedAuthentication(); } else { signer.Group = new OneSpanSign.API.Group(); signer.Group.Id = sdkSigner.GroupId.Id; } if (!String.IsNullOrEmpty(sdkSigner.Language)) { signer.Language = sdkSigner.Language; } if (!String.IsNullOrEmpty(sdkSigner.Id)) { signer.Id = sdkSigner.Id; } signer.Auth = new AuthenticationConverter(sdkSigner.Authentication).ToAPIAuthentication(); return(signer); }
private OneSpanSign.API.Role CreateTypicalAPIRole() { OneSpanSign.API.Role apiRole = new OneSpanSign.API.Role(); OneSpanSign.API.Signer apiSigner = new OneSpanSign.API.Signer(); apiSigner.Email = "*****@*****.**"; apiSigner.FirstName = "Signer first name"; apiSigner.LastName = "Signer last name"; apiSigner.Company = "ABC Inc."; apiSigner.SignerType = "THIRD_PARTY_SIGNER"; apiSigner.Language = "fr"; apiSigner.Title = "Doctor"; OneSpanSign.API.Delivery delivery = new OneSpanSign.API.Delivery(); delivery.Download = true; delivery.Email = true; apiSigner.Delivery = delivery; apiSigner.Id = "1"; apiRole.AddSigner(apiSigner); apiRole.Id = "3"; apiRole.Name = "Signer name"; apiRole.Index = 0; apiRole.Reassign = true; OneSpanSign.API.BaseMessage baseMessage = new OneSpanSign.API.BaseMessage(); baseMessage.Content = "Base message content."; apiRole.EmailMessage = baseMessage; apiRole.Locked = true; OneSpanSign.API.AttachmentRequirement attachmentRequirement = new OneSpanSign.API.AttachmentRequirement(); attachmentRequirement.Name = "Driver's license"; attachmentRequirement.Description = "Please upload your scanned driver's license."; attachmentRequirement.Status = OneSpanSign.Sdk.RequirementStatus.INCOMPLETE.getApiValue(); attachmentRequirement.Required = true; attachmentRequirement.Comment = "Attachment was not uploaded"; apiRole.AddAttachmentRequirement(attachmentRequirement); return(apiRole); }
private OneSpanSign.Sdk.Signer NewRegularSignerFromAPIRole() { OneSpanSign.API.Signer eslSigner = apiRole.Signers[0]; SignerBuilder builder = SignerBuilder.NewSignerWithEmail(eslSigner.Email) .WithCustomId(eslSigner.Id) .WithFirstName(eslSigner.FirstName) .WithLastName(eslSigner.LastName) .WithCompany(eslSigner.Company) .WithLanguage(eslSigner.Language) .WithTitle(eslSigner.Title) .ChallengedWithKnowledgeBasedAuthentication(new KnowledgeBasedAuthenticationConverter(eslSigner.KnowledgeBasedAuthentication).ToSDKKnowledgeBasedAuthentication()); if (apiRole.Index.HasValue) { builder.SigningOrder(apiRole.Index.Value); } foreach (OneSpanSign.API.AttachmentRequirement attachmentRequirement in apiRole.AttachmentRequirements) { builder.WithAttachmentRequirement(new AttachmentRequirementConverter(attachmentRequirement).ToSDKAttachmentRequirement()); } if (apiRole.Id != null) { builder.WithCustomId(apiRole.Id); } if (apiRole.Reassign.Value) { builder.CanChangeSigner(); } if (apiRole.EmailMessage != null) { builder.WithEmailMessage(apiRole.EmailMessage.Content); } if (eslSigner.Delivery != null && eslSigner.Delivery.Email.Value) { builder.DeliverSignedDocumentsByEmail(); } builder.WithAuthentication(new AuthenticationConverter(eslSigner.Auth).ToSDKAuthentication()); Signer signer = builder.Build(); if (apiSigner.SignerType != null) { signer.SignerType = apiSigner.SignerType; } if (apiRole.Locked.Value) { signer.Locked = true; } IDictionary <string, object> apiRoleData = apiRole.Data; if (apiRoleData != null && apiRoleData.ContainsKey("localLanguage")) { object localLanguage = apiRoleData["localLanguage"]; if (localLanguage != null) { signer.LocalLanguage = localLanguage.ToString(); } } return(signer); }
internal OneSpanSign.Sdk.DocumentPackage ToSDKPackage() { if (apiPackage == null) { return(sdkPackage); } PackageBuilder packageBuilder = PackageBuilder.NewPackageNamed(apiPackage.Name); packageBuilder.WithID(new PackageId(apiPackage.Id)); if (apiPackage.Autocomplete.Value) { packageBuilder.WithAutomaticCompletion(); } else { packageBuilder.WithoutAutomaticCompletion(); } packageBuilder.ExpiresOn(apiPackage.Due); packageBuilder.WithStatus(new PackageStatusConverter(apiPackage.Status).ToSDKPackageStatus()); if (apiPackage.Description != null) { packageBuilder.DescribedAs(apiPackage.Description); } if (apiPackage.EmailMessage != null) { packageBuilder.WithEmailMessage(apiPackage.EmailMessage); } if (apiPackage.Language != null) { packageBuilder.WithLanguage(new CultureInfo(apiPackage.Language)); } if (apiPackage.Settings != null) { packageBuilder.WithSettings(new DocumentPackageSettingsConverter(apiPackage.Settings).toSDKDocumentPackageSettings()); } if (apiPackage.Sender != null) { packageBuilder.WithSenderInfo(new SenderConverter(apiPackage.Sender).ToSDKSenderInfo()); } if (apiPackage.Notarized != null) { packageBuilder.WithNotarized(apiPackage.Notarized); } if (apiPackage.Trashed != null) { packageBuilder.WithTrashed(apiPackage.Trashed.Value); } if (apiPackage.Visibility != null) { packageBuilder.WithVisibility(new VisibilityConverter(apiPackage.Visibility).ToSDKVisibility()); } if (apiPackage.TimezoneId != null) { packageBuilder.WithTimezoneId(apiPackage.TimezoneId); } packageBuilder.WithAttributes(new DocumentPackageAttributesBuilder(apiPackage.Data).Build()); foreach (OneSpanSign.API.Role role in apiPackage.Roles) { if (role.Signers.Count == 0) { packageBuilder.WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder(role.Id, role.Name, role.Index))); } else if (role.Signers[0].Group != null) { packageBuilder.WithSigner(SignerBuilder.NewSignerFromGroup(new GroupId(role.Signers[0].Group.Id))); } else { packageBuilder.WithSigner(new SignerConverter(role).ToSDKSigner()); // The custom sender information is stored in the role.signer object. if ("SENDER".Equals(role.Type)) { // Override sender info with the customized ones. OneSpanSign.Sdk.SenderInfo senderInfo = new OneSpanSign.Sdk.SenderInfo(); OneSpanSign.API.Signer signer = role.Signers[0]; senderInfo.FirstName = signer.FirstName; senderInfo.LastName = signer.LastName; senderInfo.Title = signer.Title; senderInfo.Company = signer.Company; senderInfo.Email = signer.Email; packageBuilder.WithSenderInfo(senderInfo); } } } foreach (OneSpanSign.API.Document apiDocument in apiPackage.Documents) { Document document = new DocumentConverter(apiDocument, apiPackage).ToSDKDocument(); packageBuilder.WithDocument(document); } DocumentPackage documentPackage = packageBuilder.Build(); IList <Message> messages = new List <Message>(); foreach (OneSpanSign.API.Message apiMessage in apiPackage.Messages) { messages.Add(new MessageConverter(apiMessage).ToSDKMessage()); } documentPackage.Messages = messages; if (apiPackage.Updated != null) { documentPackage.UpdatedDate = apiPackage.Updated; } if (apiPackage.Created != null) { documentPackage.CreatedDate = apiPackage.Created; } IList <FieldCondition> conditions = new List <FieldCondition>(); foreach (OneSpanSign.API.FieldCondition apiFieldCondition in apiPackage.Conditions) { conditions.Add(new FieldConditionConverter(apiFieldCondition).ToSDKFieldCondition()); } documentPackage.Conditions = conditions; return(documentPackage); }