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 })); }
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); }