47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using Dlhis.Entity.Canteen.Enums;
|
|
using Kurisu.AspNetCore.Utils.Extensions;
|
|
|
|
namespace Dlhis.Canteen.Setting.Request;
|
|
|
|
public class CanteenSettingSaveRequest : IValidatableObject
|
|
{
|
|
public long? Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 配置生效范围类型 CanteenSettingUnqiueEnumType
|
|
/// </summary>
|
|
[EnumDataType(typeof(CanteenSettingUnqiueEnumType))]
|
|
public CanteenSettingUnqiueEnumType UniqueType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 配置生效范围
|
|
/// </summary>
|
|
public string UniqueValue { get; set; }
|
|
|
|
/// <summary>
|
|
/// 自定义分类
|
|
/// </summary>
|
|
[Required(ErrorMessage = "分类不能为空")]
|
|
public string Catalog { get; set; }
|
|
|
|
/// <summary>
|
|
/// 就餐配置 CanteenSettingItemEnumType
|
|
/// </summary>
|
|
[EnumDataType(typeof(CanteenSettingItemEnumType))]
|
|
public CanteenSettingItemEnumType Item { get; set; }
|
|
|
|
/// <summary>
|
|
/// 参数值
|
|
/// </summary>
|
|
public string Value { get; set; }
|
|
|
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
{
|
|
if (UniqueType != CanteenSettingUnqiueEnumType.Tenant && UniqueValue.IsEmpty())
|
|
{
|
|
yield return new ValidationResult($"配置{UniqueType.GetDescription()}值不能为空", new string[] { nameof(UniqueValue) });
|
|
}
|
|
}
|
|
}
|