trakker/Models/PTask.cs

118 lines
3.1 KiB
C#

namespace trakker.Models
{
public class PTask
{
public enum RecursiveRoot
{
TASK_ID = 0,
PARENT_TASK_ID = 1
}
public PTask()
{
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 StatusName { get; set; } = string.Empty;
public string Priority { get; set; } = "medium";
public string PriorityName { get; set; } = string.Empty;
public DateTime? DueDate { get; set; }
public double? EstimatedHours { get; set; } = 0;
public double? ActualHours { get; set; } = 0;
public double? HourlyRate { get; set; } = 0;
public double? Amount { 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}
StatusName: {StatusName}
Priority: {Priority}
PriorityName: {PriorityName}
DueDate: {DueDate}
EstimatedHours: {EstimatedHours}
ActualHours: {ActualHours}
HourlyRate: {HourlyRate}
ParentTaskId: {ParentTaskId}
CreatedAt: {CreatedAt}
UpdatedAt: {UpdatedAt}
";
}
}
public class PTaskFS
{
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 PTaskComment
{
public PTaskComment()
{
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; }
public override string ToString()
{
return @$"
TaskCommentId: {TaskCommentId}
TaskId: {TaskId}
Comment: {Comment}
CreatedAt: {CreatedAt}
";
}
}
}