Beispiel #1
0
        internal OneSpanSign.API.Package ToAPIPackage()
        {
            if (sdkPackage == null)
            {
                return(apiPackage);
            }

            OneSpanSign.API.Package package = new OneSpanSign.API.Package();

            package.Name         = sdkPackage.Name;
            package.Due          = sdkPackage.ExpiryDate;
            package.Autocomplete = sdkPackage.Autocomplete;

            if (sdkPackage.Id != null)
            {
                package.Id = sdkPackage.Id.ToString();
            }

            if (sdkPackage.Status != null)
            {
                package.Status = sdkPackage.Status;
            }

            if (sdkPackage.Description != null)
            {
                package.Description = sdkPackage.Description;
            }

            if (sdkPackage.EmailMessage != null)
            {
                package.EmailMessage = sdkPackage.EmailMessage;
            }

            if (sdkPackage.Language != null)
            {
                if (sdkPackage.Language.IsNeutralCulture)
                {
                    package.Language = sdkPackage.Language.TwoLetterISOLanguageName;
                }
                else
                {
                    string LanguageCountry = (new RegionInfo(sdkPackage.Language.LCID)).TwoLetterISORegionName;
                    package.Language = sdkPackage.Language.TwoLetterISOLanguageName + "-" + LanguageCountry;
                }
            }

            if (sdkPackage.Settings != null)
            {
                package.Settings = sdkPackage.Settings.toAPIPackageSettings();
            }

            if (sdkPackage.SenderInfo != null)
            {
                package.Sender = new SenderConverter(sdkPackage.SenderInfo).ToAPISender();
            }

            if (sdkPackage.Attributes != null)
            {
                package.Data = sdkPackage.Attributes.Contents;
            }

            if (sdkPackage.Notarized != null)
            {
                package.Notarized = sdkPackage.Notarized;
            }

            package.Trashed = sdkPackage.Trashed;

            if (sdkPackage.Visibility != null)
            {
                package.Visibility = sdkPackage.Visibility;
            }

            if (sdkPackage.TimezoneId != null)
            {
                package.TimezoneId = sdkPackage.TimezoneId;
            }

            int signerCount = 1;

            foreach (Signer signer in sdkPackage.Signers)
            {
                OneSpanSign.API.Role role = new SignerConverter(signer).ToAPIRole("signer" + signerCount);
                package.AddRole(role);
                signerCount++;
            }
            foreach (Signer signer in sdkPackage.Placeholders)
            {
                OneSpanSign.API.Role role = new SignerConverter(signer).ToAPIRole(signer.Id, signer.PlaceholderName);
                role.Index = signer.SigningOrder;
                package.AddRole(role);
                signerCount++;
            }
            foreach (FieldCondition condition in sdkPackage.Conditions)
            {
                package.AddCondition(new FieldConditionConverter(condition).ToAPIFieldCondition());
            }

            return(package);
        }
Beispiel #2
0
 public SignatureConverter(OneSpanSign.API.Approval apiApproval, OneSpanSign.API.Package package)
 {
     this.apiApproval = apiApproval;
     this.package     = package;
 }
Beispiel #3
0
 /// <summary>
 /// Construct with API object involved in conversion.
 /// </summary>
 /// <param name="apiPackage">API Package.</param>
 public DocumentPackageConverter(OneSpanSign.API.Package apiPackage)
 {
     this.apiPackage = apiPackage;
 }