예제 #1
0
        /// <summary>
        /// Обработка события "выбор" элемента TreeView
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Tree_Selected(object sender, RoutedEventArgs e)
        {
            TreeViewItem  item             = e.Source as TreeViewItem;                                //переданный объект инициализируем и объявляем как экземпляр TreeViewItem
            List <Worker> NewListOfWorkers = TreeService.CreateWorkersCollection(item, Organization); //c помощью статичного метода заменяем текущую коллекцию ListOfWorkers

            ListOfWorkers.Clear();                                                                    //сотрудниками выбранного в TreeView департамента/организации
            ListOfWorkers.AddRange(NewListOfWorkers);
            WorkersList.Items.Refresh();                                                              //обновляем отображение работников в MainWindow
        }
예제 #2
0
 /// <summary>
 /// Метод обработки события "Нераспределенные"
 /// </summary>
 private void Button_Click_ShowHomeless(object sender, RoutedEventArgs e)
 {
     ListOfWorkers.Clear(); //очищаем текущую отображаемую коллекцию сотрудников
     if (Organization != null && Organization.UnallocatedWorkersId.Count != 0 && Organization.UnallocatedWorkersId != null)
     {
         ListOfWorkers           = TreeService.CreateUnallocatedWorkersCollection(Organization); //создаем коллекцию с помощью сервиса
         WorkersList.ItemsSource = ListOfWorkers;
     }
     WorkersList.Items.Refresh(); //обновляем
 }
예제 #3
0
 /// <summary>
 /// Метод обновления коллекции сотрудников для отображения в WorkersList
 /// </summary>
 internal void RefreshWorkersList()
 {
     if (Tree.SelectedItem != null)
     {
         List <Worker> NewListOfWorkers = TreeService.CreateWorkersCollection(Tree.SelectedItem as TreeViewItem, Organization);
         //c помощью статичного метода заменяем текущую коллекцию ListOfWorkers сотрудниками выбранного в TreeView департамента/организации
         ListOfWorkers.Clear();
         ListOfWorkers.AddRange(NewListOfWorkers);
         WorkersList.Items.Refresh(); //обновляем отображение работников в MainWindow
     }
 }
예제 #4
0
        /// <summary>
        /// Обработка события "раскрытие" - добавления подчиненных департаментов в TreeViewItem
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Tree_Expanded(object sender, RoutedEventArgs e)
        {
            TreeViewItem item = e.Source as TreeViewItem;   //раскрываемый элемент TreeView

            TreeService.CreateSubItems(item, Organization); //обращаемся к статичному методу для создания подчиненных элементов TreeViewItem
        }
예제 #5
0
 /// <summary>
 /// Основной метод создания элементов TreeView и DataGrid
 /// </summary>
 /// <param name="Organization"></param>
 internal void CreateTreeView(Organization Organization)
 {
     Tree.Items.Clear();
     Tree.Items.Add(TreeService.CreateTreeItem(Organization));
     WorkersList.ItemsSource = ListOfWorkers; //указываем коллекцию источник для DataGrid
 }