using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using JetBrains.Annotations;
using Volo.Abp.Data;
namespace Volo.Abp.ObjectExtending;
public class ObjectExtensionValidationContext
{
///
/// Related object extension information.
///
[NotNull]
public ObjectExtensionInfo ObjectExtensionInfo { get; }
///
/// Reference to the validating object.
///
[NotNull]
public IHasExtraProperties ValidatingObject { get; }
///
/// Add validation errors to this list.
///
[NotNull]
public List ValidationErrors { get; }
///
/// Validation context comes from the method.
///
[NotNull]
public ValidationContext ValidationContext { get; }
///
/// Can be used to resolve services from the dependency injection container.
///
public IServiceProvider? ServiceProvider => ValidationContext;
public ObjectExtensionValidationContext(
[NotNull] ObjectExtensionInfo objectExtensionInfo,
[NotNull] IHasExtraProperties validatingObject,
[NotNull] List validationErrors,
[NotNull] ValidationContext validationContext)
{
ObjectExtensionInfo = Check.NotNull(objectExtensionInfo, nameof(objectExtensionInfo));
ValidatingObject = Check.NotNull(validatingObject, nameof(validatingObject));
ValidationErrors = Check.NotNull(validationErrors, nameof(validationErrors));
ValidationContext = Check.NotNull(validationContext, nameof(validationContext));
}
}