Ejemplo n.º 1
0
        /// <summary>
        /// Отображение данных о выбранном пользователе или разделе
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainTree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            if (((TreeViewItem)e.NewValue).Tag is Department)  // если выбран департамент
            {
                // дата гриду присваиваем источик
                dgWorkers.ItemsSource = (((TreeViewItem)e.NewValue).Tag as Department).workers;

                // отображаем справа информацию о директоре
                txtDir.Text = (((TreeViewItem)e.NewValue).Tag as Department).GetDirector();
                // отображаем грид и скрываем инфо о работнике
                viewWorker.Visibility = Visibility.Hidden;
                dgWorkers.Visibility  = Visibility.Visible;
            }
            else  // если работник
            {
                txtDir.Text = string.Empty;
                TreeViewItem item = (TreeViewItem)e.NewValue;
                //показываем лист и скрываем грид
                dgWorkers.Visibility  = Visibility.Hidden;
                viewWorker.Visibility = Visibility.Visible;

                if (item.Tag is Employee)  // отображение штатного
                {
                    Employee wrk = item.Tag as Employee;


                    viewWorker.Items.Clear();
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ID Работника {wrk.WorkerID}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Имя {wrk.FirstName}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Фамилия {wrk.LastName}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ЗП {wrk.Salary}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Отработано {wrk.HoursWorked}"
                    });
                }
                else if (item.Tag is Intern) // оторажение интерна
                {
                    Intern wrk = item.Tag as Intern;


                    viewWorker.Items.Clear();
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ID Работника {wrk.WorkerID}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Имя {wrk.FirstName}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Фамилия {wrk.LastName}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ЗП {wrk.Salary}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ID наставника {wrk.Mentor}"
                    });
                }
                else // отображение директора
                {
                    Director wrk = item.Tag as Director;


                    viewWorker.Items.Clear();
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ID Директора {wrk.WorkerID}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Имя {wrk.FirstName}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"Фамилия {wrk.LastName}"
                    });
                    viewWorker.Items.Add(new TextBlock()
                    {
                        Text = $"ЗП {wrk.Salary}"
                    });
                }
            }
        }