public ObservableCollection<Node> FillProjects() { var comm = new Command(DatabaseManager.Instance.Connection); var nodes = new ObservableCollection<Node>(); var Freelancers = DatabaseLoader.ComputeFreelansers(comm).ToList(); //var Costumers = DatabaseLoader.ComputeCostumers(comm).ToList(); var Tasks = DatabaseLoader.ComputeTasks(comm).ToList(); var Projects = DatabaseLoader.ComputeProjects(comm).ToList(); foreach(var project in Projects) { Node nodeProject = project; Node nodeLead = Freelancers.Where(p => p.PersonId == project.TeamLeadId).First(); foreach (var task in Tasks) { if (task.ProjectId == project.Idproject) { Node node = task; foreach (var freelancer in Freelancers) { if (freelancer.PersonId == task.ExecutorId) { node.Children.Add(freelancer); } } nodeProject.Children.Add(node); } } nodes.Add(nodeProject); if (nodeLead!=null) nodeProject.Children.Add(nodeLead); } Node temp = new HeaderNode(); temp.Text = "Projects"; temp.IsExpanded = true; foreach (var node in nodes) temp.Children.Add(node); var tempList = new ObservableCollection<MVVM.Node>(); tempList.Add(temp); return tempList; }
public ObservableCollection<Node> FillFreelancer() { var comm = new Command(DatabaseManager.Instance.Connection); var nodes = new ObservableCollection<Node>(); var Freelancers = DatabaseLoader.ComputeFreelansers(comm).ToList(); //var Costumers = DatabaseLoader.ComputeCostumers(comm).ToList(); var Tasks = DatabaseLoader.ComputeTasks(comm).ToList(); //var Projects = DatabaseLoader.ComputeProjects(comm).ToList(); foreach (var freelancer in Freelancers) { Node parentNode = freelancer; foreach (var task in Tasks) { if (task.Id == freelancer.PersonId) { Node childNode = task; parentNode.Children.Add(task); } } nodes.Add(parentNode); } Node temp = new MVVM.HeaderNode(); temp.Text = "Freelancers"; temp.IsExpanded = true; foreach (var node in nodes) temp.Children.Add(node); var tempList = new ObservableCollection<MVVM.Node>(); tempList.Add(temp); return tempList; }