diff --git a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs index 10b3a65b..96bd0278 100644 --- a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs @@ -1,9 +1,10 @@ using System.ComponentModel.DataAnnotations; using Dlhis.Entity.Device.Enums; +using Kurisu.AspNetCore.Utils.Extensions; namespace Dlhis.Basic.Device.Request; -public class DeviceSaveRequest +public class DeviceSaveRequest : IValidatableObject { public long? Id { get; set; } @@ -70,4 +71,17 @@ public class DeviceSaveRequest /// 是否启用 /// public bool Enable { get; set; } + + /// + /// 是否作为考勤设备 + /// + public bool AsAttendance { get; set; } + + public IEnumerable Validate(ValidationContext validationContext) + { + if (Type != DeviceTypeEnumType.Door && AsAttendance) + { + yield return new ValidationResult($"{DeviceTypeEnumType.Door.GetDescription()}才可设置作为考勤设备", new[] { nameof(AsAttendance) }); + } + } }