private void ReassignTasks(Guid fromUserId, Guid toUserId) { var tasks = TaskEngine.GetByResponsible(fromUserId, TaskStatus.Open); foreach (var task in tasks.Where(r => r.Responsibles.Any())) { AddToTeam(task.Project, toUserId); task.Responsibles = task.Responsibles.Where(r => r != fromUserId).ToList(); task.Responsibles.Add(toUserId); TaskEngine.SaveOrUpdate(task, null, false); } }
public void ReassignTask() { var task = DataGenerator.GenerateTask(Project); task.Responsibles = new List <Guid> { From }; task = TaskEngine.SaveOrUpdate(task, new List <int>(), false); ProjectsReassign.Reassign(From, To); task = TaskEngine.GetByID(task.ID); Assert.That(task.Responsibles, Has.No.Member(From)); Assert.That(task.Responsibles, Has.Member(To)); }
public void ReassignSubtasks() { var task = DataGenerator.GenerateTask(Project); task.Responsibles = new List <Guid> { Admin }; task = TaskEngine.SaveOrUpdate(task, new List <int>(), false); var subtask1 = DataGenerator.GenerateSubtask(task); subtask1.Responsible = From; subtask1 = SubtaskEngine.SaveOrUpdate(subtask1, task); var subtask2 = DataGenerator.GenerateSubtask(task); subtask2.Responsible = From; subtask2 = SubtaskEngine.SaveOrUpdate(subtask2, task); var subtask3 = DataGenerator.GenerateSubtask(task); subtask3.Responsible = From; subtask3 = SubtaskEngine.SaveOrUpdate(subtask3, task); SubtaskEngine.ChangeStatus(task, subtask3, TaskStatus.Closed); ProjectsReassign.Reassign(From, To); subtask1 = SubtaskEngine.GetById(subtask1.ID); Assert.That(subtask1.Responsible, Is.EqualTo(To)); subtask2 = SubtaskEngine.GetById(subtask2.ID); Assert.That(subtask2.Responsible, Is.EqualTo(To)); subtask3 = SubtaskEngine.GetById(subtask3.ID); Assert.That(subtask3.Responsible, Is.EqualTo(From)); }
protected Task SaveOrUpdate(Task task) { return(TaskEngine.SaveOrUpdate(task, new List <int>(), false)); }