Skip to content

Instantly share code, notes, and snippets.

View netojoa's full-sized avatar

João Neto netojoa

View GitHub Profile
namespace Sitecore.ExperienceForms.Processing.Actions
{
public abstract class SubmitActionBase<TParametersData> : ISubmitAction
{
protected SubmitActionBase(ISubmitActionData submitActionData);
protected virtual ILogger Logger { get; }
protected ISubmitActionData SubmitActionData { get; }
public virtual void ExecuteAction(FormSubmitContext formSubmitContext, string parameters);
public class CustomAction : SubmitActionBase<string>
{
public CustomAction(ISubmitActionData submitActionData) : base(submitActionData)
{
}
protected override bool Execute(string data, FormSubmitContext formSubmitContext)
{
// Some code here
return true;
public class UpdateContact : SubmitActionBase<CustomClass>
{
}
public class CustomClass
{
public Guid FirstNameFieldId { get; set; }
public Guid LastNameFieldId { get; set; }
public Guid EmailFieldId { get; set; }
}
public class CustomAction : SubmitActionBase<string>
{
public CustomAction(ISubmitActionData submitActionData) : base(submitActionData)
{
}
protected override bool Execute(string data, FormSubmitContext formSubmitContext)
{
// Some code here
return true;
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AssemblyStatus>Exclude</AssemblyStatus>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<!--
In the default configuration of the global file, the values for a configuration in the global file supersede the values
in the project configuration. This behavior can be changed by specifying a condition on the property as follows:
#define parameters
$prefix = "sandboxsc9"
$PSScriptRoot = "X:\Sitecore\SIF\Sitecore 9.0.1 rev. 171219"
$XConnectCollectionService = "$prefix.xconnect"
$sitecoreSiteName = "$prefix.local"
$SolrUrl = "https://solr:8989/solr"
$SolrRoot = "X:\Solr\solr-6.6.2"
$SolrService = "solr-6.6.2"
$SqlServer = ".\SQLEXPRESS"
$SqlAdminUser = "sa"
using Sitecore.Mvc.Helpers;
namespace Stockpick.Forms.Feature.ExperienceForms.Extensions
{
public static class HtmlHelperExtensions
{
public static bool IsExperienceForms(this SitecoreHelper helper)
{
return Sitecore.Context.Request.QueryString["sc_formmode"] != null;
@model Stockpick.Forms.Feature.ExperienceForms.Model.Content.HiddenViewModel
@if (!Html.Sitecore().IsExperienceForms())
{
<input type="hidden" value="@Model.Value" />
}
else
{
<div class="form-group">
<p class="form-control">
using Sitecore.Publishing.Service.Pipelines.BulkPublishingEnd;
namespace Sandbox
{
public class PersistEndResultBatch
{
public void Process(PublishEndResultBatchArgs args)
{
}
}
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
<sitecore>
<pipelines>
<publishEndResultBatch>
<processor type="Sandbox.PersistEndResultBatch, Sandbox"
patch:after="*[@type='Sitecore.Publishing.Service.Pipelines.BulkPublishingEnd.RaiseRemoteEvents, Sitecore.Publishing.Service']" >
</processor>
</publishEndResultBatch>
</pipelines>
</sitecore>