Esempio n. 1
0
        public IActionResult NewProductVariation(int?productVariationId      = null, string color      = null,
                                                 string namedSize            = null, double?breastSize = null, double?breastMaxSize         = null, double?girthHandsSize         = null,
                                                 double?girthOfThighsMaxSize = null, double?girthOfThighsSize = null, double?height         = null, double?hipsSize               = null, double?hipsMaxSize = null,
                                                 double?waistSize            = null, double?waistMaxSize = null, double?widthOfTheShoulders = null, double?widthOfTheShouldersMax = null, double?price       = null, int?countInStore = null)
        {
            var pv = db.ProductVariations.Include(x => x.ColorVariation).ThenInclude(x => x.ImageURLs).FirstOrDefault(x => x.ProductVariationId == productVariationId);

            pv.ColorVariation.Color = color;
            pv.SizeVariation        = new List <SizeVariation>();
            var sv = new SizeVariation()
            {
                NamedSize = (NamedSizeEnum)Enum.Parse(typeof(NamedSizeEnum), namedSize, true),
            };

            sv.ListParams = new List <Size>();
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.Breast, Value = breastSize, MaxValue = breastMaxSize
            });
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.Height, Value = height
            });
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.GirthHands, Value = girthHandsSize
            });
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.GirthOfThighs, Value = girthOfThighsSize, MaxValue = girthOfThighsMaxSize
            });
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.Hips, Value = hipsSize, MaxValue = hipsMaxSize
            });
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.Waist, Value = waistSize, MaxValue = waistMaxSize
            });
            sv.ListParams.Add(new Size()
            {
                TypeSize = SizesEnum.WidthOfTheShoulders, Value = widthOfTheShoulders, MaxValue = widthOfTheShouldersMax
            });
            sv.CountInStore = (int)countInStore;
            pv.SizeVariation.Add(sv);
            pv.Price = (double)price;
            db.ProductVariations.Update(pv);
            db.SaveChanges();
            return(RedirectToAction("ProductVariation", "Catalog", new{ productVariationID = pv.ProductVariationId }));
        }
Esempio n. 2
0
        public void Test3()
        {
            var sizeVariation = new SizeVariation()
            {
                ListParams = new List <Size>()
                {
                    new Size()
                    {
                        TypeSize = SizesEnum.Breast, Value = 90, MaxValue = 100
                    },
                    new Size()
                    {
                        TypeSize = SizesEnum.Waist, Value = 65, MaxValue = 70
                    },
                    new Size()
                    {
                        TypeSize = SizesEnum.Hips, Value = 95, MaxValue = 100
                    },
                    new Size()
                    {
                        TypeSize = SizesEnum.WidthOfTheShoulders, Value = 70, MaxValue = 75
                    }
                }
            };
            var pv = new ProductVariation()
            {
                SizeVariation = new List <SizeVariation>()
                {
                    sizeVariation
                }
            };
            var customerSize = new UserSizes()
            {
                Breast         = 92,
                Waist          = 66,
                Thigh          = 97,
                ShouldersWidth = 69,
            };
            double expected = 7.28;

            pv = SizeResponseController.CalculateRating(pv, customerSize);
            var actual = pv.SizeVariation.FirstOrDefault().Rating;

            Assert.IsTrue(Math.Abs(expected - actual) < 0.1);
        }