Example #1
0
        public static ICrateStorage GetEnvelopePayload()
        {
            var curDocuSignEnvelopeInfo = DocuSignEventParser.GetEnvelopeInformation(EnvelopePayload);
            var content = DocuSignEventParser.ParseXMLintoCM(curDocuSignEnvelopeInfo);

            return(new CrateStorage(Crate.FromContent("DocuSign Connect Event", content)));
        }
        private async Task PushEnvelopesToTerminalEndpoint(IEnumerable <DocuSignEnvelopeCM_v2> envelopesToNotify)
        {
            foreach (var envelope in envelopesToNotify)
            {
                var eventReportContent = new EventReportCM
                {
                    EventNames        = DocuSignEventParser.GetEventNames(envelope),
                    EventPayload      = new CrateStorage(Crate.FromContent("DocuSign Connect Event", envelope)),
                    Manufacturer      = "DocuSign",
                    ExternalAccountId = envelope.ExternalAccountId
                };

                await _reporter.Broadcast(Crate.FromContent("Standard Event Report", eventReportContent));
            }
        }
Example #3
0
        private Crate ProcessConnectEvent(string curExternalEventPayload)
        {
            // Connect events come only for a single envelope
            var curDocuSignEnvelopeInfo = DocuSignEventParser.GetEnvelopeInformation(curExternalEventPayload);
            // transform XML structure into DocuSignEnvelopeCM_v2
            var curDocuSingEnvelopCM = DocuSignEventParser.ParseXMLintoCM(curDocuSignEnvelopeInfo);
            var eventReportContent   = new EventReportCM
            {
                EventNames        = DocuSignEventParser.GetEventNames(curDocuSignEnvelopeInfo),
                EventPayload      = new CrateStorage(Crate.FromContent("DocuSign Connect Event", curDocuSingEnvelopCM)),
                Manufacturer      = "DocuSign",
                ExternalAccountId = curDocuSignEnvelopeInfo.EnvelopeStatus.Email
            };

            ////prepare the event report
            var curEventReport = Crate.FromContent("Standard Event Report", eventReportContent);

            return(curEventReport);
        }
        public DocuSignEnvelopeCM_v2 GetEnvelope(DocuSignApiConfiguration config, string envelopeId)
        {
            DocuSignEnvelopeCM_v2 envelope;
            EnvelopesApi          api = new EnvelopesApi(config.Configuration);
            //Templates
            var templates  = api.ListTemplates(config.AccountId, envelopeId);
            var recipients = api.ListRecipients(config.AccountId, envelopeId);

            var filled_envelope = DocuSignEventParser.ParseAPIresponsesIntoCM(out envelope, templates, recipients);

            var envelopestatus = api.GetEnvelope(config.AccountId, envelopeId);

            filled_envelope.CreateDate            = DateTime.Parse(envelopestatus.CreatedDateTime);
            filled_envelope.SentDate              = DateTime.Parse(envelopestatus.SentDateTime);
            filled_envelope.StatusChangedDateTime = DateTime.Parse(envelopestatus.StatusChangedDateTime);
            envelope.Subject    = envelopestatus.EmailSubject;
            envelope.EnvelopeId = envelopestatus.EnvelopeId;
            envelope.Status     = envelopestatus.Status;

            return(filled_envelope);
        }