/// <summary> /// Description: Muestra cada uno de los procedimiento de la categoría seleccionada /// </summary> private void _radTreeViewSystems_rtv_SelectionChanged(object sender, SelectionChangedEventArgs e) { ProceduresType proceduresType = _radTreeViewSystems_rtv.SelectedItem as ProceduresType; if (proceduresType != null) { RadTreeView treeView = sender as RadTreeView; RadTreeViewItem item = treeView.ContainerFromItemRecursive(treeView.SelectedItem); RadTreeViewItem parentItem = item.ParentItem; SystemsCaravan systemsCaravan = parentItem.DataContext as SystemsCaravan; if (systemsCaravan != null) { if ((systemsCaravan.System.system_id == (int)EnumSystemsType.Fuel) && (proceduresType.ProcedureType.procedure_type_id == (int)EnumProceduresType.Failure)) { _listFailsProcedures_cco.Content = _listFailsProceduresType2_use; _listFailsProceduresType2_use.UpdateData(item.Index, systemsCaravan); } else { if ((systemsCaravan.System.system_id == (int)EnumSystemsType.Miscellaneus) && (proceduresType.ProcedureType.procedure_type_id == (int)EnumProceduresType.Failure)) { _listFailsProcedures_cco.Content = _listFailsProceduresType3_use; _listFailsProceduresType3_use.UpdateData(item.Index, systemsCaravan); } else { if ((systemsCaravan.System.system_id == (int)EnumSystemsType.Electrical) && (proceduresType.ProcedureType.procedure_type_id == (int)EnumProceduresType.Failure)) { _listFailsProcedures_cco.Content = _listFailsProceduresType4_use; _listFailsProceduresType4_use.UpdateData(item.Index, systemsCaravan); } else { _listFailsProcedures_cco.Content = _listFailsProceduresType1_use; _listFailsProceduresType1_use.UpdateData(item.Index, systemsCaravan); } } } } } }
private void SetChildrenModulesChecked(List <SysModule> modules, ModuleTreeItem mti, RadTreeView tv) { if (mti.Children != null && mti.Children.Count > 0)//判断是否叶子节点 { foreach (ModuleTreeItem m in mti.Children) { SetChildrenModulesChecked(modules, m, tv); } } else { if (modules.Any(sm => sm.ID == mti.Module.ID)) { RadTreeViewItem tvItem = tv.ContainerFromItemRecursive(mti); if (tvItem != null) { tvItem.CheckState = ToggleState.On; } } } }
/// <summary> /// Create view model /// </summary> public FileStructureViewModel(RadTreeView directoryTreeView, Expander expander) { this.directoryTreeView = directoryTreeView; this.expander = expander; localizationService = CommonServiceLocator.ServiceLocator.Current.GetInstance <ILocalizationService>(); directoryTypeService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IDirectoryTypeService>(); iconService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IIconService>(); stackService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IStackService>(); fielStructureService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IFileStructureService>(); documentWorkflowContextService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IDocumentWorkflowConfigurationService>(); documentWorkflowAssignmentService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IDocumentWorkflowAssignmentService>(); directoryFieldService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IDirectoryFieldService>(); directoryTypeFieldService = CommonServiceLocator.ServiceLocator.Current.GetInstance <IDirectoryClassificationFieldService>(); rootPath = ""; VisualPathElements = new ObservableCollection <FrameworkElement>(); directoryCategoryMenuItems = new ObservableCollection <RadMenuItem>(); foreach (var category in directoryTypeService.GetAll().OrderBy(d => d.Category).GroupBy(d => d.Category)) { var categoryItem = new RadMenuItem { Header = category.Key, Tag = category.Key, Icon = new Image { Source = iconService.GetByNameAsImage("directory_add_x16"), Width = 16, Height = 16 } }; foreach (var type in category) { var menuItem = new RadMenuItem { Header = localizationService.Translate(type.Name), Icon = new Image { Source = iconService.GetByIdAsImage(type.IconId), Width = 16, Height = 16 }, Tag = type }; menuItem.Click += AddDirectoryItemClick; categoryItem.Items.Add(menuItem); } directoryCategoryMenuItems.Add(categoryItem); } // Create remove directory command removeDirectoryCommand = new RelayCommand((e) => { if (SelectedDirectory != null) { if (fielStructureService.GetDocuments(model, selectedDirectory.Model, true).Any()) { MessageBox.Show(localizationService.Translate("filestructure_delete_notallowed"), localizationService.Translate("filestructure_delete_notallowed_title"), MessageBoxButton.OK, MessageBoxImage.Information); return; } SelectedDirectory.RemoveDirectory(); SelectedDirectory = null; IsDirty = true; RefreshPath(); } }, (e) => { return(selectedDirectory != null); }); // Create edit metadata command editMetaDataCommand = new RelayCommand((e) => { if (SelectedDirectory != null) { var directoryFieldWindow = new DirectoryFieldWindow(); directoryFieldWindow.Initialize(SelectedDirectory.Model, GetStructure()); directoryFieldWindow.WindowMode = Framework.UI.WindowMode.Edit; directoryFieldWindow.ShowDialog(); return; } }, (e) => { return(selectedDirectory != null); }); renameDirectoryCommand = new RelayCommand((e) => { if (SelectedDirectory != null) { directoryTreeView.ContainerFromItemRecursive(directoryTreeView.SelectedItem).BeginEdit(); return; } }, (e) => { return(selectedDirectory != null); }); // Command to assign the workflow assignWorkflowCommand = new RelayCommand((e) => { if (selectedDirectory.Model.WorkflowId.HasValue) { MessageBox.Show(localizationService.Translate("filestructure_workflow_assign_already"), localizationService.Translate("filestructure_delete_notallowed_title"), MessageBoxButton.OK, MessageBoxImage.Information); return; } var box = ItemBoxManager.GetItemBoxFromDB("IB_Document_Workflow"); box.ShowDialog(); var result = box.GetSelectedItemCell("Guid"); if (result is Guid guid) { selectedDirectory.Model.WorkflowId = guid; //Assign all parents and children the workflow AssignedWorkflowToParentsAndChildren(guid); Save(); RaisePropertyChanged(nameof(AssignedWorkflow)); RaisePropertyChanged(nameof(AssignedWorkflowVisibility)); } }); // Archive from clipboard click archiveFromClipboard = new RelayCommand((e) => { // Save before archive if (IsDirty) { Save(); } if (IsWorkflowDirectory(selectedDirectory)) { return; } Helper.ArchiveHelper.ArchiveFromClipboard(model, selectedDirectory.Model); }, (e) => { return(selectedDirectory != null); }); // Archive from scanner archiveFromScanner = new RelayCommand((e) => { // Save before archive if (IsDirty) { Save(); } if (IsWorkflowDirectory(selectedDirectory)) { return; } Helper.ArchiveHelper.ArchiveFromScanClient(model, selectedDirectory.Model); }, (e) => { return(selectedDirectory != null); }); setReturnDirectory = new RelayCommand((e) => { var parentDirectory = selectedDirectory.StructureViewModel.Directories.FirstOrDefault(x => { return(x == selectedDirectory.Parent); }); foreach (var directory in parentDirectory.Directories) { directory.IsReturnDirectory = false; } selectedDirectory.IsReturnDirectory = true; }, (e) => { return(selectedDirectory != null); }); }