// add command 
        private void ExecutedAddCommand(object sender, ExecutedRoutedEventArgs e)
        {
            try
            {
                var editWindow = new EditWindow(this, null);
                editWindow.ShowDialog();

                if (editWindow.DialogResult == true)
                {
                    var personModel = editWindow.PersonDTOEdited;
                    dataLayer.AddPerson(personModel);

                    // update status of operation
                    updateStatusAnimation("Сотрудник добавлен");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка добавления нового сотрудника!", MessageBoxButton.OK);
            }
        }
        // edit command
        private void ExecutedEditCommand(object sender, ExecutedRoutedEventArgs e)
        {
            try
            {
                var personModel = dgMain.SelectedItem as PersonDTO;
                if (personModel != null)
                {
                    var editWindow = new EditWindow(this, personModel);
                    editWindow.ShowDialog();
                    if (editWindow.DialogResult == true)
                    {
                        dataLayer.EditPerson(editWindow.PersonDTOEdited);
                        dgMain.SelectedItem = null;

                        // update status of operation
                        updateStatusAnimation("Данные сотрудника изменены");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка изменения данных сотрудника!", MessageBoxButton.OK);
            }
        }