Skip to content

Instantly share code, notes, and snippets.

View jstemerdink's full-sized avatar

Jeroen jstemerdink

View GitHub Profile
private IEnumerable<RewardDescription> ApplyDiscounts(ICart cart)
{
IOrderForm orderForm = cart.GetFirstForm();
if (orderForm == null)
{
return new List<RewardDescription>();
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using EPiServer.Commerce.Catalog.ContentTypes;
using EPiServer.Commerce.Marketing;
using EPiServer.Commerce.Marketing.DataAnnotations;
using EPiServer.Commerce.Marketing.Promotions;
using EPiServer.Core;
using EPiServer.DataAnnotations;
public class FindExceptionInterceptor : IInterceptor
{
public void Intercept(IInvocation invocation)
{
try
{
invocation.Proceed();
}
catch (ClientException)
{
@jstemerdink
jstemerdink / CustomTaxCalculator.cs
Created February 5, 2017 14:53
A custom tax calculator for EPiServer Commerce
namespace EPiServer.Reference.Commerce.Site.Features.Shared.Services
{
using System.Collections.Generic;
using System.Linq;
using EPiServer.Commerce.Catalog.ContentTypes;
using EPiServer.Commerce.Order;
using EPiServer.Commerce.Order.Calculator;
using EPiServer.Commerce.Order.Internal;
@jstemerdink
jstemerdink / CommentViewModel.cs
Created November 13, 2016 11:07
A validation controller that uses the Moderation API from Microsoft Cognitive services to validate content
public class CommentViewModel
{
/// <summary>Gets the body content of the comment.</summary>
[Remote("IsSafeTextContent", "ModeratorValidation")]
public virtual string Body { get; set; }
}
using System.Linq;
using EPiServer.Commerce.Order;
using Mediachase.Commerce.Orders;
using Mediachase.Commerce.Workflow.Activities;
using Mediachase.Commerce.WorkflowCompatibility;
public class ExtendedValidateLineItemsActivity : ValidateLineItemsActivity
{
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FormContainerBlockControl.ascx.cs" Inherits="EPiServerWebForms.Views.Blocks.FormContainerBlockControl" %>
<%@ Import Namespace="EPiServerWebForms.Business.MvcHelpers" %>
<% MvcUtility.RenderPartial("FormsContentArea", this.FakeArea, this.FakeContext); %>
public class DummyController : Controller
{
public ActionResult Index()
{
// Create an empty Razor view called PartialRender.cshtml in views\shared
return this.PartialView("PartialRender");
}
}
/// <summary>
/// Class PromotionExtensions.
/// </summary>
/// <author>Jeroen Stemerdink</author>
public static class PromotionExtensions
{
/// <summary>
/// The <see cref="ILogger" /> instance
/// </summary>
private static readonly ILogger Log = LogManager.GetLogger();
@using EPiServer
@using EPiServer.Commerce.Catalog.ContentTypes
@using EPiServer.Commerce.Marketing
@using EPiServer.Commerce.Marketing.Internal
@using EPiServer.Commerce.Marketing.Promotions
@using EPiServer.Framework.Localization
@using EPiServer.Reference.Commerce.Site.Features.Product.Models
@using EPiServer.Reference.Commerce.Site.Features.Product.Services
@using EPiServer.Reference.Commerce.Site.Features.Search.Models
@using EPiServer.Reference.Commerce.Site.Features.Search.Services