using System.ComponentModel.DataAnnotations; using Dlhis.Entity.Sys.Enums; using Kurisu.AspNetCore.Utils.Extensions; namespace Dlhis.Basic.Device.Request; public class DevicePermissionsAssignToDeviceRequest : IValidatableObject { /// /// 分配类型 /// public DeviceAssignmentTypeEnumType UniqueType { get; set; } /// /// 分配值 /// public Guid UniqueValue { get; set; } /// /// 来源 /// public AssignTypeEnumType AssignType { get; set; } /// /// 来源值 /// public List Values { get; set; } /// /// 只删除权限 /// public bool IsDelete { get; set; } /// /// AssignType == AssignTypeEnumType.Department 需要传入 /// public string TenantId { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (AssignType == AssignTypeEnumType.Department) { if (TenantId.IsEmpty()) { yield return new ValidationResult("请明确具体的厂区", new[] { nameof(TenantId) }); } } } }