Delete form responses

You can delete form responses by specifying any of the form properties as delete criterion. For example, you can delete only the form responses created by a specific user.

To delete a specific form response, you use the FormsManager class and call the Delete method passing the form entry as a parameter. The following code deletes a form response with the specified userId via Sitefinity CMS Native API:

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Forms.Model;
using Telerik.Sitefinity.Modules.Forms;
using Telerik.Sitefinity.Security.Claims;

namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Forms
{
   public partial class FormsSnippets
   {
       public static void DeleteFormResponse(Guid entryId, string formName)
       {
           //gets an instance of the forms manager
           FormsManager formsManager = FormsManager.GetManager();
           string entryType = String.Format("{0}.{1}", formsManager.Provider.FormsNamespace, formName);

           //gets  the current user id
           var userId = ClaimsManager.GetCurrentUserId();

           //get a specific form response by type and userId
           FormEntry formEntry = formsManager.GetFormEntries(entryType).Where(a => a.UserId == userId).FirstOrDefault();

           if (formEntry != null)
           {
               //deletes the form response
               formsManager.Delete(formEntry);
               formsManager.SaveChanges();
           }
       }
   }
}

In the code above, you first get an instance of the FormsManager class. Next, you filter response entries by getting the current user ID. You use LINQ query to filter the form entries and the GetFormEntries method of the FormsManager class. Finally, if the form response entry is not null, you use the Deletemethod to remove the response.

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
New to Sitefinity?