2025-11-17 02:53:51 +03:30
|
|
|
using Microsoft.AspNetCore.Components;
|
|
|
|
|
using FrontOffice.Main.Utilities;
|
|
|
|
|
|
|
|
|
|
namespace FrontOffice.Main.Pages.Store;
|
|
|
|
|
|
|
|
|
|
public partial class Cart : ComponentBase, IDisposable
|
|
|
|
|
{
|
|
|
|
|
[Inject] private CartService CartService { get; set; } = default!;
|
|
|
|
|
// Navigation and Snackbar are available via _Imports.razor
|
|
|
|
|
private CartService CartData => CartService;
|
|
|
|
|
|
|
|
|
|
protected override void OnInitialized()
|
|
|
|
|
{
|
|
|
|
|
CartService.OnChange += StateHasChanged;
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-20 20:10:17 +03:30
|
|
|
private async Task ChangeQty(long productId, int value)
|
2025-11-17 02:53:51 +03:30
|
|
|
{
|
2025-11-20 20:10:17 +03:30
|
|
|
await CartService.UpdateQuantity(productId, value);
|
2025-11-17 02:53:51 +03:30
|
|
|
}
|
|
|
|
|
|
2025-11-20 20:10:17 +03:30
|
|
|
private async Task Remove(long productId)
|
2025-11-17 02:53:51 +03:30
|
|
|
{
|
2025-11-20 20:10:17 +03:30
|
|
|
await CartService.Remove(productId);
|
2025-11-17 02:53:51 +03:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ProceedCheckout()
|
|
|
|
|
{
|
|
|
|
|
Navigation.NavigateTo(RouteConstants.Store.CheckoutSummary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static string FormatPrice(long price) => string.Format("{0:N0} تومان", price);
|
|
|
|
|
|
|
|
|
|
public void Dispose()
|
|
|
|
|
{
|
|
|
|
|
CartService.OnChange -= StateHasChanged;
|
|
|
|
|
}
|
|
|
|
|
}
|