Files
2026-03-25 14:50:13 -05:00

49 lines
1.6 KiB
C#

using LCU.Library.Internal.DocumentIngestorModels.Enums;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace LCU.Library.Internal.DocumentIngestorModels.Entities;
public class OwnerOverrideInfo : IValidatableObject
{
public OwnerOverrideInfo()
{
}
public OwnerOverrideInfo(string userName, string entityId, EntityTypes entityType, int documentProcessingInfoId)
{
UserName = userName;
EntityId = entityId;
EntityType = entityType;
DocumentProcessingInfoId = documentProcessingInfoId;
}
public int OwnerOverrideInfoId { get; set; }
public string UserName { get; set; }
public string EntityId { get; set; }
public EntityTypes EntityType { get; set; }
public int DocumentProcessingInfoId { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (EntityType == EntityTypes.Unknown && !string.IsNullOrWhiteSpace(EntityId))
{
yield return new ValidationResult("Cannot assign EntityType of 'Unknown' and assign EntityId.");
}
if (EntityType != EntityTypes.Unknown && string.IsNullOrWhiteSpace(EntityId))
{
yield return new ValidationResult("There must be an EntityId if EntityType is not 'Unknown'.");
}
if (string.IsNullOrWhiteSpace(UserName))
{
yield return new ValidationResult("UserName cannot be null.");
}
if (DocumentProcessingInfoId <= 0)
{
yield return new ValidationResult("DocumentProcessingInfoId must be greater than 0.");
}
}
}