public EditWindowEmployee(RowViewTemplate dataRowEmployee, ObservableCollection <Department> _colD)
 {
     InitializeComponent();
     result = dataRowEmployee;
     colD   = _colD;
     selectorCB.ItemsSource = colD;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Метод добавления / редактирования сотрудника
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_editEmployee(object sender, RoutedEventArgs e)
        {
            RowViewTemplate newRow = (RowViewTemplate)dataGrid.SelectedItem;

            if (newRow != null) // если было выбрано какое-то значение - редактировать его
            {
                EditWindowEmployee ee = new EditWindowEmployee(newRow, colD);
                ee.ShowDialog();
                if (ee.DialogResult.HasValue && ee.DialogResult.Value)
                {
                    // обновим данные строки и выполним обновление
                    DataRow dr = employeeTable.Rows[ee.result.Employee_ID - 1];
                    dr.BeginEdit();
                    dr["ID"]             = ee.result.Employee_ID;
                    dr["Name"]           = ee.result.Employee_Name;
                    dr["Departament_ID"] = colD.Where(d => d.FullName == ee.result.Departament_Name).First().ID;
                    dr.EndEdit();
                    //employeeTable.AcceptChanges();
                    employeeAdapter.Update(employeeTable);
                }
            }
            else // если ничего не было выбрано, то добавить новое
            {
                EditWindowEmployee ee = new EditWindowEmployee(new RowViewTemplate(), colD);
                ee.ShowDialog();
                if (ee.DialogResult.HasValue && ee.DialogResult.Value)
                {
                    // создадим новую строку и добавим в таблицу
                    DataRow dr = employeeTable.NewRow();
                    dr["Name"]           = ee.result.Employee_Name;
                    dr["Departament_ID"] = colD.Where(d => d.FullName == ee.result.Departament_Name).First().ID;
                    employeeTable.Rows.Add(dr);
                    employeeAdapter.Update(employeeTable);
                }
            }

            // обновить данные
            dataGrid.ItemsSource = UpdateResult();
        }