Я создаю корзину и пытаюсь обновить количество элементов внутри представления, а также удалить предмет. Но ничего не работает. Пожалуйста, помогите мне, ребята.
Это мои модели представления, сервисы, контроллер и представление:
Код: Выделить всё
public class CartItemViewModel
{
public int Id { get; set; }
public int ProductId { get; set; }
public string ProductName { get; set; } = string.Empty;
public string ProductImageUrl { get; set; } = string.Empty;
[Required(ErrorMessage = RequireErrorMessage)]
[Range(OrderItemQuantityMinValue,OrderItemQuantityMaxValue,
ErrorMessage = QuantityErrorMessage)]
public int Quantity { get; set; }
public decimal ProductPrice { get; set; }
public decimal TotalPrice { get; set; }
public int CartId { get; set; }
}
Код: Выделить всё
public class CartViewModel
{
public int Id { get; set; }
public string UserId { get; set; } = null!;
public decimal GrandTotal { get; set; }
public IEnumerable CartItems { get; set; } = new List();
}
Код: Выделить всё
public async Task RemoveCartItemFromCartAsync(int cartItemId)
{
var cartItem = await context.CartsItems.FindAsync(cartItemId);
if (cartItem != null)
{
context.CartsItems.Remove(cartItem);
await context.SaveChangesAsync();
return true;
}
return false;
}
public async Task UpdateCartItemQuantityAsync(int cartItemId, int newQuantity)
{
var cartItem = await context.CartsItems.FindAsync(cartItemId);
if (cartItem != null)
{
cartItem.Quantity = newQuantity;
await context.SaveChangesAsync();
return true;
}
return false;
}
Код: Выделить всё
[HttpPost]
public async Task RemoveFromCart(int cartItemId)
{
try
{
var result = await cartService.RemoveCartItemFromCartAsync(cartItemId);
if (!result)
{
return NotFound();
}
return RedirectToAction(nameof(Cart));
}
catch (Exception)
{
return BadRequest();
}
}
[HttpPost]
public async Task UpdateCartItemQuantity(int cartItemId, int newQuantity)
{
if (newQuantity
Подробнее здесь: [url]https://stackoverflow.com/questions/78300738/asp-net-mvc-cart-quantity-update-and-remove-item-from-cart[/url]