示例#1
0
        public Page <DocumentPackage> GetPackages(DocumentPackageStatus status, PageRequest request)
        {
            string path = template.UrlFor(UrlTemplate.PACKAGE_LIST_PATH)
                          .Replace("{status}", status.ToString())
                          .Replace("{from}", request.From.ToString())
                          .Replace("{to}", request.To.ToString())
                          .Build();

            try
            {
                string response = restClient.Get(path);
                Silanis.ESL.API.Result <Silanis.ESL.API.Package> results = JsonConvert.DeserializeObject <Silanis.ESL.API.Result <Silanis.ESL.API.Package> > (response, settings);

                return(ConvertToPage(results, request));
            }
            catch (EslServerException e)
            {
                Console.WriteLine(e.StackTrace);
                throw new EslServerException("Could not get package list. Exception: " + e.Message, e.ServerError, e);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                throw new EslException("Could not get package list. Exception: " + e.Message, e);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        public void ConvertSDKUnrecognizedPackageStatusToAPIUnknownValue()
        {
            apiPackageStatus1 = "NEWLY_ADDED_AUTHENTICATION_METHOD";
            DocumentPackageStatus unrecognizedSDKDocumentPackageStatus = DocumentPackageStatus.valueOf(apiPackageStatus1);
            string acutalAPIPackageStatus = new PackageStatusConverter(unrecognizedSDKDocumentPackageStatus).ToAPIPackageStatus();

            Assert.AreEqual(apiPackageStatus1, acutalAPIPackageStatus);
        }
示例#4
0
        public void whenBuildingDocumentPackageStatusWithAPIValueEXPIREDThenEXPIREDDocumentPackageStatusIsReturned()
        {
            string expectedSDKValue = "EXPIRED";


            DocumentPackageStatus classUnderTest = DocumentPackageStatus.valueOf("EXPIRED");
            string actualSDKValue = classUnderTest.getSdkValue();


            Assert.AreEqual(expectedSDKValue, actualSDKValue);
        }
示例#5
0
        public void whenBuildingDocumentPackageStatusWithUnknownAPIValueThenUNRECOGNIZEDDocumentPackageStatusIsReturned()
        {
            string expectedSDKValue = "UNRECOGNIZED";


            DocumentPackageStatus classUnderTest = DocumentPackageStatus.valueOf("ThisDocumentPackageStatusDoesNotExistInSDK");
            String actualSDKValue = classUnderTest.getSdkValue();


            Assert.AreEqual(expectedSDKValue, actualSDKValue);
        }
示例#6
0
 public void TestDocumentPackageStatus()
 {
     foreach (DocumentPackageStatus documentPackageStatus in DocumentPackageStatus.Values())
     {
         Assert.IsNotNull(documentPackageStatus.ToString());
         Assert.IsNotEmpty(documentPackageStatus.ToString());
     }
     Assert.AreEqual(0, (int)DocumentPackageStatus.DRAFT);
     Assert.AreEqual("SENT", (string)DocumentPackageStatus.SENT);
     Assert.AreEqual("COMPLETED", DocumentPackageStatus.COMPLETED.GetName());
 }
示例#7
0
        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);
            }
        }
示例#8
0
		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 );
			}
		}
示例#9
0
 public PackageBuilder WithStatus(DocumentPackageStatus status)
 {
     this.status = status;
     return(this);
 }
示例#10
0
        private Page <DocumentPackage> getPackagesByPackageStatus(DocumentPackageStatus packageStatus, DateTime startDate, DateTime endDate)
        {
            Page <DocumentPackage> resultPage = eslClient.PackageService.GetUpdatedPackagesWithinDateRange(packageStatus, new PageRequest(1), startDate, endDate);

            return(resultPage);
        }
示例#11
0
		public Page<DocumentPackage> GetPackages (DocumentPackageStatus status, PageRequest request)
		{
			string path = template.UrlFor (UrlTemplate.PACKAGE_LIST_PATH)
				.Replace ("{status}", status.ToString ())
				.Replace ("{from}", request.From.ToString ())
				.Replace ("{to}", request.To.ToString())
				.Build();

			try
			{
                string response = restClient.Get(path);
				Silanis.ESL.API.Result<Silanis.ESL.API.Package> results = JsonConvert.DeserializeObject<Silanis.ESL.API.Result<Silanis.ESL.API.Package>> (response, settings);

				return ConvertToPage(results, request);
			}
			catch (Exception e)
			{
				Console.WriteLine (e.StackTrace);
				throw new EslException ("Could not get package list. Exception: " + e.Message);	
			}
		}
示例#12
0
		public PackageBuilder WithStatus (DocumentPackageStatus status) {
			this.status = status;
			return this;
		}