diff --git a/ScrumTaskboard/TaskContext.cs b/ScrumTaskboard/TaskContext.cs index 3baacce..8e5fa43 100644 --- a/ScrumTaskboard/TaskContext.cs +++ b/ScrumTaskboard/TaskContext.cs @@ -4,6 +4,13 @@ using System.Runtime.Serialization; namespace ScrumTaskboard { + /// + /// Provides access to the database via the Entity Framework Core. + /// + /// + /// Each property represents a table. + /// Tables can be queried and updated via the context class. + /// public class TaskContext : DbContext { public DbSet Tasks { get; set; } @@ -14,11 +21,23 @@ namespace ScrumTaskboard public DbSet Projects { get; set; } public DbSet Users { get; set; } + /// + /// Creates a new instance with default options. + /// public TaskContext() { } + /// + /// Creates a new instance with the given options. + /// public TaskContext(DbContextOptions options) : base(options) { } } + /// + /// Represents a task in an agile work process. + /// + /// + /// A task is a small piece of work, associated with a larger userstory. + /// public class ScrumTask { public int Id { get; set; } @@ -40,6 +59,13 @@ namespace ScrumTaskboard public ScrumPrio Priority { get; set; } } + /// + /// Represents a userstory in an agile work process. + /// + /// + /// A userstory is a piece of work that can be done in one sprint. + /// It can be further divided into multiple tasks. + /// public class ScrumUserstory { public int Id { get; set; } @@ -63,6 +89,13 @@ namespace ScrumTaskboard public ScrumSprint Sprint { get; set; } } + /// + /// Represents a category of userstories. + /// + /// + /// Every userstory can optionally be associated with a single category. + /// This can be helpful to organize work in larger teams. + /// public class ScrumCategory { public int Id { get; set; } @@ -74,6 +107,14 @@ namespace ScrumTaskboard public ScrumProject Project { get; set; } } + /// + /// Represents an agile sprint. + /// + /// + /// A sprint is typically one to four weeks long. + /// Userstories are typically started and completed + /// during one sprint. + /// public class ScrumSprint { public int Id { get; set; } @@ -86,6 +127,13 @@ namespace ScrumTaskboard public ScrumProject Project { get; set; } } + /// + /// Represents the status of a task or userstory. + /// + /// + /// Classic status are "Backlog", "In Progress" and "Done", but + /// teams can create others to fit their individual workflow. + /// public class ScrumStatus { public int Id { get; set; } @@ -93,6 +141,13 @@ namespace ScrumTaskboard public string Description { get; set; } } + /// + /// Represents a project that the team works on. + /// + /// + /// Userstories and sprints can be categorized into projects, + /// to help organization for larger teams. + /// public class ScrumProject { public int Id { get; set; } @@ -100,6 +155,13 @@ namespace ScrumTaskboard public bool IsPrivate { get; set; } } + /// + /// Represents a team member that can work on userstories. + /// + /// + /// This allows teams to track who is working on a userstory + /// at a given time. + /// public class ScrumUser { public int Id { get; set; }