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