The following example shows how to create a record in a Kentico BizForm through the Kentico API.
Function that creates a record in a BizForm called “Form_Signup”:
using CMS.FormEngine;
using CMS.CMSHelper;
using CMS.SettingsProvider;
using CMS.FormControls;
using CMS.DataEngine;
// function that saves the signup form to the database
public static int SaveSignupForm(SignupFormModel model)
{
// get form definition
BizFormInfo bfi = BizFormInfoProvider.GetBizFormInfo(
“Form_Signup”, CMSContext.CurrentSiteName);
// check if valid
if (bfi != null)
{
// get the type
DataClassInfo dci = DataClassInfoProvider.GetDataClass(bfi.FormClassID);
if (dci != null)
{
// get a provider
BizFormItemProvider bProvider = new BizFormItemProvider();
// create the record
BizFormItem rec = BizFormItem.New(dci.ClassName, bProvider);
// set the field value
rec.SetValue(“Email”, model.Email);
rec.SetValue(“FormInserted”, DateTime.Now);
rec.SetValue(“FormUpdated”, DateTime.Now);
// insert
rec.Insert();
// update count
BizFormInfoProvider.RefreshDataCount(bfi.FormName, bfi.FormSiteID);
// return new rec id
return rec.ItemID;
}
}
}
If you want to also send confirmation emails and/or notification emails, add the following to the end of the function:
// get the content for the emails
IDataClass content = DataClassFactory.NewDataClass(dci.ClassName, rec.ItemID);
BizForm f = new BizForm();
// check if confirmation
if (!String.IsNullOrEmpty(bfi.FormConfirmationSendFromEmail))
{
f.SendConfirmationEmail(
bfi.FormConfirmationSendFromEmail,
model.Email,
content, bfi);
}
// check if notification
if (!string.IsNullOrEmpty(bfi.FormSendFromEmail) && !string.IsNullOrEmpty(bfi.FormSendToEmail))
{
f.SendNotificationEmail(
bfi.FormSendFromEmail,
bfi.FormSendToEmail,
content, bfi);
}