예제 #1
0
        /*
        This method is used to (POST) create a new document from the given template id in the SignNow Application
        */
        public Template CreateNewDocumentFromTemplate(Oauth2Token token, Template template)
        {
            Template templ = null;
            try
            {
                string requestBody = JsonConvert.SerializeObject(template, Formatting.Indented);
                var client = new RestClient();
                client.BaseUrl = config.GetApiBase();

                var request = new RestRequest("/template" + "/" + template.Id + "/copy", Method.POST)
                        .AddHeader("Accept", "application/json")
                        .AddHeader("Content-Type", "application/json")
                        .AddHeader("Authorization", "Bearer " + token.AccessToken);
                request.RequestFormat = DataFormat.Json;
                request.AddBody(template);

                var httpResponse = client.Execute(request);
                string json = httpResponse.Content.ToString();
                templ = JsonConvert.DeserializeObject<Template>(json);
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Exception: {0}", ex.Message));
                throw;
            }
            return templ;
        }
        public void CreateNewDocumentFromTemplate()
        {
            string randomEmail = "lukeskywalker" + DateTime.Now.ToBinary().ToString() + "@mailinator.com";
            User user = new User();
            user.Email = randomEmail;
            user.Password = "******";
            user.FirstName = "firstName";
            user.LastName = "LastName";

            User resultUser = cudasign.userService.Create(user);

            Assert.IsNotNull("No user id from creating user", resultUser.Id);
            resultUser.Password = "******";

            Oauth2Token requestedToken = cudasign.authenticationService.RequestToken(resultUser);
            Assert.IsNotNull("Access Token", requestedToken.AccessToken);

            Document doc = new Document();
            if (Directory.Exists(InputdirPath))
            {
                string[] DocFilePath = Directory.GetFiles(@InputdirPath);
                doc.FilePath = DocFilePath[0];
            }

            Document document = cudasign.documentService.Create(requestedToken, doc);
            Assert.IsNotNull("DocumentId", document.Id);

            Template template = new Template();
            template.DocumentId = document.Id;
            template.DocumentName = "New Template-PostDoc28";

            Template resultTemplate = cudasign.documentService.CreateTemplate(requestedToken, template);
            Assert.IsNotNull("template create result", resultTemplate.Id);
            resultTemplate.DocumentName = "Copy Template-PostDoc28";

            Template copyTemplate = cudasign.documentService.CreateNewDocumentFromTemplate(requestedToken, resultTemplate);
            Assert.IsNotNull("Document Id", copyTemplate.Id);
        }