Exemple #1
0
        /**
         *  创建草稿
         **/
        private SdkResponse <Contract> Draft(SDKClient client)
        {
            ContractDraftRequest request  = new ContractDraftRequest();
            Contract             contract = new Contract();

            contract.Subject = "合同主题名称";
            //添加平台方签署方
            Signatory platformSignatory = new Signatory("COMPANY", new User("张忱昊", "17621699044", "MOBILE"), 1);

            platformSignatory.TenantName = "大头橙橙汁公司";//平台方公司名称
            //添加平台方签署流程,可根据需要调整
            //目前平台方签署流程为: (1)公章签署(2)法人章签署
            // 公章签署流程,并设置签署公章ID
            SignAction sealAction = new SignAction("COMPANY", 1);

            sealAction.SealId = "2490828768980361630";
            platformSignatory.AddAction(sealAction);
            contract.AddSignatory(platformSignatory);

            //添加个人签署方,并设置个人签署方需要上传的附件内容
            Signatory personalSignatory = new Signatory("PERSONAL", new User("邓茜茜", "15021504325", "MOBILE"), 2);

            personalSignatory.TenantName = "邓茜茜";//接收方名称
            contract.AddSignatory(personalSignatory);

            //设置合同基本信息
            contract.ExpireTime = "2020-07-28 23:59:59"; //设置合同过期时间,合同过期时间需要晚于发起时间
            contract.Send       = false;                 //合同不发起
            request.Contract    = contract;

            string response = null;

            try
            {
                response = client.Service(request);
            }
            catch (Exception e)
            {
                throw new Exception("创建合同草稿请求服务器失败,失败原因" + e.Message);
            }

            SdkResponse <Contract> sdkResponse = HttpJsonConvert.DeserializeResponse <Contract>(response);

            if (!sdkResponse.Code.Equals(0))
            {
                throw new Exception("创建合同草稿失败,失败原因:" + sdkResponse.Message);
            }
            return(sdkResponse);
        }
Exemple #2
0
        /**
         *  用户通过配置好的业务分类进行合同发起
         *  需在业务分类里配置好将要发起的合同文件或合同模板
         *  配置好整个签署流程,以及签署流程中使用的印章
         *
         **/
        private SdkResponse <Contract> DraftByCategory(SDKClient client)
        {
            Contract draftContract = new Contract();

            draftContract.Subject  = "合同主体";                                    // 设置合同名称
            draftContract.Category = new Category("2584280095237849689");       //设置将要使用的业务分类配置
            draftContract.AddTemplateParam(new TemplateParam("接收方2", "发起方填参")); //若业务分类配置了参数模板,进行发起方填参
            draftContract.AddTemplateParam(new TemplateParam("接收方1", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方3", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方4", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方5", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方6", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方7", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方8", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方9", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方10", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方11", "发起方填参2"));
            draftContract.AddTemplateParam(new TemplateParam("接收方12", "发起方填参2"));
            //设置 合同接收方,该设置的合同接收方需要与业务分类配置的接收方流程一致
            Signatory companySignatory = new Signatory("COMPANY", new User("17621699044", "MOBILE"), 1);

            companySignatory.TenantName = "大头橙橙汁公司";
            draftContract.AddSignatory(companySignatory);
            Signatory personalSignatory = new Signatory("PERSONAL", new User("15021504325", "MOBILE"), 2);

            personalSignatory.TenantName = "邓茜茜";
            draftContract.AddSignatory(personalSignatory);
            draftContract.Send = true;  //设置发起默认发起,业务分类中必须要有可用的签署文件

            string response = null;

            try
            {
                response = client.Service(new ContractDraftRequest(draftContract));
            }
            catch (Exception e)
            {
                throw new Exception("创建合同草稿请求服务器失败,错误原因:" + e.Message);
            }
            SdkResponse <Contract> sdkResponse = HttpJsonConvert.DeserializeResponse <Contract>(response);

            if (!sdkResponse.Code.Equals(0))
            {
                throw new Exception("创建合同草稿失败,失败原因:" + sdkResponse.Message);
            }
            return(sdkResponse);
        }