private void addFromLast(_DropdownlistLinkedModel model, LinkedList<_DropdownlistLinkedNodeModel> linkedList, int projectId) { _DropdownlistLinkedNodeModel first = null; if (linkedList.Last == null) { first = new _DropdownlistLinkedNodeModel(); linkedList.AddLast(first); } else { first = linkedList.First.Value; } first.CurrentProject = getProjectById(projectId); _DropdownlistLinkedNodeModel pre = getParent(projectId); if (pre != null) { linkedList.AddBefore(linkedList.First, pre); first.Projects = getFromParent(pre.CurrentProject.Id); addFromLast(model, linkedList, pre.CurrentProject.Id); } else { model.TailSelectedProject = getParentGroup(projectId); first.Projects = getFromGroup(model.TailSelectedProject.Id); } }
public _DropdownlistLinkedNodeModel GetNextNode(int projectId) { _DropdownlistLinkedNodeModel model = new _DropdownlistLinkedNodeModel(); Project project = session.Load<Project>(projectId); if (!project.Children.IsNullOrEmpty()) { model.Projects = new List<LiteItemModel>(); model.Projects.FilledBy(project.Children); model.CurrentProject = model.Projects[0]; } return model; }
private _DropdownlistLinkedNodeModel getFirstNode(IList<Project> rootProjects) { _DropdownlistLinkedNodeModel firstNode = new _DropdownlistLinkedNodeModel(); firstNode.Projects = new List<LiteItemModel>(); foreach (Project project in rootProjects) { LiteItemModel projectItemModel = new LiteItemModel(); projectItemModel.FilledBy(project); firstNode.Projects.Add(projectItemModel); } firstNode.CurrentProject = firstNode.Projects.First(); return firstNode; }
public static void FilledByHead(this LinkedList<_DropdownlistLinkedNodeModel> models, Project head) { while (head.Children != null && head.Children.Count > 0) { _DropdownlistLinkedNodeModel lastModel = new _DropdownlistLinkedNodeModel(); lastModel.Projects = new List<LiteItemModel>(); lastModel.Projects.FilledBy(head.Children); lastModel.CurrentProject = lastModel.Projects.First(); models.AddLast(lastModel); head = head.Children.First(); } }
public static void FilledByTail(this LinkedList<_DropdownlistLinkedNodeModel> models, Project tail) { while (tail.Parent != null) { _DropdownlistLinkedNodeModel nodeModel = new _DropdownlistLinkedNodeModel(); nodeModel.filledBy(tail); models.AddFirst(nodeModel); tail = tail.Parent; } _DropdownlistLinkedNodeModel firstNode = new _DropdownlistLinkedNodeModel { CurrentProject = new LiteItemModel() }; firstNode.CurrentProject.FilledBy(tail); models.AddFirst(firstNode); }
public _DropdownlistLinkedNodeModel GetNextNode(int projectId) { _DropdownlistLinkedNodeModel model = new _DropdownlistLinkedNodeModel { CurrentProject = new LiteItemModel { Id = 8, Name = "DBA" }, Projects = new List<LiteItemModel> { new LiteItemModel{ Id = 10, Name = "C#"}, new LiteItemModel{ Id = 12, Name = "javascript"}, } }; return model; }
public _DropdownlistLinkedModel GetDropdownlistLink(int userId) { LiteItemModel zyfei = new LiteItemModel { Id = 1, Name = "自由飞" }; LiteItemModel sgkj = new LiteItemModel { Id = 2, Name = "首顾科技" }; LiteItemModel baichuan = new LiteItemModel { Id = 3, Name = "百川开源" }; _DropdownlistLinkedModel model = new _DropdownlistLinkedModel { LinkedProject = new LinkedList<_DropdownlistLinkedNodeModel>() }; LiteItemModel chuangye = new LiteItemModel { Id = 21, Name = "创业" }; LiteItemModel task = new LiteItemModel { Id = 22, Name = "任务管理" }; LiteItemModel zhuangshi = new LiteItemModel { Id = 23, Name = "装饰点评" }; model.LinkedProject = new LinkedList<_DropdownlistLinkedNodeModel>(); _DropdownlistLinkedNodeModel first = new _DropdownlistLinkedNodeModel { CurrentProject = task, Projects = new List<LiteItemModel> { chuangye, task, zhuangshi } }; model.LinkedProject.AddFirst(first); LiteItemModel front = new LiteItemModel { Id = 31, Name = "前台" }; LiteItemModel backend = new LiteItemModel { Id = 32, Name = "后台" }; LiteItemModel ui = new LiteItemModel { Id = 33, Name = "UI" }; LiteItemModel SEO = new LiteItemModel { Id = 34, Name = "SEO" }; LiteItemModel design = new LiteItemModel { Id = 35, Name = "设计" }; LiteItemModel DBA = new LiteItemModel { Id = 36, Name = "DBA" }; LiteItemModel Admin = new LiteItemModel { Id = 37, Name = "行政" }; _DropdownlistLinkedNodeModel second = new _DropdownlistLinkedNodeModel { CurrentProject = front, Projects = new List<LiteItemModel> { front, backend, ui } }; model.LinkedProject.AddAfter(model.LinkedProject.Last, second); LiteItemModel csharp_4 = new LiteItemModel { Id = 41, Name = "C#" }; LiteItemModel DBA_4 = new LiteItemModel { Id = 42, Name = "DBA" }; _DropdownlistLinkedNodeModel third = new _DropdownlistLinkedNodeModel { CurrentProject = csharp_4, Projects = new List<LiteItemModel> { csharp_4, DBA_4 } }; model.LinkedProject.AddAfter(model.LinkedProject.Last, third); model.TailSelectedProject = csharp_4; model.SelectedProjectHasChild = true; return model; }
private _DropdownlistLinkedNodeModel getParent(int projectId) { _DropdownlistLinkedNodeModel model = new _DropdownlistLinkedNodeModel(); switch (projectId) { case 2: case 3: case 15: return null; case 5: case 7: case 9: model = new _DropdownlistLinkedNodeModel { CurrentProject = new LiteItemModel { Id = 2, Name = "创业" } }; break; case 11: case 12: case 14: model = new _DropdownlistLinkedNodeModel { CurrentProject = new LiteItemModel { Id = 3, Name = "任务管理" } }; break; } return model; }