Preview:
using SitefinityWebApp.Extension;
using SitefinityWebApp.Mvc.Models;
using System;
using Telerik.Sitefinity.DynamicModules.Model;
using Telerik.Sitefinity.DynamicModules.PublishingSystem;
using Telerik.Sitefinity.Model;
using Telerik.Sitefinity.Publishing;

namespace SitefinityWebApp.Search
{
    public class CarouselBannerInboundPipe : DynamicContentInboundPipe
    {
        protected override void SetProperties(WrapperObject wrapperObject, DynamicContent contentItem)
        {
            base.SetProperties(wrapperObject, contentItem);
            UpdateFields(wrapperObject, contentItem);
        }

        public static void RegisterPipe()
        {
            try
            {
                var pipe = string.Format("{0}Pipe", CarouselBannerModuleBuilder.Type);
                PublishingSystemFactory.UnregisterPipe(pipe);
                PublishingSystemFactory.RegisterPipe(pipe, typeof(CarouselBannerInboundPipe));
            }
            catch (Exception ex)
            {
                Telerik.Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Writer.Write(ex.Message);
            }
        }

        public void UpdateFields(WrapperObject item, IDataItem contentItem)
        {
            try
            {
                DynamicContent content = contentItem as DynamicContent;
                item.SetOrAddProperty("si_issearch", true);
                item.SetOrAddProperty("si_urlname", content.UrlName.ToString());

                item.SetOrAddPropertyCustom4Text(content, CarouselBannerModuleBuilder.Title);
                item.SetOrAddPropertyCustom4Image(content, CarouselBannerModuleBuilder.Image, new string[] { "1080_433" });
                item.SetOrAddPropertyCustom4Image(content, CarouselBannerModuleBuilder.PortraitImage, new string[] { "1080_433" });
                item.SetOrAddPropertyCustom4ChoiceOption(content, CarouselBannerModuleBuilder.StyleOption);
                item.SetOrAddPropertyCustom4Text(content, CarouselBannerModuleBuilder.Description);
                item.SetOrAddPropertyCustom4Text(content, CarouselBannerModuleBuilder.Header);
                item.SetOrAddPropertyCustom4Text(content, CarouselBannerModuleBuilder.CTALink);
                item.SetOrAddPropertyCustom4Text(content, CarouselBannerModuleBuilder.Order);
            }
            catch (Exception ex)
            {
                Telerik.Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Writer.Write(ex.Message);
            }
        }
    }
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter