private void MapParametrics(ProductItem productItem, VariantItem variant, ICollection <ParametricModel> parametrics) { var variantParametricIds = GetVariantParametricIds(productItem.VariantParametricSeed); var allParametrics = GetAllParametrics(variant); allParametrics.RemoveAll(i => variantParametricIds.Contains(i.Id)); MapParametrics(parametrics, allParametrics); }
private static List <IdValue> GetAllParametrics(VariantItem variant) { var allParametrics = new List <IdValue>(); if (variant?.Parametrics == null) { return(allParametrics); } AppendParametrics(variant.Parametrics.ListSeed, allParametrics); AppendParametrics(variant.Parametrics.MultipleSeed, allParametrics); AppendParametrics(variant.Parametrics.ValueSeed, allParametrics); return(allParametrics); }
public List <int> Resolve(VariantItem source, VariantModel destination, List <int> destMember, ResolutionContext context) { var flagList = new List <int>(); if (string.IsNullOrWhiteSpace(source.FlagIdSeed)) { return(flagList); } foreach (var flag in source.FlagIdSeed.Split(',')) { int id; if (int.TryParse(flag.Trim(), out id) && !flagList.Contains(id)) { flagList.Add(id); } } return(flagList); }
public void TestAny() { Variant v1 = new Variant(Variant.EnumType.Any, "1.0"); Assert.AreEqual(v1.Type, Variant.EnumType.Any); Assert.IsTrue(v1.Is(Variant.EnumType.Any)); Assert.AreEqual(1.0, v1.As <double>()); Variant v2 = new Variant(v1); Assert.IsTrue(v1.Equals(v2)); // Enumerating an Any variant with content should throw an exception Assert.Throws <VariantException>(delegate { v1.GetEnumerator(); }); // We should be able to enumerate an Any variant with no content as this is a common occurance when reading untyped XML Variant v3 = new Variant(Variant.EnumType.Any); IEnumerator <VariantItem> enumerator = v3.GetEnumerator(); Assert.IsFalse(enumerator.MoveNext()); Assert.Throws <VariantException>(delegate { VariantItem item = enumerator.Current; }); }
public virtual OnHandStatusModel GetOnHandStatus(VariantItem variantItem) { return(CreateDefaultOnHandStatus(variantItem.OnHand?.Value ?? 0M)); }
public bool IsMatch(VariantItem item) { return(item.Type == mRadioButton.Text); }
public List <ProductFileModel> Resolve(VariantItem source, VariantModel destination, List <ProductFileModel> destMember, ResolutionContext context) { return(ResolveBase(source.ImageKey, source.Name, source.AdditionalImageKeySeed, ProductFileType.VariantImage)); }