public TaskRelationModel GetRelation(int taskId) { TaskRelationModel model = new TaskRelationModel(); model.Current = new LiteItemModel { Id = 1, Title = "当前任务" }; model.Ancestor = new LinkedList<LiteItemModel>(); LiteItemModel root = new LiteItemModel { Id = 2, Title = "这是根任务 " }; LiteItemModel parent = new LiteItemModel { Id = 3, Title = "这个是父任务 " }; model.Ancestor.AddFirst(parent); model.Ancestor.AddFirst(root); model.Brothers = new List<LiteItemModel>(); LiteItemModel brother_1 = new LiteItemModel { Id = 4, Title = "这个是兄弟任务1" }; LiteItemModel brother_2 = new LiteItemModel { Id = 5, Title = "这个是兄弟任务2 " }; model.Brothers.Add(brother_1); model.Brothers.Add(brother_2); model.Children = new List<LiteItemModel>(); LiteItemModel child_1 = new LiteItemModel { Id = 6, Title = "这个是子任务1" }; LiteItemModel child_2 = new LiteItemModel { Id = 7, Title = "这个是子任务2" }; LiteItemModel child_3 = new LiteItemModel { Id = 8, Title = "这个是子任务3" }; model.Children.Add(child_1); model.Children.Add(child_2); model.Children.Add(child_2); return model; }
private void addParent(Task task, LiteItemModel parent) { if (parent.Id.HasValue) { Task parentTask = session.Load<Task>(parent.Id); parentTask.AddChild(task); } }
private void setParent(Task task, LiteItemModel parent) { if (parent.Id.HasValue) { Task newParent = session.Load<Task>(parent.Id); task.ChangeParent(newParent); } else { task.RemoveParent(); } }
public SequenceModel GetSequence(int taskId) { SequenceModel model = new SequenceModel(); Task parent = session.Load<Task>(taskId); model.Parent = new LiteItemModel(); model.Parent.FilledBy(parent); model.Children = new List<LiteItemModel>(); foreach (Task task in parent.Children) { LiteItemModel item = new LiteItemModel(); item.FilledBy(task); model.Children.Add(item); } return model; }
public LiteItemModel GetLite(int taskId) { Task task = session.Get<Task>(taskId); LiteItemModel model = null; if (task != null) { model = new LiteItemModel(); model.FilledBy(task); } return model; }
private static void filledBy(this IList<LiteItemModel> models, IList<Task> tasks) { foreach (Task task in tasks) { LiteItemModel model = new LiteItemModel(); model.FilledBy(task); models.Add(model); } }
private static void filledByTail(this LinkedList<LiteItemModel> models, Task tail) { while (tail.Parent != null) { LiteItemModel item = new LiteItemModel(); item.FilledBy(tail); models.AddFirst(item); tail = tail.Parent; } LiteItemModel first = new LiteItemModel(); first.FilledBy(tail); models.AddFirst(first); }
private void areEqual(LiteItemModel model, Task task) { Assert.That(model.Id, Is.EqualTo(task.Id)); }