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);
            }
        }
Beispiel #4
0
		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;
        }
Beispiel #9
0
 public void ConvertNullAPIToAPI()
 {
     apiDocument1 = null;
     converter    = new DocumentConverter(apiDocument1, apiPackage);
     Assert.IsNull(converter.ToAPIDocument());
 }
        /// <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);
            }
        }