38 lines
1.0 KiB
C#
38 lines
1.0 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using Kurisu.AspNetCore.CustomClass;
|
|
using Kurisu.AspNetCore.Utils.Extensions;
|
|
|
|
namespace Dlhis.Basic.Dishes.Request;
|
|
|
|
public class DishesMenuNameDateSaveRequest : IValidatableObject
|
|
{
|
|
/// <summary>
|
|
/// 菜单编码
|
|
/// </summary>
|
|
public string CustomCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 时间段
|
|
/// </summary>
|
|
[Required(ErrorMessage = "时间段不可为空")]
|
|
public DateTimePeriod Period { get; set; }
|
|
|
|
/// <summary>
|
|
/// 餐次数据
|
|
/// </summary>
|
|
public List<DishesMenuShiftTypeSaveRequest> ShiftTypes { get; set; }
|
|
|
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
{
|
|
if (Period.Start > Period.End)
|
|
{
|
|
yield return new ValidationResult("时间范围有误", new[] { nameof(Period) });
|
|
}
|
|
|
|
if (CustomCode.IsEmpty())
|
|
{
|
|
CustomCode = Period.Start.Value.ToString("yyyy-MM-dd") + "." + Period.End.Value.ToString("yyyy-MM-dd");
|
|
}
|
|
}
|
|
}
|