ShopOnlineSolution/ShopOnline.Web/Pages/CheckoutBase.cs

64 lines
1.6 KiB
C#

using Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using ShopOnline.Models.Dtos;
using ShopOnline.Web.Services.Contracts;
namespace ShopOnline.Web.Pages
{
public class CheckoutBase:ComponentBase
{
[Inject]
public IJSRuntime Js { get; set; }
protected IEnumerable<CartItemDto> ShoppingCartItems { get; set; }
protected int TotalQuantity { get; set; }
protected string PaymentDescription { get; set; }
protected decimal PaymentAmount { get; set; }
[Inject]
public IShoppingCartService ShoppingCartService { get; set; }
protected override async Task OnInitializedAsync()
{
try
{
ShoppingCartItems = await ShoppingCartService.GetItems(HardCoded.UserId);
if(ShoppingCartItems != null)
{
Guid orderGuid = Guid.NewGuid();
PaymentAmount = ShoppingCartItems.Sum(p => p.TotalPrice);
TotalQuantity = ShoppingCartItems.Sum(p => p.Quantity);
PaymentDescription = $"O_{HardCoded.UserId}_{orderGuid}";
}
}
catch (Exception)
{
throw;
}
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
try
{
if(firstRender)
{
Console.WriteLine("HIT");
await Js.InvokeVoidAsync("initPayPalButton");
}
}
catch (Exception)
{
throw;
}
}
}
}