public void Can_Serialize_ProviderSettings_To_CamelCased_Json() { //// Arrange var extendedData = new ExtendedDataCollection(); var settings = TestHelper.GetBraintreeProviderSettings(); Assert.NotNull(settings); Assert.AreEqual(EnvironmentType.Sandbox, settings.Environment); //// Act extendedData.SaveProviderSettings(settings); //// Assert Assert.IsTrue(extendedData.ContainsKey(Constants.ExtendedDataKeys.BraintreeProviderSettings)); }
/// <summary> /// The tax included in product price. /// </summary> /// <param name="extendedData"> /// The extended data. /// </param> /// <returns> /// A value indicating whether or not tax is included in the product price. /// </returns> public static bool TaxIncludedInProductPrice(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Constants.ExtendedDataKeys.TaxIncludedInProductPrice) && extendedData.GetValue(Constants.ExtendedDataKeys.TaxIncludedInProductPrice).AsBool()); }
/// <summary> /// The get allows validation value. /// </summary> /// <param name="extendedData"> /// The extended data. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> internal static bool GetAllowsValidationValue(this ExtendedDataCollection extendedData) { return(!extendedData.ContainsKey(Constants.ExtendedDataKeys.LineItemAllowsValidation) || extendedData.GetValue(Constants.ExtendedDataKeys.LineItemAllowsValidation).AsBool()); }
/// <summary> /// True/false indicating whether or not this extended data collection contains a child serialized extended data collection /// </summary> /// <param name="extendedData"> /// The extended Data. /// </param> /// <returns> /// A value indicating whether or not this extended data collection contains a child serialized extended data collection /// </returns> public static bool ContainsExtendedDataSerialization(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Constants.ExtendedDataKeys.ExtendedData)); }
/// <summary> /// Gets a <see cref="IPaymentMethod"/> from the <see cref="ExtendedDataCollection"/> /// </summary> /// <param name="extendedData"> /// The extended Data. /// </param> /// <returns> /// The payment method key. /// </returns> internal static Guid GetPaymentMethodKey(this ExtendedDataCollection extendedData) { return(!extendedData.ContainsKey(Constants.ExtendedDataKeys.PaymentMethod) ? Guid.Empty : extendedData.GetValue(Constants.ExtendedDataKeys.PaymentMethod).AsGuid()); }
/// <summary> /// Determines whether or not the <see cref="ExtendedDataCollection"/> contains a serialized coupon. /// </summary> /// <param name="extendedData"> /// The extended data. /// </param> /// <returns> /// A value indicating whether or not the <see cref="ExtendedDataCollection"/> contains a serialized coupon. /// </returns> public static bool ContainsCoupon(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Core.Constants.ExtendedDataKeys.CouponReward)); }
/// <summary> /// Performs the task of validating the pricing information. /// </summary> /// <param name="value"> /// The value. /// </param> /// <returns> /// The <see cref="Attempt"/>. /// </returns> public override Attempt <ValidationResult <CustomerItemCacheBase> > PerformTask(ValidationResult <CustomerItemCacheBase> value) { var visitor = new ProductPricingValidationVisitor(Merchello); value.Validated.Accept(visitor); if (visitor.InvalidPrices.Any()) { foreach (var result in visitor.InvalidPrices.ToArray()) { var lineItem = result.Key; var quantity = lineItem.Quantity; var name = lineItem.Name; var removedEd = lineItem.ExtendedData.AsEnumerable(); value.Validated.RemoveItem(lineItem.Sku); var extendedData = new ExtendedDataCollection(); ProductVariantDisplay variant; if (result.Value is ProductDisplay) { var product = result.Value as ProductDisplay; variant = product.AsMasterVariantDisplay(); } else { variant = result.Value as ProductVariantDisplay; } if (variant == null) { var nullReference = new NullReferenceException("ProductVariantDisplay cannot be null"); LogHelper.Error <ValidateProductPriceTask>("Exception occurred when attempting to adjust pricing information", nullReference); throw nullReference; } extendedData.AddProductVariantValues(variant); extendedData.MergeDataModifierLogs(variant); extendedData.MergeDataModifierLogs(variant); // preserve any custom extended data values foreach (var val in removedEd.Where(val => !extendedData.ContainsKey(val.Key))) { extendedData.SetValue(val.Key, val.Value); } var price = variant.OnSale ? extendedData.GetSalePriceValue() : extendedData.GetPriceValue(); var keys = lineItem.ExtendedData.Keys.Where(x => extendedData.Keys.Any(y => y != x)); foreach (var k in keys) { extendedData.SetValue(k, lineItem.ExtendedData.GetValue(k)); } value.Validated.AddItem(string.IsNullOrEmpty(name) ? variant.Name : name, variant.Sku, quantity, price, extendedData); value.Messages.Add("Price updated for " + variant.Sku + " to " + price); } value.Validated.Save(); } return(Attempt <ValidationResult <CustomerItemCacheBase> > .Succeed(value)); }
/// <summary> /// True/false indicating whether or not the collection contains a WarehouseCatalogKey /// </summary> /// <param name="extendedData"> /// The extended Data. /// </param> /// <returns> /// A value indicating whether or not the extended data collection contains a warehouse key. /// </returns> public static bool ContainsWarehouseCatalogKey(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Constants.ExtendedDataKeys.WarehouseCatalogKey)); }
/// <summary> /// True/false indicating whether or not the collection contains a ShipmentKey /// </summary> /// <param name="extendedData"> /// The extended Data. /// </param> /// <returns> /// A value indicating whether or not the extended data collection contains a shipment key. /// </returns> public static bool ContainsShipmentKey(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Constants.ExtendedDataKeys.ShipmentKey)); }
/// <summary> /// True/false indicating whether or not the collection contains a ProductKey /// </summary> /// <param name="extendedData"> /// The extended data. /// </param> /// <returns> /// A value indicating whether or not the extended data collection contains a version key. /// </returns> public static bool ContainsVersionKey(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Constants.ExtendedDataKeys.VersionKey)); }
/// <summary> /// True/false indicating whether or not the collection contains a ProductVariantKey /// </summary> /// <param name="extendedData"> /// The extended Data. /// </param> /// <returns> /// A value indicating whether or not the extended data collection contains a product variant key. /// </returns> public static bool ContainsProductVariantKey(this ExtendedDataCollection extendedData) { return(extendedData.ContainsKey(Constants.ExtendedDataKeys.ProductVariantKey)); }