예제 #1
0
        public void ConvertSDKSignerWithNullEntriesToAPIRole()
        {
            String roleId = System.Guid.NewGuid().ToString().Replace("-", "");

            sdkSigner1 = SignerBuilder.NewSignerWithEmail("*****@*****.**")
                         .CanChangeSigner()
                         .DeliverSignedDocumentsByEmail()
                         .SigningOrder(1)
                         .WithCompany("ABC Inc.")
                         .WithLanguage("fr")
                         .WithFirstName("first name")
                         .WithLastName("last name")
                         .WithTitle("Miss")
                         .Build();

            apiRole = new SignerConverter(sdkSigner1).ToAPIRole(roleId);

            Assert.IsNotNull(apiRole);
            Assert.AreEqual(apiRole.Signers[0].Email, sdkSigner1.Email);
            Assert.AreEqual(apiRole.Signers[0].FirstName, sdkSigner1.FirstName);
            Assert.AreEqual(apiRole.Signers[0].LastName, sdkSigner1.LastName);
            Assert.AreEqual(apiRole.Signers[0].Company, sdkSigner1.Company);
            Assert.AreEqual(apiRole.Signers[0].Language, sdkSigner1.Language);
            Assert.AreEqual(apiRole.Signers[0].Title, sdkSigner1.Title);
            Assert.AreEqual(apiRole.Id, roleId);
            Assert.AreEqual(apiRole.Name, roleId);
            Assert.IsNull(apiRole.EmailMessage);
        }
예제 #2
0
        public void ConvertNullAPIToAPI()
        {
            apiRole   = null;
            converter = new SignerConverter(apiRole);

            Assert.IsNull(converter.ToAPISigner());
        }
예제 #3
0
        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);
        }
예제 #4
0
        public void ConvertAPIToAPI()
        {
            apiRole    = CreateTypicalAPIRole();
            apiSigner1 = new SignerConverter(apiRole).ToAPISigner();

            Assert.IsNotNull(apiSigner1);
            Assert.AreEqual(apiSigner1, apiRole.Signers[0]);
        }
예제 #5
0
        public SignerConverter(OneSpanSign.API.Role apiRole)
        {
            this.apiRole = apiRole;

            if (apiRole != null)
            {
                this.apiSigner = apiRole.Signers[0];
            }
        }
예제 #6
0
        public OneSpanSign.API.Role ToAPIRole(string id, string name)
        {
            OneSpanSign.API.Role role = new OneSpanSign.API.Role();

            if (!sdkSigner.IsPlaceholderSigner())
            {
                role.AddSigner(new SignerConverter(sdkSigner).ToAPISigner());
            }
            role.Index    = sdkSigner.SigningOrder;
            role.Reassign = sdkSigner.CanChangeSigner;
            role.Locked   = sdkSigner.Locked;

            foreach (AttachmentRequirement attachmentRequirement in sdkSigner.Attachments)
            {
                role.AddAttachmentRequirement(new AttachmentRequirementConverter(attachmentRequirement).ToAPIAttachmentRequirement());
            }

            if (!String.IsNullOrEmpty(sdkSigner.Id))
            {
                role.Id = sdkSigner.Id;
            }
            else if (sdkSigner.IsGroupSigner())
            {
                role.Id = sdkSigner.GroupId.Id;
            }
            else
            {
                role.Id = id;
            }

            if (!String.IsNullOrEmpty(sdkSigner.PlaceholderName))
            {
                role.Name = sdkSigner.PlaceholderName;
            }
            else
            {
                role.Name = name;
            }

            if (!String.IsNullOrEmpty(sdkSigner.Message))
            {
                OneSpanSign.API.BaseMessage message = new OneSpanSign.API.BaseMessage();

                message.Content   = sdkSigner.Message;
                role.EmailMessage = message;
            }

            return(role);
        }
예제 #7
0
        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);
        }
예제 #8
0
        public void ConvertSDKSignerToAPIRole()
        {
            sdkSigner1 = CreateTypicalSDKSigner();
            String roleId = System.Guid.NewGuid().ToString().Replace("-", "");

            apiRole = new SignerConverter(sdkSigner1).ToAPIRole(roleId);

            Assert.IsNotNull(apiRole);
            Assert.AreEqual(apiRole.Signers[0].Email, sdkSigner1.Email);
            Assert.AreEqual(apiRole.Signers[0].FirstName, sdkSigner1.FirstName);
            Assert.AreEqual(apiRole.Signers[0].LastName, sdkSigner1.LastName);
            Assert.AreEqual(apiRole.Signers[0].Company, sdkSigner1.Company);
            Assert.AreEqual(apiRole.Signers[0].Language, sdkSigner1.Language);
            Assert.AreEqual(apiRole.Signers[0].Title, sdkSigner1.Title);
            Assert.AreEqual(apiRole.Id, sdkSigner1.Id);
            Assert.AreEqual(apiRole.Name, sdkSigner1.Id);
            Assert.AreEqual(apiRole.EmailMessage.Content, sdkSigner1.Message);

            string attachmentName = apiRole.AttachmentRequirements[0].Name;

            Assert.AreEqual(apiRole.AttachmentRequirements[0].Name, sdkSigner1.GetAttachmentRequirement(attachmentName).Name);
            Assert.AreEqual(apiRole.AttachmentRequirements[0].Description, sdkSigner1.GetAttachmentRequirement(attachmentName).Description);
            Assert.AreEqual(apiRole.AttachmentRequirements[0].Required, sdkSigner1.GetAttachmentRequirement(attachmentName).Required);
        }
예제 #9
0
 private static bool isGroupRole(OneSpanSign.API.Role role)
 {
     return(role.Signers.Count == 1 && role.Signers[0].Group != null);
 }
예제 #10
0
 private static bool isPlaceHolder(OneSpanSign.API.Role role)
 {
     return(role.Signers.Count == 0);
 }