Example #1
0
 private void lstCabinets_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Control && e.KeyCode == Keys.Delete && lstCabinets.SelectedIndex != -1)
     {
         if (MessageBox.Show("Вы уверены, что хотите удалить кабинет\n" + ((INamedEntity)lstCabinets.SelectedItem).Name + "\nиз базы?\nОтменить удаление невозможно!",
                             "Удаление кабинета из Базы",
                             MessageBoxButtons.YesNo,
                             MessageBoxIcon.Exclamation,
                             MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.No)
         {
             return;
         }
         try
         {
             CabinetList.Remove((ICabinet)lstCabinets.SelectedItem);
             lstCabinets.DataSource = CabinetList.List.Cast <INamedEntity>().ToList();
         }
         catch (Exception ex)
         {
             if (ex.Message.Substring(0, 4) == "1451")
             {
                 MessageBox.Show("Произошла ошибка удаления. Удаляемый кабинет используется.", "Удаление невозможно.", MessageBoxButtons.OK, MessageBoxIcon.Stop);
             }
             else
             {
                 throw ex;
             }
         }
     }
 }
Example #2
0
 private void CabinetListEdit_FormClosing(object sender, FormClosingEventArgs e)
 {
     CabinetList.ValidateAndUpdate();
 }
Example #3
0
        private void MessageReceived(Message message)
        {
            if (message.ActionCode == MessageSentEvent.RepositoryUpdated)
            {
                CabinetList.Clear();
                CabsVM.Clear();


                IList <Cabinet> cabOut = _dataRepositoryService.GetCabinetsWithTwoTypeDevices <C2000Ethernet, RS485device>();

                foreach (Cabinet cabinet in cabOut)
                {
                    CabinetList.Add(cabinet);
                    CabsVM.Add(new CabinetViewModel(cabinet, _ea));// Fill the TreeView with cabinets
                }
            }
            if (message.ActionCode == MessageSentEvent.UserSelectedItemInTreeView)
            {
                object dev = message.AttachedObject;
                if (IsCheckedByCabinets)
                {
                    if (dev.GetType() == typeof(RS485device)) // Юзер кликнул на прибор RS485 в дереве
                    {
                        DevicesForProgramming.Clear();
                        DevicesForProgramming.Add((RS485device)message.AttachedObject);
                    }
                    if (dev.GetType() == typeof(C2000Ethernet)) // Юзер кликнул на прибор RS232 в дереве
                    {
                        DevicesForProgramming.Clear();
                        DevicesForProgramming.Add((C2000Ethernet)message.AttachedObject);
                    }
                    if (dev.GetType() == typeof(Cabinet)) //Юзер кликнул на шкаф в дереве
                    {
                        DevicesForProgramming.Clear();
                        Cabinet cab = (Cabinet)message.AttachedObject;
                        foreach (object item in cab.GetAllDevicesList)//GetDevicesList<RS485device>())
                        {
                            DevicesForProgramming.Add(item);
                        }
                    }
                    DeviceCounter = 0; //Сброс счётчика запрограммированных приборов ибо юзер что то поменял
                }
                if (IsCheckedComplexVerification)
                {
                    if (dev.GetType() == typeof(Cabinet)) //Юзер кликнул на шкаф в дереве
                    {
                        DevicesForProgramming.Clear();
                        Cabinet cab = (Cabinet)message.AttachedObject;
                        foreach (RS485device item in cab.GetDevicesList <RS485device>())
                        {
                            DevicesForProgramming.Add(item);
                        }
                    }
                }
            }
            if (message.ActionCode == MessageSentEvent.UpdateRS485SearchProgressBar)
            {
                _dispatcher.BeginInvoke(new Action(() =>
                {
                    SearchProgressBar = Convert.ToInt32((byte)message.AttachedObject);
                }));
            }
        }