68 lines
1.5 KiB
C#
68 lines
1.5 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using Dlhis.Entity.Canteen.Enums;
|
|
|
|
namespace Dlhis.Canteen.Dishes.Request;
|
|
|
|
/// <summary>
|
|
/// 订餐请求
|
|
/// </summary>
|
|
public class BookingMealRequest : IValidatableObject
|
|
{
|
|
/// <summary>
|
|
/// 订餐的日期
|
|
/// </summary>
|
|
public DateTime BookingDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 营业点/消费地点
|
|
/// </summary>
|
|
public Guid BusinessPlaceCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 餐次
|
|
/// </summary>
|
|
[EnumDataType(typeof(ShiftEnumType))]
|
|
public ShiftEnumType ShiftType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 菜品编码
|
|
/// </summary>
|
|
[Required(ErrorMessage = "选菜不能为空")]
|
|
public string DishesCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// 购买数量
|
|
/// </summary>
|
|
[Range(0, 100)]
|
|
public int Number { get; set; }
|
|
|
|
/// <summary>
|
|
/// 单位
|
|
/// </summary>
|
|
public string Unit { get; set; }
|
|
|
|
/// <summary>
|
|
/// 消费来源
|
|
/// </summary>
|
|
[EnumDataType(typeof(BalanceRecordSourceEnumType))]
|
|
public BalanceRecordSourceEnumType Source { get; set; }
|
|
|
|
/// <summary>
|
|
/// 配送地址
|
|
/// </summary>
|
|
[Required]
|
|
public string DeliveryAddress { get; set; }
|
|
|
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
{
|
|
BookingDate = BookingDate.Date;
|
|
|
|
if (DateTime.Now.Date >= BookingDate)
|
|
{
|
|
yield return new ValidationResult("订餐日期小于当天", new[] { nameof(BookingDate) });
|
|
}
|
|
|
|
yield break;
|
|
}
|
|
}
|