private void btn_AddPeripheralDevice_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         PeripheralDeviceEditPresenter deviceEditPresenter = new PeripheralDeviceEditPresenter(new PeripheralDeviceEditView(), new PeripheralDevice());
         PeripheralDevice device = (PeripheralDevice)(deviceEditPresenter.View.DataContext);
         deviceEditPresenter.View.Label_AddOrEditPeripheral.Content = "Dodawanie urządzenia peryferyjnego";
         PeripheralDevicePresenter peripheralPresenter = (PeripheralDevicePresenter)this.DataContext;
         if (device != null)
         {
             deviceEditPresenter.View.ShowDialog();
             if (deviceEditPresenter.View.DialogResult == true)
             {
                 peripheralPresenter.SavePeripheralDevice(device, false);
                 peripheralPresenter.GetAllPeripheralDevices();
             }
         }
         else
         {
             MessageBox.Show("Wystąpił błąd podczas dodawania urządzenia. Spróbuj ponownie");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                PeripheralDevicePresenter peripheralPresenter = (PeripheralDevicePresenter)this.DataContext;
                PeripheralDevice device = new PeripheralDevice();
                DeepClone.CopyTo((PeripheralDevice)(peripheralPresenter.View.dataGridPeripheralDevices.SelectedItem), device); 

                PeripheralDeviceEditPresenter peripheralEditPresenter = new PeripheralDeviceEditPresenter(new PeripheralDeviceEditView(), device);
                peripheralEditPresenter.View.Label_AddOrEditPeripheral.Content = "Edytowanie urządzenia peryferyjnego";

                if (peripheralEditPresenter.View.ShowDialog() == true)
                {
                    peripheralPresenter.SavePeripheralDevice(device, true);
                    PeripheralDevice temp = (PeripheralDevice)peripheralPresenter.View.dataGridPeripheralDevices.SelectedItem;
                    ChangeCurrentRow(peripheralPresenter, peripheralEditPresenter, temp);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 private void ChangeCurrentRow(PeripheralDevicePresenter devicePresenter, PeripheralDeviceEditPresenter deviceEdit,
    PeripheralDevice obj)
 {
     PeripheralDevice device = ((PeripheralDevice)deviceEdit.View.DataContext);
     obj.id = device.id;
     obj.name = device.name;
     devicePresenter.View.dataGridPeripheralDevices.Items.Refresh();
 }