102 lines
2.6 KiB
C#
102 lines
2.6 KiB
C#
namespace trakker.Models
|
|
{
|
|
|
|
public class Task
|
|
{
|
|
public enum RecursiveRoot
|
|
{
|
|
TASK_ID = 0,
|
|
PARENT_TASK_ID = 1
|
|
}
|
|
|
|
public Task()
|
|
{
|
|
TaskId = Guid.NewGuid().ToString();
|
|
DueDate = DateTime.Now;
|
|
CreatedAt = DateTime.Now;
|
|
UpdatedAt = DateTime.Now;
|
|
}
|
|
public string? TaskId { get; set; } = string.Empty;
|
|
|
|
public string? ProjectId { get; set; } = string.Empty;
|
|
|
|
public string? Title { get; set; } = string.Empty;
|
|
|
|
public string? Description { get; set; }
|
|
|
|
public string Status { get; set; } = "todo";
|
|
|
|
public string Priority { get; set; } = "medium";
|
|
|
|
public DateTime? DueDate { get; set; }
|
|
|
|
public double? EstimatedHours { get; set; } = 0;
|
|
|
|
public double? ActualHours { get; set; } = 0;
|
|
|
|
public double? HourlyRate { get; set; } = 0;
|
|
|
|
public string? ParentTaskId { get; set; }
|
|
|
|
public DateTime? CreatedAt { get; set; }
|
|
|
|
public DateTime? UpdatedAt { get; set; }
|
|
|
|
public override string ToString()
|
|
{
|
|
return @$"
|
|
TaskId: {TaskId}
|
|
ProjectId: {ProjectId}
|
|
Title: {Title}
|
|
Description: {Description}
|
|
Status: {Status}
|
|
Priority: {Priority}
|
|
DueDate: {DueDate}
|
|
EstimatedHours: {EstimatedHours}
|
|
ActualHours: {ActualHours}
|
|
HourlyRate: {HourlyRate}
|
|
ParentTaskId: {ParentTaskId}
|
|
CreatedAt: {CreatedAt}
|
|
UpdatedAt: {UpdatedAt}
|
|
";
|
|
}
|
|
|
|
}
|
|
|
|
public class TaskFS
|
|
{
|
|
public string GUID { get; set; } = string.Empty;
|
|
public string Node { get; set; } = string.Empty;
|
|
public string Parent { get; set; } = string.Empty;
|
|
public double? HourlyRate { get; set; } = 0;
|
|
public string ProjectId { get; set; } = string.Empty;
|
|
public override string ToString()
|
|
{
|
|
return @$"
|
|
GUID: {GUID}
|
|
Node: {Node}
|
|
Parent: {Parent}
|
|
HourlyRate: {HourlyRate}
|
|
ProjectId: {ProjectId}
|
|
";
|
|
}
|
|
|
|
}
|
|
|
|
public class TaskComment
|
|
{
|
|
public TaskComment()
|
|
{
|
|
TaskCommentId = Guid.NewGuid().ToString();
|
|
}
|
|
public string? TaskCommentId { get; set; } = string.Empty;
|
|
|
|
public string? TaskId { get; set; } = string.Empty;
|
|
|
|
public string? Comment { get; set; } = string.Empty;
|
|
|
|
public DateTime? CreatedAt { get; set; }
|
|
}
|
|
|
|
}
|