Ejemplo n.º 1
0
        public void DeleteDevice()
        {
            GCDevice device = _deviceView.GetSelectedDevice();

            if (device == null)
            {
                return;
            }

            base.SetStatus("Deleting device.");

            if (_interfaceMgt.HasInterface(device.DeviceID))
            {
                MessageBox.Show(frmMain, "There are some interface(s) based on this device. Please delete the device after uninstalling these interface(s).",
                                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (MessageBox.Show(frmMain, "Device can not be restored after delete. Are you sure to delete device : "
                                    + device.ToString() + " ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                    == DialogResult.Yes)
                {
                    frmMain.Cursor = Cursors.WaitCursor;
                    bool result = _deviceManager.DeleteDevice(device);
                    frmMain.Cursor = Cursors.Default;

                    if (result)
                    {
                        Program.Log.Write("{Device} Delete device (" + device.ToString() + ") succeed : " + device.FolderPath);

                        _deviceView.RefreshView();
                    }
                    else
                    {
                        Program.Log.Write(LogType.Warning, "{Device} Delete device (" + device.ToString() + ") failed : " + GCError.LastErrorInfor);
                        Program.Log.Write(GCError.LastError);

                        MessageBox.Show(frmMain, "Delete device (" + device.ToString() + ") failed.\r\n\r\n" + GCError.LastErrorInfor,
                                        "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }

            base.ClearStatus();
        }