Товары не обновляются и не добавляются в корзину.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Товары не обновляются и не добавляются в корзину.

Сообщение Anonymous »

Не могу добавлять товары в корзину или обновлять счетчики на веб-странице Mango.
Я пробовал много кода, даже переписывался с gpt и любым другим AI. Но я все еще застрял.
Моя ссылка на github: https://github.com/Thibaut501/Mango
Может кто-нибудь сказать мне, где находится ошибка?
Это в Visual Studio 2022. Это проект ASP.NET MVC, основанный на микросервисах.

Код: Выделить всё

using Mango.Web.Models;
using Mango.Web.Service;
using Mango.Web.Service.IService;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.IdentityModel.Tokens.Jwt;

namespace Mango.Web.Controllers
{
public class CartController : Controller
{
private readonly ICartService _cartService;
private readonly IOrderService _orderService;
private readonly ILogger _logger; // Add logger

public CartController(ICartService cartService, IOrderService orderService, ILogger logger)
{
_cartService = cartService;
_orderService = orderService;
_logger = logger; // Assign logger
}

[Authorize]
public async Task CartIndex()
{
return View(await LoadCartDtoBasedOnLoggedInUser());
}

[Authorize]
public async Task Checkout()
{
return View(await LoadCartDtoBasedOnLoggedInUser());
}

[HttpPost]
[ActionName("Checkout")]
public async Task Checkout(CartDto cartDto)
{
CartDto cart = await LoadCartDtoBasedOnLoggedInUser();

if (cart != null)
{
_logger.LogInformation("Updating cart with item count: {Count}", cart.CartDetails?.Count()); // Log the cart item count
}

cart.CartHeader.Phone = cartDto.CartHeader.Phone;
cart.CartHeader.Email = cartDto.CartHeader.Email;
cart.CartHeader.Name = cartDto.CartHeader.Name;

var response = await _orderService.CreateOrder(cart);

if (response != null && response.IsSuccess)
{
_logger.LogInformation("Order successfully created for user ID: {UserId}", cart.CartHeader.UserId);
// Proceed with Stripe session or order confirmation
}
else
{
_logger.LogWarning("Order creation failed for user ID: {UserId}", cart.CartHeader.UserId);
}

return View(cart);
}

public async Task Confirmation(int orderId)
{
return View(orderId);
}

public async Task Remove(int cartDetailsId)
{
var userId = User.Claims.Where(u => u.Type == JwtRegisteredClaimNames.Sub)?.FirstOrDefault()?.Value;
ResponseDto? response = await _cartService.RemoveFromCartAsync(cartDetailsId);
if (response != null && response.IsSuccess)
{
TempData["success"] = "Cart updated successfully";
return RedirectToAction(nameof(CartIndex));
}
return View();
}

[HttpPost]
public async Task ApplyCoupon(CartDto cartDto)
{
ResponseDto? response = await _cartService.ApplyCouponAsync(cartDto);
if (response != null && response.IsSuccess)
{
TempData["success"] = "Cart updated successfully";
return RedirectToAction(nameof(CartIndex));
}
return View();
}

[HttpPost]
public async Task RemoveCoupon(CartDto cartDto)
{
cartDto.CartHeader.CouponCode = "";
ResponseDto? response = await _cartService.ApplyCouponAsync(cartDto);
if (response != null & response.IsSuccess)
{
TempData["success"] = "Cart updated successfully";
return RedirectToAction(nameof(CartIndex));
}
return View();
}

private async Task LoadCartDtoBasedOnLoggedInUser()
{
var userId = User.Claims.Where(u => u.Type == JwtRegisteredClaimNames.Sub)?.FirstOrDefault()?.Value;
ResponseDto? response = await _cartService.GetCartByUserIdAsnyc(userId);
if (response != null &&  response.IsSuccess)
{
CartDto cartDto = JsonConvert.DeserializeObject(Convert.ToString(response.Result));
return cartDto;
}
return new CartDto();
}
}
}
Только товары в корзине не добавляются при добавлении в корзину, купоны отображаются, но не применяются или удаляются, а количество товаров также не обновляется на странице CartIndex.
Спасибо,
Фабрис

Подробнее здесь: https://stackoverflow.com/questions/791 ... ed-to-cart
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Товары не обновляются и не добавляются в корзину.
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Элементы не обновляются и не добавляются в корзину
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Ajax добавить в корзину не добавляет товары в корзину
    Anonymous » » в форуме Jquery
    0 Ответы
    106 Просмотры
    Последнее сообщение Anonymous
  • Ajax добавить в корзину не добавляет товары в корзину
    Anonymous » » в форуме Jquery
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Продукты Django не добавляются в корзину сразу
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»