/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который производит добавление выбранного интерфейса к доступным /// </summary> private void pictureBox7_Click(object sender, EventArgs e) { var selectedInterface = strorageInterfaceBindingSource.Current as StrorageInterface; if (selectedInterface != null) { var existedInt = AvalibleInterfaces.SingleOrDefault(ai => ai.Name.Equals(selectedInterface.Name)); if (existedInt != null) { existedInt.Slot_Count++; AvalibleInterfaces.Remove(existedInt); AvalibleInterfaces.Add(existedInt); } else { AvalibleInterfaces.Add(new AvalibleInterface { Name = selectedInterface.Name, Slot_Count = 1 }); } } else { MessageBox.Show("Выберите интерфейс из списка!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который производит увеличение количества выбранного интерфейса /// </summary> private void pictureBox21_Click(object sender, EventArgs e) { var selectedInterface = avalibleInterfaceBindingSource.Current as AvalibleInterface; if (selectedInterface != null) { selectedInterface.Slot_Count++; AvalibleInterfaces.Remove(selectedInterface); AvalibleInterfaces.Add(selectedInterface); } else { MessageBox.Show("Выберите интерфейс из списка или добавьте новый!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который осуществляет удаление выбранного установленного интерфейса накопителя /// </summary> private void pictureBox19_Click(object sender, EventArgs e) { var selectedInterface = avalibleInterfaceBindingSource.Current as AvalibleInterface; if (selectedInterface == null) { MessageBox.Show("Выберите интерфейс из списка или добавьте новый!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } try { var existedStorages = InstalledStorageOnSAN.Where(iss => iss.Interface.Equals(selectedInterface.Name)) .ToList(); if (existedStorages.Count == 0) { AvalibleInterfaces.Remove(selectedInterface); } else { var result = MessageBox.Show( "Вместе с интерфейсом будут удалены накопители, кототрые к нему принадлежат! Продолжить?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.Yes) { var sanPartInfo = sANPartsInfoBindingSource.DataSource as SANPartsInfo; foreach (var es in existedStorages) { sanPartInfo.StorageSumPrice -= (es.Price * es.Count); InstalledStorageOnSAN.Remove(es); } AvalibleInterfaces.Remove(selectedInterface); sanPartInfo.UpdateTotalPrice(); BindSANPartsInfo(); } } } catch { MessageBox.Show("Произошла ошибка при удалении интерфейса!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который осуществляет уменьшение количества выбранного установленного интерфейса накопителя /// </summary> private void pictureBox20_Click(object sender, EventArgs e) { var selectedInterface = avalibleInterfaceBindingSource.Current as AvalibleInterface; if (selectedInterface == null) { MessageBox.Show("Выберите интерфейс из списка или добавьте новый!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } try { var existedStorages = InstalledStorageOnSAN.Where(iss => iss.Interface.Equals(selectedInterface.Name)) .ToList(); if (existedStorages.Count == 0 || (existedStorages.Sum(es => es.Count) < selectedInterface.Slot_Count)) { if (selectedInterface.Slot_Count > 1) { selectedInterface.Slot_Count--; avalibleInterfaceBindingSource.DataSource = AvalibleInterfaces; dg_AvalibleInterfaces.DataSource = avalibleInterfaceBindingSource; dg_AvalibleInterfaces.Refresh(); } else { AvalibleInterfaces.Remove(selectedInterface); } } else { MessageBox.Show( "Заняты все слоты выбранного интерфейса! Для удаления интерфейса следует удалить 1 из накопителей!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } catch { MessageBox.Show("Произошла ошибка при удалении интерфейса!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который производит удаление выбранного интерфейса /// </summary> private void pictureBox19_Click(object sender, EventArgs e) { var selectedInterface = avalibleInterfaceBindingSource.Current as AvalibleInterface; if (selectedInterface != null) { var result = MessageBox.Show("Выбранный интерфейс будет удален! Продолжить?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { AvalibleInterfaces.Remove(selectedInterface); } } else { MessageBox.Show("Выберите интерфейс из списка или добавьте новый!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }