Send submitted form data to Salesfusion

Scott Widmer asked on June 8, 2017 22:19

Hello,

I need to send submitted form data to Salesfusion. I have looked around for an example I can work off of but nothing I've seen seems specific enough to what I want to do. Do I want to use OnAfterSave event, if so where do initiate that?

I have the option to send form data as webclient or via rest string.

I am not a .NET developer or much more than a frontend developer using Kentico (limited use of 8.1 and 5.5 for a single client).

Anyone willing to point me in the right direction on the best way to accomplish this?

Thanks, Scott

Recent Answers


Brenden Kehren answered on June 8, 2017 22:36 (last edited on June 8, 2017 22:39)

If you're not much of a .NET dev then I'd look at doing this on the client side vs. writing C# code for it. There are at least 3 different ways I can think of on the C# side to do things.

  1. Custom global event handler
  2. Clone the biz form webpart and perform your actions in there after form submit.
  3. Create your own custom webpart and do all your events within there after form submit (very close to option #2).

Code could look something like this for a global event handler:

    using CMS.Base;
    using CMS.DataEngine;
    using CMS.EventLog;
    using CMS.OnlineForms;
    using CMS.SettingsProvider;
    using System;

    [CustomClassLoaderModule]
    /// <summary>
    /// Summary description for CustomClassLoaderModule
    /// </summary>
    public partial class CMSModuleLoader
    {
        private class CustomClassLoaderModuleAttribute: CMSLoaderAttribute
        {
            public override void Init()
            {
                BizFormItemEvents.Insert.After += Form_Insert_After;
            }

            protected void Form_Insert_After(object sender, BizFormItemEventArgs e)
            {
                try
                {
                    // do your processing here, check the form type and get values
                    if (e.Item.ClassName == "yourform.classname")
                    {
                        // do some work because it's the right form
                        string name = e.Item.GetStringValue("ColumnName", "");
                    }
                }
                catch (Exception ex)
                {
                    EventLogProvider.LogException("SECUREFORMPROCESSING", "FORMINSERT", ex);
                }
            }
        }
    }
1 votesVote for this answer Mark as a Correct answer

Andy T answered on June 9, 2017 10:32

Other variants to submit some data to external services are Integration Bus and a custom queue via Scheduled Task. But I suppose if you don't have enough experience in .NET and Kentico, it will be more difficult for you than the variants described by Brendon.

0 votesVote for this answer Mark as a Correct answer

Scott Widmer answered on June 9, 2017 15:29

Thanks Brenden and Andy, I'll give your suggestion a try and see if I can get it to work.

0 votesVote for this answer Mark as a Correct answer

Rebecca De Santis answered on July 1, 2017 19:49

Post is informative about measuring standard for cut and Split of wood fire.
http://www.juegosfriv.live/ The accurate measure for perfection is must.Thanks for sharing this post.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.