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);
        }
Beispiel #4
0
        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));
 }