public Result Execute(int productId, int amount = 1) { if (amount <= 0) { return Fail(() => InvalidAmount, "Указано некорректное количество товаров: " + amount); } // получаем корзину var cartResult = _getCartCmd.Execute(); if (cartResult.HasErrors) { return cartResult.Outcome; } var cart = cartResult.Value; // добавляем товар // TODO: логику добавления товаров перенести в корзину var item = cart.Items.FirstOrDefault(c => c.ProductId == productId); if (item == null) { item = new CartItem { ProductId = productId, }; cart.Items.Add(item); } item.Amount += amount; return Ok(); }
public CartItem(CartItem item) { Price = item.Price; ProductId = item.ProductId; Amount = item.Amount; }