2026-03-01 22:32:44 +08:00

216 lines
4.6 KiB
C#

using YD_Event.Core.Entities;
using YD_Event.Core.Enum;
using System.ComponentModel.DataAnnotations;
using SqlSugar;
namespace YD_Event.Application.Project.Dtos;
public class ProjectQueryInput : Pagination
{
/// <summary>
/// 赛事ID
/// </summary>
public long? EventId { get; set; }
/// <summary>
/// 项目名称 (模糊查询)
/// </summary>
public string? ProjectName { get; set; }
/// <summary>
/// 项目类型ID
/// </summary>
public long? ProjectTypeId { get; set; }
}
public class AddProjectInput
{
/// <summary>
/// 关联的赛事ID
/// </summary>
[Required(ErrorMessage = "赛事ID不能为空")]
public long EventId { get; set; }
/// <summary>
/// 项目名称
/// </summary>
[Required(ErrorMessage = "项目名称不能为空")]
public string Name { get; set; }
/// <summary>
/// 项目类型ID
/// </summary>
[Required(ErrorMessage = "项目类型ID不能为空")]
public long ProjectTypeId { get; set; }
/// <summary>
/// 完成人数
/// </summary>
public int CompletionCount { get; set; }
/// <summary>
/// 费用(元)
/// </summary>
public decimal Fee { get; set; }
/// <summary>
/// 时长(分钟)
/// </summary>
public int DurationMinutes { get; set; }
/// <summary>
/// 时长(秒)
/// </summary>
public int DurationSeconds { get; set; }
/// <summary>
/// 场地数量
/// </summary>
public int VenueCount { get; set; }
/// <summary>
/// 排序索引
/// </summary>
public int SortIndex { get; set; }
/// <summary>
/// 项目组别列表
/// </summary>
public List<ProjectGroupInput>? Groups { get; set; }
}
public class UpdateProjectInput : AddProjectInput
{
/// <summary>
/// 主键Id
/// </summary>
[Required(ErrorMessage = "Id不能为空")]
public long Id { get; set; }
}
public class ProjectGroupInput
{
/// <summary>
/// 组别名称
/// </summary>
[Required(ErrorMessage = "组别名称不能为空")]
public string GroupName { get; set; }
/// <summary>
/// 出生日期起始日期
/// </summary>
public DateTime BirthDateStart { get; set; }
/// <summary>
/// 出生日期结束日期
/// </summary>
public DateTime BirthDateEnd { get; set; }
/// <summary>
/// 性别要求
/// </summary>
public Gender Gender { get; set; }
}
public class ProjectDto
{
/// <summary>
/// ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 关联的赛事ID
/// </summary>
public long EventId { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 项目类型ID
/// </summary>
public long ProjectTypeId { get; set; }
/// <summary>
/// 项目类型名称
/// </summary>
public string ProjectTypeName { get; set; }
/// <summary>
/// 完成人数
/// </summary>
public int CompletionCount { get; set; }
/// <summary>
/// 费用(元)
/// </summary>
public decimal Fee { get; set; }
/// <summary>
/// 时长(分钟)
/// </summary>
public int DurationMinutes { get; set; }
/// <summary>
/// 时长(秒)
/// </summary>
public int DurationSeconds { get; set; }
/// <summary>
/// 场地数量(编排用)
/// </summary>
public int VenueCount { get; set; }
/// <summary>
/// 排序索引(编排用)
/// </summary>
public int SortIndex { get; set; }
/// <summary>
/// 可用状态
/// </summary>
public AvailabilityStatus Status { get; set; }
/// <summary>
/// 标记删除
/// </summary>
public bool DeleteMark { get; set; }
/// <summary>
/// 创建人
/// </summary>
public long CreatedUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
public long? UpdatedUserId { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdatedTime { get; set; }
/// <summary>
/// 项目组别列表
/// </summary>
public List<ProjectGroupDto>? Groups { get; set; }
}
public class ProjectGroupDto
{
public long Id { get; set; }
public string GroupName { get; set; }
public DateTime BirthDateStart { get; set; }
public DateTime BirthDateEnd { get; set; }
public Gender Gender { get; set; }
}