private JObject CreateEnvelopeFromTemplateBodyTransformation()

in certified-connectors/DocuSign/script.csx [200:243]


    private JObject CreateEnvelopeFromTemplateBodyTransformation(JObject body)
    {
        var templateRoles = new JArray();
        var signer = new JObject();
        var count = 0;

        foreach (var property in body)
        {
            var value = (string)property.Value;
            var key = (string)property.Key;

            if (key.Contains(" Name"))
            {
                signer["roleName"] = key.Substring(0, key.Length - 5);
                signer["name"] = value;
            }

            if (key.Contains(" Email"))
            {
                signer["email"] = value;
            }

            if (count % 2 != 0)
            {
                templateRoles.Add(signer);
                signer = new JObject();
            }

            count++;
        }

        var query = HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query);
        var newBody = new JObject()
        {
            ["templateRoles"] = templateRoles,
            ["templateId"] = query.Get("templateId")
        };

        var uriBuilder = new UriBuilder(this.Context.Request.RequestUri);
        uriBuilder.Path = uriBuilder.Path.Replace("envelopes/createFromTemplate", "/envelopes");
        this.Context.Request.RequestUri = uriBuilder.Uri;

        return newBody;
    }