public void ProjectSelected(TreeProjectViewModel project) { _selectionFilter.AddProject(project); var customerViewModel = Customers.SingleOrDefault(c => c.Customer.Id == project.CustomerId); if (customerViewModel != null) { var projectViewModel = customerViewModel.Projects.SingleOrDefault(p => p.Project.Id == project.Project.Id); if (projectViewModel != null) { customerViewModel.VisibleChildren.Remove(projectViewModel); } var projectToVisualize = customerViewModel.Projects.Single(x => x.Project.Id == project.Project.Id); projectToVisualize.SetAllChildrenVisibleByFilters(_timeEntryFilter, _selectionFilter); customerViewModel.AddVisibleChild(projectToVisualize); } else { var customer = project.ParentCustomer; var customerVm = customer.ListCustomerViewModel; var projectToVisualize = customerVm.Projects.Single(x => x.Project.Id == project.Project.Id); projectToVisualize.SetAllChildrenVisibleByFilters(_timeEntryFilter, _selectionFilter); customerVm.AddVisibleChild(projectToVisualize); Customers.Add(customerVm); } OnPropertyChanged("Customers"); }
public void RemoveProject(TreeProjectViewModel project) { var projectToRemove = _selectedProjects.SingleOrDefault(p => p.Project.Id == project.Project.Id); if (projectToRemove != null) { _selectedProjects.Remove(projectToRemove); } }
public void AddProject(TreeProjectViewModel project) { if (_selectedProjects.Count(p => p.Project.Id == project.Project.Id) == 0) { _selectedProjects.Add(project); } AddCustomer((TreeCustomerViewModel)project.Parent); }
public void ProjectDeSelected(TreeProjectViewModel project) { _selectionFilter.RemoveProject(project); var customerViewModel = Customers.ToList().SingleOrDefault(c => c.Customer.Id == project.Project.CustomerID); if (customerViewModel != null) { var projectViewModel = customerViewModel.VisibleChildren.SingleOrDefault(p => ((ListProjectViewModel)p).Project.Id == project.Project.Id); if (projectViewModel != null) { customerViewModel.VisibleChildren.Remove(projectViewModel); } if (customerViewModel.VisibleChildren.Count == 0) { Customers.Remove(customerViewModel); _selectionFilter.RemoveCustomer(project.ParentCustomer); } } }