Skip to content

Instantly share code, notes, and snippets.

View easinrobin's full-sized avatar
🎯
Focusing

Easin Robin easinrobin

🎯
Focusing
View GitHub Profile
using System.Web.Mvc;
using Sitecore.Commerce.Core;
using Sitecore.Framework.Pipelines;
using System.Threading.Tasks;
namespace Products.Plugin.Cart
{
[PipelinesDisplayName("Products.Plugin.SAPConfigureServiceApiBlock")]
public class ConfigureServiceApiBlock : PipelineBlock<ODataConventionModelBuilder, ODataConventionModelBuilder, CommercePipelineExecutionContext>
{
using System.Web.Mvc;
using Sitecore.Commerce.Core;
namespace Products.Plugin.Cart
{
public class CommandsController : CommereceController
{
public CommandsController(IServiceProvider serviceProvider, CommerceEnvironment globalEnvironment) : base(serviceProvider, globalEnvironment)
{
}
<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<pipelines>
<initialize>
<processor type="Sitecore.Feature.Pipelines.RegisterWebApiRoutes, SC.Feature" patch:before="processor[@type='Sitecore.Mvc.Pipelines.Loader.InitializeRoutes, Sitecore.Mvc']" resolve="true" />
</initialize>
</pipelines>
</sitecore>
</configuration>
namespace Sitecore.Feature.Pipelines
{
using System.Web.Mvc;
using System.Web.Routing;
using Sitecore.Pipelines;
public class RegisterWebApiRoutes
{
public void Process(PipelineArgs args)
{
[HttpGet]
public JsonResult GetEventList(int startIndex = 1, int pageSize = 10, string lang="en")
{
Sitecore.Globalization.Language language = Sitecore.Globalization.Language.Parse(lang);
var item = Sitecore.Context.Database.GetItem(ServiceUtility.Item.EventId, language);
var Etype = string.Empty;
var EFor = string.Empty;
var Eyear = string.Empty;
var items = this.EventRepository.AllEvent(startIndex, pageSize, item, Etype, EFor, Eyear);
APIEventList eventList = APIMapper.GetEventList(items.Listofdata, lang);
namespace SC.Feature.Controllers
{
[AllowCrossSite]
public class EventController : Controller
{
//Code Here
}
}
public class AllowCrossSiteAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutionContext filterContext)
{
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Headers", "*");
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Credentials", "*");
base.OnActionExecuting(filterContext);
}
foreach (CartLineComponent item in arg.Lines)
{
var productArgument = ProductArgument.FromItemId(item.ItemId);
if (!productArgument.IsValid()) continue;
var sellableItem = getSellableItemPipeline.Run(productArgument, context).Result;
if (sellableItem.FriendlyId == SitecoreConstants.ProductFriendlyIdForReorder && arg != null && item.HasComponent<CartExtensionComponent>())
{
CartExtensionComponent CartExtensionComponent = item.GetComponent<CartExtensionComponent>();
}
}
namespace Products.Plugin.Cart
{
using Sitecore.Commerce.Core;
public class CartLineComponent : Component
{
public string Productid { get; set; }
public string ItemId { get; set; }
public string UnitPrice { get; set; }
}
@easinrobin
easinrobin / RegularExpressionExtended.cs
Last active August 19, 2020 05:01
Custom validation extension for RegularExpressionAttribute in C#
public class RegularExpressionTranslated : RegularExpressionAttribute, IClientValidatable
{
public RegularExpressionTranslated(string pattern) : base(pattern)
{
}
public RegexOptions RegexOptions { get; set; }
public override bool IsValid(object value)
{