private Product CreateProduct(Dish dish) { var product = new Product(); product.Name = dish.Name; foreach (var record in dish.Products.MenuRecords) { float coefficient = record.Weight / 100.0f; var p = record.Product; product.Fat += p.Fat * coefficient; product.Calories += p.Calories * coefficient; product.Carbohydrates += p.Carbohydrates * coefficient; product.Proteins += p.Proteins * coefficient; product.Sugar += p.Sugar * coefficient; } return product; }
public void AddOrUpdateProduct(Product product) { var excistingProduct = context.Products .FirstOrDefault(p => p.Name.Equals(product.Name) && p.UserId.Equals(userId)); product.UserId = userId; if (excistingProduct != null) { product.ProductId = excistingProduct.ProductId; context.Entry(excistingProduct).State = EntityState.Detached; context.Attach(product); context.Entry(product).State = EntityState.Modified; } else { product.ProductId = 0; context.Add(product); } }