internal PackageBuilder(Silanis.ESL.API.Package package) { this.id = new PackageId(package.Id); this.packageName = package.Name; this.autocomplete = package.Autocomplete; this.description = package.Description; this.expiryDate = package.Due; this.status = ConvertPackageStatus(package.Status); this.emailMessage = package.EmailMessage; this.settings = new DocumentPackageSettingsBuilder(package.Settings).build(); foreach (Silanis.ESL.API.Role role in package.Roles) { if (role.Signers.Count == 0) { continue; } Signer signer = SignerBuilder.NewSignerFromAPISigner(role).Build(); WithSigner(signer); } foreach (Silanis.ESL.API.Document apiDocument in package.Documents) { Document document = DocumentBuilder.NewDocumentFromAPIDocument(apiDocument, package).Build(); WithDocument(document); } }
internal PackageBuilder(Silanis.ESL.API.Package package) { this.id = new PackageId(package.Id); this.packageName = package.Name; this.autocomplete = package.Autocomplete; this.description = package.Description; this.expiryDate = package.Due; this.status = ConvertPackageStatus(package.Status); this.emailMessage = package.EmailMessage; this.settings = new DocumentPackageSettingsBuilder(package.Settings).build(); this.senderInfo = new SenderConverter(package.Sender).ToSDKSenderInfo(); this.attributes = new DocumentPackageAttributes(package.Data); foreach (Silanis.ESL.API.Role role in package.Roles) { if (role.Signers.Count == 0) { continue; } if (role.Signers[0].Group != null) { WithSigner(SignerBuilder.NewSignerFromGroup(new GroupId(role.Signers[0].Group.Id))); } else { WithSigner(SignerBuilder.NewSignerFromAPISigner(role).Build()); if (role.Type == Silanis.ESL.API.RoleType.SENDER) { Silanis.ESL.API.Signer senderSigner = role.Signers[0]; WithSenderInfo(SenderInfoBuilder.NewSenderInfo(senderSigner.Email) .WithName(senderSigner.FirstName, senderSigner.LastName) .WithCompany(senderSigner.Company) .WithTitle(senderSigner.Title)); } } } foreach (Silanis.ESL.API.Document apiDocument in package.Documents) { Document document = DocumentBuilder.NewDocumentFromAPIDocument(apiDocument, package).Build(); WithDocument(document); } }