using CodePlay.Core.Common; namespace CodePlay.Core.Models; /// /// 项目模型 /// public class Project { /// /// 项目 ID /// public string Id { get; set; } = Guid.NewGuid().ToString("N"); /// /// 项目名称 /// public string Name { get; set; } = string.Empty; /// /// 源语言 /// public LanguageType SourceLanguage { get; set; } /// /// 目标语言 /// public LanguageType TargetLanguage { get; set; } /// /// 项目状态 /// public ProjectStatus Status { get; set; } /// /// 创建时间 /// public DateTime CreatedAt { get; set; } = DateTime.UtcNow; /// /// 更新时间 /// public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; /// /// 转换任务列表 /// public List Tasks { get; set; } = new(); /// /// 配置 /// public ProjectConfiguration? Configuration { get; set; } } /// /// 转换任务 /// public class ConversionTask { /// /// 任务 ID /// public string Id { get; set; } = Guid.NewGuid().ToString("N"); /// /// 源文件路径 /// public string SourceFilePath { get; set; } = string.Empty; /// /// 目标文件路径 /// public string TargetFilePath { get; set; } = string.Empty; /// /// 源代码 /// public string? SourceCode { get; set; } /// /// 转换后的代码 /// public string? TransformedCode { get; set; } /// /// 转换状态 /// public ConversionStatus Status { get; set; } /// /// 创建时间 /// public DateTime CreatedAt { get; set; } = DateTime.UtcNow; /// /// 完成时间 /// public DateTime? CompletedAt { get; set; } /// /// 转换结果 /// public ConversionResult? Result { get; set; } } /// /// 项目配置 /// public class ProjectConfiguration { /// /// 验证轮次 /// public int ValidationRounds { get; set; } = 2; /// /// 自动修复启用 /// public bool EnableAutoFix { get; set; } = true; /// /// 保留注释 /// public bool KeepComments { get; set; } = true; /// /// 保留文档字符串 /// public bool KeepDocStrings { get; set; } = true; /// /// 缩进大小 /// public int IndentSize { get; set; } = 4; /// /// 输出目录 /// public string? OutputDirectory { get; set; } }