1.更换软件协议为AGPL

2.切换项目名称为Hua.Todo
This commit is contained in:
ShaoHua
2026-04-06 22:06:30 +08:00
parent 40a91e39b6
commit 758f6772c6
147 changed files with 1203 additions and 644 deletions
+52
View File
@@ -0,0 +1,52 @@
namespace Hua.Todo.Core.Entities;
/// <summary>
/// 任务实体类,表示一个代办
/// </summary>
public class TaskEntity
{
/// <summary>
/// 任务唯一标识符
/// </summary>
public int Id { get; set; }
/// <summary>
/// 任务标题
/// </summary>
public string Title { get; set; } = string.Empty;
/// <summary>
/// 任务优先级
/// </summary>
public TaskPriority Priority { get; set; } = TaskPriority.Medium;
/// <summary>
/// 任务是否已完成
/// </summary>
public bool IsCompleted { get; set; }
/// <summary>
/// 任务创建时间(UTC
/// </summary>
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
/// <summary>
/// 任务最后更新时间(UTC
/// </summary>
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
/// <summary>
/// 父任务ID,用于支持子任务功能
/// </summary>
public int? ParentTaskId { get; set; }
/// <summary>
/// 父任务导航属性
/// </summary>
public TaskEntity? ParentTask { get; set; }
/// <summary>
/// 子任务集合
/// </summary>
public List<TaskEntity> SubTasks { get; set; } = new();
}
@@ -0,0 +1,22 @@
namespace Hua.Todo.Core.Entities;
/// <summary>
/// 任务优先级枚举,定义任务的三种优先级级别
/// </summary>
public enum TaskPriority
{
/// <summary>
/// 低优先级
/// </summary>
Low = 0,
/// <summary>
/// 中优先级(默认)
/// </summary>
Medium = 1,
/// <summary>
/// 高优先级
/// </summary>
High = 2
}
+11
View File
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
</PropertyGroup>
</Project>
@@ -0,0 +1,61 @@
using Hua.Todo.Core.Entities;
namespace Hua.Todo.Core.Interfaces;
/// <summary>
/// 任务仓储接口,定义任务数据访问操作
/// </summary>
public interface ITaskRepository
{
/// <summary>
/// 获取所有任务
/// </summary>
/// <returns>任务列表</returns>
System.Threading.Tasks.Task<List<TaskEntity>> GetAllAsync();
/// <summary>
/// 根据ID获取指定任务
/// </summary>
/// <param name="id">任务ID</param>
/// <returns>任务对象,如果不存在则返回null</returns>
System.Threading.Tasks.Task<TaskEntity?> GetByIdAsync(int id);
/// <summary>
/// 获取所有未完成的任务
/// </summary>
/// <returns>未完成任务列表</returns>
System.Threading.Tasks.Task<List<TaskEntity>> GetActiveTasksAsync();
/// <summary>
/// 获取所有已完成的任务
/// </summary>
/// <returns>已完成任务列表</returns>
System.Threading.Tasks.Task<List<TaskEntity>> GetCompletedTasksAsync();
/// <summary>
/// 添加新任务
/// </summary>
/// <param name="taskEntity">要添加的任务对象</param>
/// <returns>添加后的任务对象(包含生成的ID</returns>
System.Threading.Tasks.Task<TaskEntity> AddAsync(TaskEntity taskEntity);
/// <summary>
/// 更新任务
/// </summary>
/// <param name="taskEntity">要更新的任务对象</param>
/// <returns>更新后的任务对象</returns>
System.Threading.Tasks.Task<TaskEntity> UpdateAsync(TaskEntity taskEntity);
/// <summary>
/// 删除指定ID的任务
/// </summary>
/// <param name="id">任务ID</param>
System.Threading.Tasks.Task DeleteAsync(int id);
/// <summary>
/// 获取指定父任务的所有子任务
/// </summary>
/// <param name="parentTaskId">父任务ID</param>
/// <returns>子任务列表</returns>
System.Threading.Tasks.Task<List<TaskEntity>> GetSubTasksAsync(int parentTaskId);
}