void SetChildren(DepartmentSelectionItemViewModel department) { var children = AllDepartments.Where(x => department.Department.ChildDepartments.Any(y => y.UID == x.Department.UID)); foreach (var child in children) { department.AddChild(child); SetChildren(child); } }
void OnAdd() { ShortDepartment parentDepartment = null; var hasParentDepartment = SelectedDepartment != null; if (hasParentDepartment) parentDepartment = SelectedDepartment.Department; var departmentDetailsViewModel = new DepartmentDetailsViewModel(); departmentDetailsViewModel.Initialize(_organisationUID, parentDepartment, Models); if (DialogService.ShowModalWindow(departmentDetailsViewModel)) { var department = departmentDetailsViewModel.Model; var departmentViewModel = new DepartmentSelectionItemViewModel(department); if (hasParentDepartment) { SelectedDepartment.AddChild(departmentViewModel); } else { RootDepartments.Add(departmentViewModel); OnPropertyChanged(() => RootDepartments); } departmentViewModel.ExpandToThis(); SelectedDepartment = departmentViewModel; ServiceFactory.Events.GetEvent<NewDepartmentEvent>().Publish(department); } }