Skip to content

Instantly share code, notes, and snippets.

@davidknipe
davidknipe / AddItemsToProject.cs
Last active August 29, 2015 14:22
Adding items to an EPiServer Project
/// <summary>
/// Add items to a project
/// </summary>
/// <param name="repo">The ProjectRepository instance</param>
/// <param name="project">The project to save the items against</param>
/// <param name="contentReferences">A list of ContentReferences to add to the project. *Note!* the item to add should be the draft version number, not the current published version number</param>
/// <returns>A list of the saved project items</returns>
public IList<ProjectItem> AddItemsToProject(ProjectRepository repo, Project project,
IList<ContentReference> contentReferences)
{
@davidknipe
davidknipe / RemoveItemsFromProject.cs
Created June 2, 2015 09:04
Removing items from an EPiServer Project
/// <summary>
/// Removing items from a project
/// </summary>
/// <param name="repo">The ProjectRepository instance</param>
/// <param name="projectItem">The project item(s) to remove</param>
public void RemoveItemsFromProject(ProjectRepository repo, IList<ProjectItem> projectItem)
{
repo.DeleteItems(projectItem.Select(x => x.ID));
}
@davidknipe
davidknipe / ValidateFileCountInit.cs
Last active August 29, 2015 14:25
Restricting the total number of items in an EPiServer media folder
using System.Linq;
using EPiServer.Core;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.Framework.Localization;
using EPiServer.ServiceLocation;
using InitializationModule = EPiServer.Web.InitializationModule;
namespace EPiServer.Templates.Alloy.ValidateItemsInFolder
{
@davidknipe
davidknipe / AddTimeStampToImages.cs
Created September 1, 2015 15:50
Add a hash based on the image timestamp to ensure images are reloaded whenever they are changed
[InitializableModule]
[ModuleDependency(typeof (EPiServer.Web.InitializationModule))]
public class AddTimeStampToImages : IInitializableModule
{
public void Initialize(InitializationEngine context)
{
ContentRoute.CreatedVirtualPath += CreatedVirtualPath;
}
private void CreatedVirtualPath(object sender, UrlBuilderEventArgs urlBuilderEventArgs)
@davidknipe
davidknipe / ConstrainedTextbox.css
Created January 6, 2016 14:21
Constrained Textbox Element Form Element for EPiserver
.epi-forms-icon.epi-forms-constrainedtextboxelementblock__icon {
background-image: url(constrainedtextboxelementblock16x16.png);
}
@davidknipe
davidknipe / CaptureRequestsInit.cs
Last active April 14, 2016 15:36
Approval for moving content in Episerver page tree
using System;
using System.Linq;
using Epi9Site.PageMoveApproval.Models;
using EPiServer;
using EPiServer.Core;
using EPiServer.DataAccess;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.Framework.Localization;
using EPiServer.Security;
@davidknipe
davidknipe / OverrideLoginImages.cs
Created March 7, 2016 15:26
Override the login page images in Episerver
[InitializableModule]
[ModuleDependency(typeof(EPiServer.Web.InitializationModule))]
public class OverrideLoginImages : IInitializableModule
{
public void Initialize(InitializationEngine context)
{
var host = ServiceLocator.Current.GetInstance<IHostingEnvironment>();
if (host == null) return;
var mappedProvider = new VirtualPathMappedProvider("OverrideLoginImages", new NameValueCollection());
namespace ApprovalsApi.Models
{
public class ApprovalDecision
{
public string Decision;
public int StepId;
public int ActiveStepIndex;
}
}
namespace EpiBot.Models
{
public class ApprovalDecision
{
public string Decision;
public int StepId;
public int ActiveStepIndex;
}
}
using System;
using System.Collections.Generic;
using System.Net;
using System.Runtime.Serialization;
using System.Text;
using EPiServer;
using EPiServer.Core;
using EPiServer.Marketing.KPI.Manager.DataClass;
using EPiServer.Marketing.KPI.Results;
using EPiServer.Personalization.VisitorGroups;