Beispiel #1
0
        private void EditStaff_Click(object sender, RoutedEventArgs e)                   //Редактировать сотрудника
        {
            if (DeportamentView.SelectedItem == null || StaffsView.SelectedItem == null) //Проверяем что выбран депортамент и сотрудник
            {
                MessageBox.Show("Не выбран депортамент или сотруднник.");
                return;
            }
            Data.Deportament curDeport = DeportamentView.SelectedItem as Data.Deportament;
            Data.Staff       curStaff  = StaffsView.SelectedItem as Data.Staff;
            var SEForm = new StaffsWindow(curDeport, curStaff);            //Открываем форму с передачей выбранных депортамента и сотрудника

            SEForm.ShowDialog();

            StaffsView.Items.Refresh();                                 //Обновляем что бы применить изменения
        }
Beispiel #2
0
        private void AddStaff_Cilck(object sender, RoutedEventArgs e) //Добавить сотрудника
        {
            if (DeportamentView.SelectedItem == null)                 //Проверка что выбран депортамент для сотрудника.
            {
                MessageBox.Show("Не выбран депортамент.");
                return;
            }
            Data.Deportament curDeport = DeportamentView.SelectedItem as Data.Deportament;
            Data.Staff       newStaff  = null;
            var SAForm = new StaffsWindow(curDeport, newStaff);  //Создаем форму и передаем сотрудника и

            SAForm.ShowDialog();

            StaffsView.Items.Refresh();                 //Обновляем что бы отобразились изменения
        }
        bool IsCreated = false;       //Флаг создан новый сотрудник или нет.


        /// <summary>
        /// Окно создания или редоктирования сотрудника
        /// </summary>
        /// <param name="Deportament">Текущий выбранный депортамент.</param>
        /// <param name="Staff">Передать сотррудника только если требуется его отредактировать.</param>
        public StaffsWindow(Data.Deportament Deportament, Data.Staff Staff = null)
        {
            InitializeComponent();
            deport = Deportament;          //Сохраняем ссылку на указанный депортамент.
            staff  = Staff;                //Сохраняем ссылку на обьек сотрудника.
            if (staff != null)             //Если передали сотрудника то загрружаем поля  в UI
            {
                AgeForm.Text       = staff.Age.ToString();
                LastNameForm.Text  = staff.LastName;
                FirstNameForm.Text = staff.FirstName;
                IDForm.Text        = staff.Id.ToString();
                SalaryForm.Text    = staff.Salary.ToString();
            }
            DeportamentForm.Text = deport.Name;    //Отображаем название текущего депортамента
        }
 private void Button_Click(object sender, RoutedEventArgs e) //Кнопка Ok
 {
     if (staff == null)                                      //Если не   передавался сотрудник то его создаем.
     {
         staff     = new Data.Staff();
         IsCreated = true;                  //Меняем флаг что бы определять что это создание сотрудника а не его редактирование
     }
     #region Прописываем новые поля в сотрудника
     staff.LastName  = LastNameForm.Text;
     staff.FirstName = FirstNameForm.Text;
     staff.Age       = Convert.ToInt32(AgeForm.Text);
     staff.Salary    = Convert.ToUInt32(SalaryForm.Text);
     #endregion
     if (deport.Staffs == null)                                                                  //Проверяем что у депортамента не инициализирована коллекция сотрудников.
     {
         deport.Staffs = new System.Collections.ObjectModel.ObservableCollection <Data.Staff>(); //Инициализируем коллекцию сотрудников у депортамента
         deport.Staffs.Add(staff);                                                               //Добовляем нового сотрудника для депортамента
     }
     if (IsCreated)
     {
         deport.Staffs.Add(staff);          //Добовляем нового сотрудника для депортамента
     }
     this.Close();
 }