public async Task AddProductExtensionAsync()
        {
            // Arrange
            var product = new Product()
            {
                Name     = "New Product",
                Price    = 1.00M,
                Shipping = 0.01M
            };

            context.Products.Add(product);
            await context.SaveChangesAsync();

            var productExtension = new ProductExtension()
            {
                ProductId = product.Id, Diameter = 3.14M
            };

            product.ProductExtension = productExtension;

            // Act
            _productExtensionService.AddProductExtension(product);
            await context.SaveChangesAsync();

            // Assert
            Assert.IsNotNull(await context.ProductExtensions.SingleAsync(p => p.ProductId == product.Id && p.Diameter == 3.14M));
        }
Пример #2
0
 public void ParseInput(Products product, ProductExtension productExtension,
                        string name,
                        string quantity,
                        string unitPrice,
                        string quantityFrom,
                        string quantityTo,
                        string unitPriceFrom,
                        string unitPriceTo)
 {
     product.ProductName = name;
     if (int.TryParse(quantity, out int res))
     {
         product.Quantity = int.Parse(quantity);
     }
     if (decimal.TryParse(unitPrice, out decimal result))
     {
         product.UnitPrice = decimal.Parse(unitPrice);
     }
     if (int.TryParse(quantityFrom, out res))
     {
         productExtension.QuantityFrom = int.Parse(quantityFrom);
     }
     if (int.TryParse(quantityTo, out res))
     {
         productExtension.QuantityTo = int.Parse(quantityTo);
     }
     if (decimal.TryParse(unitPriceFrom, out result))
     {
         productExtension.UnitPriceFrom = decimal.Parse(unitPriceFrom);
     }
     if (decimal.TryParse(unitPriceTo, out result))
     {
         productExtension.UnitPriceTo = decimal.Parse(unitPriceTo);
     }
 }
        public void AddProductExtension(Product product)
        {
            ProductExtension productExtension = product.ProductExtension;

            if (productExtension != null)
            {
                productExtension.Product = product;
                _context.ProductExtensions.Add(productExtension);
            }
        }
        public void EditProductExtension(Product product)
        {
            ProductExtension productExtension = product.ProductExtension;

            if (productExtension != null)
            {
                productExtension.ProductId             = product.Id;
                _context.Entry(productExtension).State = EntityState.Modified;
            }
            product.ProductExtension = null;
        }
        private async Task BindProductExtension(HttpRequestBase request, Product product)
        {
            ProductExtension productExtension = await _context.ProductExtensions.SingleOrDefaultAsync(p => p.ProductId == product.Id)
                                                ?? new ProductExtension();

            productExtension.Product   = product;
            productExtension.ProductId = product.Id;
            productExtension.Diameter  = decimal.Parse(request.Unvalidated.Form.Get("Diameter"));

            product.ProductExtension = productExtension;
        }