public ActionResult Create(CreateTaskViewModel createModel)
{
createModel.Assigned = createModel.AssigneeId == (int?)null ? createModel.Created : (DateTime?)null;
if (this.ModelState.IsValid)
{
var task = new HumanTask
{
Assigned = createModel.Assigned,
AssigneeId = createModel.AssigneeId,
Closed = createModel.Closed,
Finished = createModel.Finished,
Created = createModel.Created,
CreatorId = createModel.CreatorId,
Description = createModel.Description,
Id = createModel.Id,
Name = createModel.Name,
Priority = createModel.Priority,
ProjectId = 1,
};
this.taskProcessor.CreateTask(task);
this.taskProcessor.AddHistory(new HumanTaskHistory
{
NewDescription = task.Description,
ChangeDateTime = DateTime.Now,
NewAssigneeId = task.AssigneeId,
NewName = task.Name,
Task = task,
NewPriority = task.Priority,
});
return this.RedirectToAction("AllManagersWithTasks");
}
createModel.Priorities = taskProcessor.GetPrioritiesList();
// TODO: refactor this "PossibleCreators" and "PossibleAssignees"
this.ViewBag.PossibleCreators = new List<User>();
this.ViewBag.PossibleAssignees = new List<User>();
return this.View(createModel);
}