using Microsoft.AspNetCore.Mvc; using Nop.Plugin.Payments.PayPalCommerce.Services; using Nop.Web.Framework.Components; using Nop.Web.Framework.Infrastructure; namespace Nop.Plugin.Payments.PayPalCommerce.Components.Admin; /// /// Represents the view component to display PayPal on the payment methods page in the admin area /// public class PaymentMethodViewComponent : NopViewComponent { #region Fields private readonly PayPalCommerceSettings _settings; private readonly PayPalCommerceServiceManager _serviceManager; #endregion #region Ctor public PaymentMethodViewComponent(PayPalCommerceSettings settings, PayPalCommerceServiceManager serviceManager) { _settings = settings; _serviceManager = serviceManager; } #endregion #region Methods /// /// Invoke view component /// /// Widget zone name /// Additional data /// /// A task that represents the asynchronous operation /// The task result contains the view component result /// public async Task InvokeAsync(string widgetZone, object additionalData) { if (!widgetZone.Equals(AdminWidgetZones.PaymentMethodListTop)) return Content(string.Empty); var (active, _) = await _serviceManager.IsActiveAsync(_settings); return View("~/Plugins/Payments.PayPalCommerce/Views/Admin/_PaymentMethod.cshtml", active); } #endregion }