using FluentValidation;
using Nop.Plugin.Payments.PayPalCommerce.Models.Admin;
using Nop.Services.Localization;
using Nop.Web.Framework.Validators;
namespace Nop.Plugin.Payments.PayPalCommerce.Validators;
///
/// Represents the configuration model validator
///
public class ConfigurationValidator : BaseNopValidator
{
#region Ctor
public ConfigurationValidator(ILocalizationService localizationService)
{
RuleFor(model => model.ClientId)
.NotEmpty()
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Payments.PayPalCommerce.Fields.ClientId.Required"))
.When(model => !model.UseSandbox && model.SetCredentialsManually);
RuleFor(model => model.SecretKey)
.NotEmpty()
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Payments.PayPalCommerce.Fields.SecretKey.Required"))
.When(model => !model.UseSandbox && model.SetCredentialsManually);
RuleFor(model => model.MerchantId)
.NotEmpty()
.WithMessageAwait(localizationService.GetResourceAsync("Plugins.Payments.PayPalCommerce.Fields.MerchantId.Required"))
.When(model => !model.UseSandbox && model.SetCredentialsManually);
}
#endregion
}