Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mauro-vieira/0b9ae0acbb0b8598a6ddc7b498c8fc1f to your computer and use it in GitHub Desktop.
Save mauro-vieira/0b9ae0acbb0b8598a6ddc7b498c8fc1f to your computer and use it in GitHub Desktop.
using EPiServer;
using EPiServer.Commerce.Order;
using EPiServer.Core;
using EPiServer.Globalization;
using EPiServer.Tracking.Commerce;
using EPiServer.Tracking.Commerce.Data;
using EPiServer.Tracking.Core;
using EPiServer.Web.Mvc;
using EPiServer.Web.Routing;
using Mediachase.BusinessFoundation.Data;
using Mediachase.Commerce.Catalog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.Web.Routing;
namespace Project.CheckoutAndOrderManagement.Implementation.Areas.CheckoutAndOrder.Controllers.Pages
{
[Authorize]
public class CartPageController : PageController<CartPageType>
{
private readonly ICartManager _cartManager;
private readonly CustomTrackingDataFactory _trackingDataFactory;
private readonly ITrackingService _trackingService;
public CartPageController(ICartManager shoppingCartManager, CustomTrackingDataFactory trackingDataFactory, ITrackingService trackingService)
{
this._shoppingCartManager = shoppingCartManager;
this._trackingDataFactory = trackingDataFactory;
this._trackingService = trackingService;
}
public ActionResult Index(CartPageType currentPage, string cartName)
{
var cart = this._shoppingCartManager.GetCart(cartName);
// Track Recommendations manually (without annotation)
CartTrackingData trackingData = this._trackingDataFactory.CreateCartTrackingData(HttpContext, cart.Name);
TrackingResponseData trackingResponse = this._trackingService.Track(trackingData, HttpContext, currentPage);
CartPageViewModel viewModel = new CartPageViewModel();
viewModel.PageTitle = currentPage.PageTitle;
viewModel.CartName = cart.Name;
return View(viewModel);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment