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)); } }