Merge branch 'comments/task-context' into comments/merge
This commit is contained in:
commit
959c43ca1e
|
@ -34,15 +34,15 @@ namespace ScrumTaskboard.Controllers
|
||||||
|
|
||||||
if (title != null)
|
if (title != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumCategory>(c => c.title.Contains(title));
|
filtered = filtered.Where<ScrumCategory>(c => c.Title.Contains(title));
|
||||||
}
|
}
|
||||||
if (projectid != null)
|
if (projectid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumCategory>(c => c.projectid == projectid);
|
filtered = filtered.Where<ScrumCategory>(c => c.ProjectId == projectid);
|
||||||
}
|
}
|
||||||
if (color != null)
|
if (color != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumCategory>(c => c.color == color);
|
filtered = filtered.Where<ScrumCategory>(c => c.Color == color);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool CategoryExists(int id)
|
private bool CategoryExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Categories.Any(e => e.id == id);
|
return _context.Categories.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -34,11 +34,11 @@ namespace ScrumTaskboard.Controllers
|
||||||
|
|
||||||
if (title != null)
|
if (title != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumProject>(t => t.title.Contains(title));
|
filtered = filtered.Where<ScrumProject>(t => t.Title.Contains(title));
|
||||||
}
|
}
|
||||||
if (isprivate != null)
|
if (isprivate != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumProject>(t => t.isprivate == isprivate);
|
filtered = filtered.Where<ScrumProject>(t => t.IsPrivate == isprivate);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await filtered.ToListAsync();
|
return await filtered.ToListAsync();
|
||||||
|
@ -49,14 +49,14 @@ namespace ScrumTaskboard.Controllers
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<ActionResult<ScrumProject>> GetProjects(int id)
|
public async Task<ActionResult<ScrumProject>> GetProjects(int id)
|
||||||
{
|
{
|
||||||
var Project = await _context.Projects.FindAsync(id);
|
var project = await _context.Projects.FindAsync(id);
|
||||||
|
|
||||||
if (Project == null)
|
if (project == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Project;
|
return project;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PUT: api/Project/5
|
// PUT: api/Project/5
|
||||||
|
@ -127,7 +127,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool ProjectExists(int id)
|
private bool ProjectExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Projects.Any(e => e.id == id);
|
return _context.Projects.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,55 +1,55 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace ScrumTaskboard.Controllers
|
namespace ScrumTaskboard.Controllers
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is a controller of Sprints class includes all API's related to the Sprints.
|
/// This is a controller of Sprints class includes all API's related to the Sprints.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class SprintsController : ControllerBase
|
public class SprintsController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly TaskContext _context;
|
private readonly TaskContext _context;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the class.
|
/// Initializes a new instance of the class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="context"></param>
|
/// <param name="context"></param>
|
||||||
public SprintsController(TaskContext context)
|
public SprintsController(TaskContext context)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/sprint
|
// GET: api/sprint
|
||||||
#nullable enable
|
#nullable enable
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult<IEnumerable<ScrumSprint>>> GetSprint([FromQuery]string? title, [FromQuery]int? projectid, [FromQuery]DateTime? startDate, [FromQuery]DateTime? endDate)
|
public async Task<ActionResult<IEnumerable<ScrumSprint>>> GetSprint([FromQuery]string? title, [FromQuery]int? projectid, [FromQuery]DateTime? startDate, [FromQuery]DateTime? endDate)
|
||||||
{
|
{
|
||||||
var filtered = _context.Sprints.AsQueryable();
|
var filtered = _context.Sprints.AsQueryable();
|
||||||
|
|
||||||
if (title != null)
|
if (title != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumSprint>(s => s.title.Contains(title));
|
filtered = filtered.Where<ScrumSprint>(s => s.Title.Contains(title));
|
||||||
}
|
}
|
||||||
if (projectid != null)
|
if (projectid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumSprint>(s => s.projectid == projectid);
|
filtered = filtered.Where<ScrumSprint>(s => s.ProjectId == projectid);
|
||||||
}
|
}
|
||||||
if (startDate != null)
|
if (startDate != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumSprint>(s => s.startDate == startDate);
|
filtered = filtered.Where<ScrumSprint>(s => s.StartDate == startDate);
|
||||||
}
|
}
|
||||||
if (endDate != null)
|
if (endDate != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumSprint>(s => s.endDate == endDate);
|
filtered = filtered.Where<ScrumSprint>(s => s.EndDate == endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await filtered.ToListAsync();
|
return await filtered.ToListAsync();
|
||||||
}
|
}
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
|
@ -57,14 +57,14 @@ namespace ScrumTaskboard.Controllers
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<ActionResult<ScrumSprint>> GetSprint(int id)
|
public async Task<ActionResult<ScrumSprint>> GetSprint(int id)
|
||||||
{
|
{
|
||||||
var Sprint = await _context.Sprints.FindAsync(id);
|
var sprint = await _context.Sprints.FindAsync(id);
|
||||||
|
|
||||||
if (Sprint == null)
|
if (sprint == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Sprint;
|
return sprint;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PUT: api/sprint/5
|
// PUT: api/sprint/5
|
||||||
|
@ -130,12 +130,12 @@ namespace ScrumTaskboard.Controllers
|
||||||
return scrumSprint;
|
return scrumSprint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Checks whether a sprint with the specified ID already exists.
|
/// Checks whether a sprint with the specified ID already exists.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool SprintExists(int id)
|
private bool SprintExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Sprints.Any(e => e.id == id);
|
return _context.Sprints.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
|
|
||||||
if (title != null)
|
if (title != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumStatus>(s => s.title.Contains(title));
|
filtered = filtered.Where<ScrumStatus>(s => s.Title.Contains(title));
|
||||||
}
|
}
|
||||||
|
|
||||||
return await filtered.ToListAsync();
|
return await filtered.ToListAsync();
|
||||||
|
@ -122,7 +122,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool StatusExists(int id)
|
private bool StatusExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Status.Any(e => e.id == id);
|
return _context.Status.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
@ -7,8 +7,8 @@ using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace ScrumTaskboard.Controllers
|
namespace ScrumTaskboard.Controllers
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is a controller of Tasks class includes all API's related to the Tasks.
|
/// This is a controller of Tasks class includes all API's related to the Tasks.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
|
@ -16,53 +16,53 @@ namespace ScrumTaskboard.Controllers
|
||||||
{
|
{
|
||||||
private readonly TaskContext _context;
|
private readonly TaskContext _context;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the class.
|
/// Initializes a new instance of the class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="context"></param>
|
/// <param name="context"></param>
|
||||||
public TasksController(TaskContext context)
|
public TasksController(TaskContext context)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/tasks
|
// GET: api/tasks
|
||||||
#nullable enable
|
#nullable enable
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult<IEnumerable<ScrumTask>>> GetTasks([FromQuery]string? title, [FromQuery]int? userstoryid, [FromQuery]int? statusid, [FromQuery]int? assignedtoid, [FromQuery]int? projectid, [FromQuery]ScrumPrio? priority)
|
public async Task<ActionResult<IEnumerable<ScrumTask>>> GetTasks([FromQuery]string? title, [FromQuery]int? userstoryid, [FromQuery]int? statusid, [FromQuery]int? assignedtoid, [FromQuery]int? projectid, [FromQuery]ScrumPrio? priority)
|
||||||
{
|
{
|
||||||
var filtered = _context.Tasks.AsQueryable();
|
var filtered = _context.Tasks.AsQueryable();
|
||||||
|
|
||||||
if (title != null)
|
if (title != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumTask>(t => t.title.Contains(title));
|
filtered = filtered.Where<ScrumTask>(t => t.Title.Contains(title));
|
||||||
}
|
}
|
||||||
if (userstoryid != null)
|
if (userstoryid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumTask>(t => t.userstoryid == userstoryid);
|
filtered = filtered.Where<ScrumTask>(t => t.UserstoryId == userstoryid);
|
||||||
}
|
}
|
||||||
if (statusid != null)
|
if (statusid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumTask>(t => t.statusid == statusid);
|
filtered = filtered.Where<ScrumTask>(t => t.StatusId == statusid);
|
||||||
}
|
}
|
||||||
if (assignedtoid != null)
|
if (assignedtoid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumTask>(t => t.assignedtoid == assignedtoid);
|
filtered = filtered.Where<ScrumTask>(t => t.AssignedToId == assignedtoid);
|
||||||
}
|
}
|
||||||
if (projectid != null)
|
if (projectid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumTask>(t => t.projectid == projectid);
|
filtered = filtered.Where<ScrumTask>(t => t.ProjectId == projectid);
|
||||||
}
|
}
|
||||||
if (priority != null)
|
if (priority != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumTask>(t => t.priority == priority);
|
filtered = filtered.Where<ScrumTask>(t => t.Priority == priority);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return await filtered.ToListAsync();
|
return await filtered.ToListAsync();
|
||||||
}
|
}
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
// GET: api/tasks/5
|
// GET: api/tasks/5
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<ActionResult<ScrumTask>> GetTask(int id)
|
public async Task<ActionResult<ScrumTask>> GetTask(int id)
|
||||||
{
|
{
|
||||||
|
@ -144,7 +144,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool TaskExists(int id)
|
private bool TaskExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Tasks.Any(e => e.id == id);
|
return _context.Tasks.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
var filtered = _context.Users.AsQueryable();
|
var filtered = _context.Users.AsQueryable();
|
||||||
if (name != null)
|
if (name != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUser>(u => u.name.Contains(name));
|
filtered = filtered.Where<ScrumUser>(u => u.Name.Contains(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
return await filtered.ToListAsync();
|
return await filtered.ToListAsync();
|
||||||
|
@ -43,14 +43,14 @@ namespace ScrumTaskboard.Controllers
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public async Task<ActionResult<ScrumUser>> GetUser(int id)
|
public async Task<ActionResult<ScrumUser>> GetUser(int id)
|
||||||
{
|
{
|
||||||
var User = await _context.Users.FindAsync(id);
|
var user = await _context.Users.FindAsync(id);
|
||||||
|
|
||||||
if (User == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
return User;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PUT: api/sprint/5
|
// PUT: api/sprint/5
|
||||||
|
@ -121,7 +121,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool UserExists(int id)
|
private bool UserExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Users.Any(e => e.id == id);
|
return _context.Users.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -34,31 +34,31 @@ namespace ScrumTaskboard.Controllers
|
||||||
|
|
||||||
if (title != null)
|
if (title != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.title.Contains(title));
|
filtered = filtered.Where<ScrumUserstory>(t => t.Title.Contains(title));
|
||||||
}
|
}
|
||||||
if (statusid != null)
|
if (statusid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.statusid == statusid);
|
filtered = filtered.Where<ScrumUserstory>(t => t.StatusId == statusid);
|
||||||
}
|
}
|
||||||
if (categoryid != null)
|
if (categoryid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.categoryid == categoryid);
|
filtered = filtered.Where<ScrumUserstory>(t => t.CategoryId == categoryid);
|
||||||
}
|
}
|
||||||
if (createdbyid != null)
|
if (createdbyid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.createdbyid == createdbyid);
|
filtered = filtered.Where<ScrumUserstory>(t => t.CreatedById == createdbyid);
|
||||||
}
|
}
|
||||||
if (projectid != null)
|
if (projectid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.projectid == projectid);
|
filtered = filtered.Where<ScrumUserstory>(t => t.ProjectId == projectid);
|
||||||
}
|
}
|
||||||
if (sprintid != null)
|
if (sprintid != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.sprintid == sprintid);
|
filtered = filtered.Where<ScrumUserstory>(t => t.SprintId == sprintid);
|
||||||
}
|
}
|
||||||
if (priority != null)
|
if (priority != null)
|
||||||
{
|
{
|
||||||
filtered = filtered.Where<ScrumUserstory>(t => t.priority == priority);
|
filtered = filtered.Where<ScrumUserstory>(t => t.Priority == priority);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ namespace ScrumTaskboard.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool UserstoryExists(int id)
|
private bool UserstoryExists(int id)
|
||||||
{
|
{
|
||||||
return _context.Userstories.Any(e => e.id == id);
|
return _context.Userstories.Any(e => e.Id == id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,6 +4,13 @@ using System.Runtime.Serialization;
|
||||||
|
|
||||||
namespace ScrumTaskboard
|
namespace ScrumTaskboard
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Provides access to the database via the Entity Framework Core.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Each <see cref="DbSet{TEntity}"/> property represents a table.
|
||||||
|
/// Tables can be queried and updated via the context class.
|
||||||
|
/// </remarks>
|
||||||
public class TaskContext : DbContext
|
public class TaskContext : DbContext
|
||||||
{
|
{
|
||||||
public DbSet<ScrumTask> Tasks { get; set; }
|
public DbSet<ScrumTask> Tasks { get; set; }
|
||||||
|
@ -14,106 +21,160 @@ namespace ScrumTaskboard
|
||||||
public DbSet<ScrumProject> Projects { get; set; }
|
public DbSet<ScrumProject> Projects { get; set; }
|
||||||
public DbSet<ScrumUser> Users { get; set; }
|
public DbSet<ScrumUser> Users { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates a new <see cref="TaskContext"/> instance with default options.
|
||||||
|
/// </summary>
|
||||||
public TaskContext() { }
|
public TaskContext() { }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates a new <see cref="TaskContext"/> instance with the given options.
|
||||||
|
/// </summary>
|
||||||
public TaskContext(DbContextOptions<TaskContext> options) : base(options) { }
|
public TaskContext(DbContextOptions<TaskContext> options) : base(options) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a task in an agile work process.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// A task is a small piece of work, associated with a larger userstory.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumTask
|
public class ScrumTask
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string title { get; set; }
|
public string Title { get; set; }
|
||||||
public string content { get; set; }
|
public string Content { get; set; }
|
||||||
|
|
||||||
public int? statusid { get; set; }
|
public int? StatusId { get; set; }
|
||||||
public ScrumStatus status { get; set; }
|
public ScrumStatus Status { get; set; }
|
||||||
|
|
||||||
public int? assignedtoid { get; set; }
|
public int? AssignedToId { get; set; }
|
||||||
public ScrumUser assignedto { get; set; }
|
public ScrumUser AssignedTo { get; set; }
|
||||||
|
|
||||||
public int? projectid { get; set; }
|
public int? ProjectId { get; set; }
|
||||||
public ScrumProject project { get; set; }
|
public ScrumProject Project { get; set; }
|
||||||
|
|
||||||
public int? userstoryid { get; set; }
|
public int? UserstoryId { get; set; }
|
||||||
public ScrumUserstory userstory { get; set; }
|
public ScrumUserstory Userstory { get; set; }
|
||||||
|
|
||||||
public ScrumPrio priority { get; set; }
|
public ScrumPrio Priority { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a userstory in an agile work process.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// A userstory is a piece of work that can be done in one sprint.
|
||||||
|
/// It can be further divided into multiple tasks.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumUserstory
|
public class ScrumUserstory
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string title { get; set; }
|
public string Title { get; set; }
|
||||||
public string content { get; set; }
|
public string Content { get; set; }
|
||||||
public ScrumPrio priority { get; set; }
|
public ScrumPrio Priority { get; set; }
|
||||||
|
|
||||||
public int? statusid { get; set; }
|
public int? StatusId { get; set; }
|
||||||
public ScrumStatus status { get; set; }
|
public ScrumStatus Status { get; set; }
|
||||||
|
|
||||||
public int? categoryid { get; set; }
|
public int? CategoryId { get; set; }
|
||||||
public ScrumCategory category { get; set; }
|
public ScrumCategory Category { get; set; }
|
||||||
|
|
||||||
public int? createdbyid { get; set; }
|
public int? CreatedById { get; set; }
|
||||||
public ScrumUser createdby { get; set; }
|
public ScrumUser CreatedBy { get; set; }
|
||||||
|
|
||||||
public int? projectid { get; set; }
|
public int? ProjectId { get; set; }
|
||||||
public ScrumProject project { get; set; }
|
public ScrumProject Project { get; set; }
|
||||||
|
|
||||||
public int? sprintid { get; set; }
|
public int? SprintId { get; set; }
|
||||||
public ScrumSprint sprint { get; set; }
|
public ScrumSprint Sprint { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a category of userstories.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Every userstory can optionally be associated with a single category.
|
||||||
|
/// This can be helpful to organize work in larger teams.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumCategory
|
public class ScrumCategory
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string title { get; set; }
|
public string Title { get; set; }
|
||||||
public string description { get; set; }
|
public string Description { get; set; }
|
||||||
public string color { get; set; }
|
public string Color { get; set; }
|
||||||
|
|
||||||
public int? projectid { get; set; }
|
public int? ProjectId { get; set; }
|
||||||
public ScrumProject project { get; set; }
|
public ScrumProject Project { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents an agile sprint.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// A sprint is typically one to four weeks long.
|
||||||
|
/// Userstories are typically started and completed
|
||||||
|
/// during one sprint.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumSprint
|
public class ScrumSprint
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string title { get; set; }
|
public string Title { get; set; }
|
||||||
public string description { get; set; }
|
public string Description { get; set; }
|
||||||
public DateTime startDate { get; set; }
|
public DateTime StartDate { get; set; }
|
||||||
public DateTime endDate { get; set; }
|
public DateTime EndDate { get; set; }
|
||||||
|
|
||||||
|
public int? ProjectId { get; set; }
|
||||||
public int? projectid { get; set; }
|
public ScrumProject Project { get; set; }
|
||||||
public ScrumProject project { get; set; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the status of a task or userstory.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Classic status are "Backlog", "In Progress" and "Done", but
|
||||||
|
/// teams can create others to fit their individual workflow.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumStatus
|
public class ScrumStatus
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string title { get; set; }
|
public string Title { get; set; }
|
||||||
public string description { get; set; }
|
public string Description { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a project that the team works on.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Userstories and sprints can be categorized into projects,
|
||||||
|
/// to help organization for larger teams.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumProject
|
public class ScrumProject
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string title { get; set; }
|
public string Title { get; set; }
|
||||||
public bool isprivate { get; set; }
|
public bool IsPrivate { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a team member that can work on userstories.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This allows teams to track who is working on a userstory
|
||||||
|
/// at a given time.
|
||||||
|
/// </remarks>
|
||||||
public class ScrumUser
|
public class ScrumUser
|
||||||
{
|
{
|
||||||
public int id { get; set; }
|
public int Id { get; set; }
|
||||||
public string name { get; set; }
|
public string Name { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ScrumPrio
|
public enum ScrumPrio
|
||||||
{
|
{
|
||||||
[EnumMember(Value = "low")]
|
[EnumMember(Value = "low")]
|
||||||
low,
|
Low,
|
||||||
[EnumMember(Value = "medium")]
|
[EnumMember(Value = "medium")]
|
||||||
medium,
|
Medium,
|
||||||
[EnumMember(Value = "high")]
|
[EnumMember(Value = "high")]
|
||||||
high
|
High
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue