public GetOrCreateSellableItemBlock(IGetSellableItemPipeline getSellableItemPipeline, ICreateSellableItemPipeline createSellableItemPipeline, IPersistEntityPipeline persistEntityPipeline, IDoesEntityExistPipeline doesEntityExistPipeline) { this._getSellableItemPipeline = getSellableItemPipeline; this._createSellableItemPipeline = createSellableItemPipeline; _persistEntityPipeline = persistEntityPipeline; _doesEntityExistPipeline = doesEntityExistPipeline; }
public GetSellableItemPriceCardCommand( IGetSellableItemPipeline getSellableItemPipeline, IFindEntityPipeline findEntityPipeline, IServiceProvider serviceProvider) : base(serviceProvider) { _pipeline = getSellableItemPipeline; _findEntityPipeline = findEntityPipeline; }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="cart"></param> /// <param name="getSellableItemPipeline"></param> /// <param name="context"></param> /// <returns></returns> internal static decimal GetCartShippingRate(string name, Cart cart, IGetSellableItemPipeline getSellableItemPipeline, CommercePipelineExecutionContext context) { var rates = GetCartShippingRates(cart, getSellableItemPipeline, context); if (rates == null || !rates.Any()) { return(0m); } try { return(rates.FirstOrDefault(x => x.Key.ToLower() == name.ToLower()).Value); } catch (Exception e) { Console.WriteLine(e.Message); } return(0m); }
/// <summary> /// /// </summary> /// <param name="getSellableItemPipeline"></param> public UpdateCartLinesFulfillmentChargeBlock(IGetSellableItemPipeline getSellableItemPipeline) { _getSellableItemPipeline = getSellableItemPipeline; }
public AddPropertiesBlock(IPersistEntityPipeline persistEntityPipeline, IGetSellableItemPipeline getSellableItemPipeline, IFindEntityPipeline findEntityPipeline) { _persistEntityPipeline = persistEntityPipeline; _getSellableItemPipeline = getSellableItemPipeline; _findEntityPipeline = findEntityPipeline; }
public AddToProductCompareBlock(IGetSellableItemPipeline getSellableItemPipeline, IAddListEntitiesPipeline addListEntitiesPipeline) { _getSellableItemPipeline = getSellableItemPipeline; _addListEntitiesPipeline = addListEntitiesPipeline; }
public ValidateFulfillmentLocationInfoBlock(IGetCartPipeline getCartPipeline, IGetSellableItemPipeline getSellableItemPipeline) : base(null) { _getSellableItemPipeline = getSellableItemPipeline; _getCartPipeline = getCartPipeline; }
internal static List <KeyValuePair <string, decimal> > GetCartShippingRates(Cart cart, IGetSellableItemPipeline getSellableItemPipeline, CommercePipelineExecutionContext context) { var input = new UpsReqestInput(); UpsClientPolicy = context.GetPolicy <UpsClientPolicy>(); if (cart != null && cart.Lines.Any <CartLineComponent>() && cart.HasComponent <PhysicalFulfillmentComponent>()) { var component = cart.GetComponent <PhysicalFulfillmentComponent>(); var shippingParty = component?.ShippingParty; input.AddressLine1 = shippingParty.Address1; input.AddressLine2 = shippingParty.Address2; input.City = shippingParty.City; input.CountryCode = shippingParty.CountryCode; input.StateCode = shippingParty.StateCode; input.ZipPostalCode = shippingParty.ZipPostalCode; input.PriceValue = cart.Totals.SubTotal.Amount; decimal height = 0.0M; decimal width = 0.0M; decimal length = 0.0m; decimal weight = 0.0m; foreach (var cartLineComponent in cart.Lines) { // get specific weight value var productArgument = ProductArgument.FromItemId(cartLineComponent.ItemId); if (!productArgument.IsValid()) { continue; } var sellableItem = getSellableItemPipeline.Run(productArgument, context).Result; var product = context.CommerceContext.Objects.OfType <Product>().FirstOrDefault <Product>((Product p) => p.ProductId.Equals(sellableItem.FriendlyId, StringComparison.OrdinalIgnoreCase)); decimal val = 0m; if (product != null) { if (product.HasProperty(UpsClientPolicy.WeightFieldName) && product[UpsClientPolicy.WeightFieldName].ToString().Trim() != "") { val = GetFirstDecimalFromString(product[UpsClientPolicy.WeightFieldName].ToString()); } else { val = GetFirstDecimalFromString(UpsClientPolicy.Weight); } if (val > 0) { weight += val; } val = product.HasProperty(UpsClientPolicy.HeightFieldName) && product[UpsClientPolicy.HeightFieldName].ToString().Trim() != "" ? GetFirstDecimalFromString(product[UpsClientPolicy.HeightFieldName].ToString()) : GetFirstDecimalFromString(UpsClientPolicy.Height); if (val > 0) { height += val; } val = product.HasProperty(UpsClientPolicy.WidthFieldName) && product[UpsClientPolicy.WidthFieldName].ToString().Trim() != "" ? GetFirstDecimalFromString(product[UpsClientPolicy.WidthFieldName].ToString()) : GetFirstDecimalFromString(UpsClientPolicy.Width); if (val > 0 && val > width) { width = val; } val = product.HasProperty(UpsClientPolicy.LengthFieldName) && product[UpsClientPolicy.LengthFieldName].ToString().Trim() != "" ? GetFirstDecimalFromString(product[UpsClientPolicy.LengthFieldName].ToString()) : GetFirstDecimalFromString(UpsClientPolicy.Length); if (val > 0 && val > length) { length = val; } } } input.Height = Math.Ceiling(height).ToString(CultureInfo.CurrentCulture); input.Width = Math.Ceiling(width).ToString(CultureInfo.CurrentCulture); input.Length = Math.Ceiling(length).ToString(CultureInfo.CurrentCulture); input.Weight = weight; } var rates = new List <KeyValuePair <string, decimal> >(); rates = GetShippingRates(input, context); return(rates); }
public UpdateCartLineGiftBoxBlock(IGetSellableItemPipeline getSellableItemPipeline) { _getSellableItemPipeline = getSellableItemPipeline; }
public GetOrCreateProductBlock(IDoesEntityExistPipeline doesEntityExistPipeline, IGetSellableItemPipeline getSellableItemPipeline, ICreateSellableItemPipeline createSellableItemPipeline) { _doesEntityExistPipeline = doesEntityExistPipeline; _getSellableItemPipeline = getSellableItemPipeline; _createSellableItemPipeline = createSellableItemPipeline; }