using System.ComponentModel.DataAnnotations; using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.CustomClass; using Kurisu.AspNetCore.DataAccess.Dto; namespace Dlhis.ScheduledTask.TaskAssignment.Request; public class DeviceTaskAssignmentRequest : PageDto, IValidatableObject { /// /// 设备类型 DeviceTypeEnumType /// [EnumDataType(typeof(DeviceTypeEnumType))] public DeviceTypeEnumType? Type { get; set; } /// /// 任务类型 /// public List TaskTypes { get; set; } /// /// 任务下发状态 DeviceTaskStatusEnumType /// public List Status { get; set; } public string UserNo { get; set; } /// /// 厂区 /// [Required(ErrorMessage = "厂区不可为空")] public string Factory { get; set; } /// /// 是否离线 /// public bool? IsOffline { get; set; } /// /// 搜索范围 /// public DateTimePeriod SearchDateTimePeriod { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (SearchDateTimePeriod is { End: not null }) { SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1); } yield break; } }