public void ConvertAPIToAPI() { apiDocument1 = CreateTypicalAPIDocument(); converter = new DocumentConverter(apiDocument1, apiPackage); apiDocument2 = converter.ToAPIDocument(); Assert.IsNotNull(apiDocument2); Assert.AreEqual(apiDocument2, apiDocument1); }
public void ConvertAPIToSDK() { apiDocument1 = CreateTypicalAPIDocument(); sdkDocument1 = new DocumentConverter(apiDocument1, apiPackage).ToSDKDocument(); Assert.IsNotNull(sdkDocument1); Assert.AreEqual(sdkDocument1.Name, apiDocument1.Name); Assert.AreEqual(sdkDocument1.Description, apiDocument1.Description); Assert.AreEqual(sdkDocument1.Index, apiDocument1.Index); Assert.AreEqual(sdkDocument1.Id, apiDocument1.Id); }
internal void SignDocument(PackageId packageId, Silanis.ESL.API.Document document) { string path = template.UrlFor(UrlTemplate.SIGN_DOCUMENT_PATH) .Replace("{packageId}", packageId.Id) .Build(); try { string json = JsonConvert.SerializeObject(document, settings); restClient.Post(path, json); } catch (EslServerException e) { throw new EslServerException("Could not sign document." + " Exception: " + e.Message, e.ServerError, e); } catch (Exception e) { throw new EslException("Could not sign document." + " Exception: " + e.Message, e); } }
internal Silanis.ESL.API.Document ToAPIDocument (Silanis.ESL.API.Package createdPackage) { Silanis.ESL.API.Document doc = new Silanis.ESL.API.Document (); doc.Name = Name; doc.Index = Index; doc.Extract = Extract; if ( Id != null ) { doc.Id = Id; } if (Description != null) { doc.Description = Description; } Converter converter = new Converter (); foreach (Signature signature in signatures) { Silanis.ESL.API.Approval approval = converter.ConvertToApproval (signature); if (signature.IsGroupSignature() ) { approval.Role = FindRoleIdForGroup (signature.GroupId, createdPackage); } else { approval.Role = FindRoleIdForSigner (signature.SignerEmail, createdPackage); } doc.AddApproval (approval); } foreach (Field field in fields) { doc.AddField (converter.ToAPIField(field)); } return doc; }
internal static DocumentBuilder NewDocumentFromAPIDocument(Silanis.ESL.API.Document apiDocument, Silanis.ESL.API.Package package) { DocumentBuilder documentBuilder = DocumentBuilder.NewDocumentNamed(apiDocument.Name) .WithId(apiDocument.Id) .AtIndex(apiDocument.Index); foreach (Silanis.ESL.API.Approval apiApproval in apiDocument.Approvals) { Signature signature = SignatureBuilder.NewSignatureFromAPIApproval(apiApproval, package).Build(); documentBuilder.WithSignature(signature); } foreach (Silanis.ESL.API.Field apiField in apiDocument.Fields) { FieldBuilder fieldBuilder = FieldBuilder.NewFieldFromAPIField(apiField); documentBuilder.WithInjectedField(fieldBuilder); } return(documentBuilder); }
public void ConvertSDKToAPI() { sdkDocument1 = CreateTypicalSDKDocument(); apiDocument1 = new DocumentConverter(sdkDocument1).ToAPIDocument(); Assert.IsNotNull(apiDocument1); Assert.AreEqual(sdkDocument1.Name, apiDocument1.Name); Assert.AreEqual(sdkDocument1.Description, apiDocument1.Description); Assert.AreEqual(sdkDocument1.Index, apiDocument1.Index); Assert.AreEqual(sdkDocument1.Id, apiDocument1.Id); }
public void ConvertNullAPIToAPI() { apiDocument1 = null; converter = new DocumentConverter(apiDocument1, apiPackage); Assert.IsNull(converter.ToAPIDocument()); }
private Silanis.ESL.API.Document CreateTypicalAPIDocument() { Silanis.ESL.API.Document apiDocument = new Silanis.ESL.API.Document(); apiDocument.Name = "apiDocument"; apiDocument.Index = 1; apiDocument.Description = "apiDocument Description"; apiDocument.Id = "apiDocumentId"; return apiDocument; }
/// <summary> /// Uploads the Document and file in byte[] to the package. /// </summary> /// <param name="packageId">The package id.</param> /// <param name="fileName">The name of the document.</param> /// <param name="fileBytes">The file to upload in bytes.</param> /// <param name="document">The document object that has field settings.</param> internal void UploadDocument(PackageId packageId, string fileName, byte[] fileBytes, Silanis.ESL.API.Document document) { string path = template.UrlFor(UrlTemplate.DOCUMENT_PATH) .Replace("{packageId}", packageId.Id) .Build(); try { string json = JsonConvert.SerializeObject(document, settings); byte[] payloadBytes = Converter.ToBytes(json); string boundary = GenerateBoundary(); byte[] content = CreateMultipartContent(fileName, fileBytes, payloadBytes, boundary); Converter.ToString(HttpMethods.MultipartPostHttp(apiToken, path, content, boundary)); } catch (Exception e) { throw new EslException("Could not upload document to package." + " Exception: " + e.Message); } }