namespace Health.Domain.Entities;

/// <summary>
/// 运动计划（按周）
/// </summary>
public sealed class ExercisePlan
{
    public Guid Id { get; set; }
    public Guid UserId { get; set; }
    public DateOnly WeekStartDate { get; set; } // 本周一
    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;

    public User User { get; set; } = null!;
    public ICollection<ExercisePlanItem> Items { get; set; } = [];
}

/// <summary>
/// 运动计划每日条目
/// </summary>
public sealed class ExercisePlanItem
{
    public Guid Id { get; set; }
    public Guid PlanId { get; set; }
    public int DayOfWeek { get; set; }    // 0=周一, 6=周日
    public string ExerciseType { get; set; } = string.Empty; // 散步/慢跑/游泳
    public int DurationMinutes { get; set; }
    public bool IsCompleted { get; set; }
    public DateTime? CompletedAt { get; set; }
    public bool IsRestDay { get; set; }

    public ExercisePlan Plan { get; set; } = null!;
}
