/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который совершает переход на форму создания нового сервиса /// </summary> private async void picBtn_AddNewService_Click(object sender, EventArgs e) { if (_ctx.CheckActivePaas() == 0) { MessageBox.Show("Отсутсвуют платформы, на которые были распределены вычислительные ресурсы!", "Ошибка", MessageBoxButtons.OK); return; } EditServiceForm editServiceForm = null; if (SelectedPlatform != null) { try { PaasType selPlatf = await _ctx.GetPlatformByPlatformServiceUser(SelectedPlatform); if (selPlatf.Server.Count > 0 && selPlatf.SAN.Count > 0) { editServiceForm = new EditServiceForm(selPlatf); } else { var result = MessageBox.Show( "У выбранной платформы отсутствуют привязанные конфигурации серверов и/или хранилища данных! Открыть редактор сервиса?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.Yes) { editServiceForm = new EditServiceForm(); } else { return; } } } catch { var result = MessageBox.Show( "Произошла ошибка при получении типа выбранной платформы! Открыть редактор сервиса?", "Ошибка", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (result == DialogResult.Yes) { editServiceForm = new EditServiceForm(); } else { return; } } } else { editServiceForm = new EditServiceForm(); } editServiceForm.Owner = this; editServiceForm.Show(); Hide(); }
/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который производит удаление выбранной платформы /// </summary> private async void picBtn_DeleteSelectedPlatform_Click(object sender, EventArgs e) { if (SelectedPlatform == null) { MessageBox.Show("Выберите платформу для удаления!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var result = MessageBox.Show("Выбранная платформа и все ее сервисы будут удалены! Продолжить?", "Удаление платформы", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.Yes) { try { PaasType platformToDel = await _ctx.GetPlatformByPlatformServiceUser(SelectedPlatform); await _ctx.DeletePaasType(platformToDel); BindPlatformList(); BindServicesList(); MessageBox.Show("Платформа и все ее данные успешно удалены!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch { MessageBox.Show("Не удалось удалить выбранную платформу!", "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/// <summary> /// Обработчик события нажатия клавиши мыши на графический объект, /// который совершает переход на форму редактирования выбранной платформы /// </summary> private async void picBtn_EditSelectedPlatform_Click(object sender, EventArgs e) { if (SelectedPlatform == null) { MessageBox.Show("Выберите платформу для редактирования!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { PaasType platformToEdit = await _ctx.GetPlatformByPlatformServiceUser(SelectedPlatform); var editPlatformForm = new EditPlatformForm(platformToEdit) { Owner = this }; editPlatformForm.Show(); Hide(); } catch { MessageBox.Show("Не удалось получить данные по выбранной платформе!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Обработчик события нажатия клавиши мыши на элемент главного меню, /// который выполняет переход на форму редактирования выбранной платформы /// </summary> private async void редактироватьВыбраннуюToolStripMenuItem_Click(object sender, EventArgs e) { var selectedPlatform = paasInfoBindingSource.Current as PaasInfo; if (selectedPlatform == null) { MessageBox.Show("Платформа не выбрана!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } PaasType paasTypeToEdit = null; try { paasTypeToEdit = await _ctx.GetPaasFromPaasInfo(selectedPlatform); } catch { MessageBox.Show("Не удалось получить данные по выбранной платформе!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var editPlatformForm = new EditPlatformForm(paasTypeToEdit) { Owner = this }; editPlatformForm.Show(); Hide(); }
/// <summary> /// Конструктор формы создания нового сервиса с выбранной платформой /// </summary> /// <param name="selectedPlatform"></param> public EditServiceForm(PaasType selectedPlatform) : this() { int selectedIndex = ((BindingList <PaasType>)paasTypeBindingSource.DataSource).IndexOf(selectedPlatform); if (selectedIndex > -1) { paasTypeBindingSource.Position = selectedIndex; comboBox_PaasTypes.SelectedIndex = selectedIndex; } }
/// <summary> /// Конструктор формы создания новой платформы /// </summary> public EditPlatformForm() { InitializeComponent(); btn_Save.Image = new Bitmap(Resources.camera_test, new Size(20, 20)); btn_Cancel.Image = new Bitmap(Resources.no, new Size(20, 20)); _ctx = new Context(); CurrentPaas = new PaasType(); paasTypeBindingSource.DataSource = CurrentPaas; BindSelectedServers(); BindSelectedSANs(); _formMode = FormMode.Add; Text = "Создание новой платформы"; }
/// <summary> /// Инициализация привязок выбранной платформы для редактирования /// </summary> /// <param name="selectedPaas">Выбранная платформа</param> private void InitEditPaas(PaasType selectedPaas) { CurrentPaas = selectedPaas; paasTypeBindingSource.DataSource = CurrentPaas; _paasTypeNameBeforeEdit = CurrentPaas.Name; paasTypeBindingSource.ResumeBinding(); var serverList = _ctx.GetServerConfigsByPaas(CurrentPaas); serverList.ForEach(sl => SelectedServers.Add(_ctx.GetServerPaasInfoByServer(sl))); serverPaasInfoBindingSource.DataSource = SelectedServers; dataGridView1.DataSource = serverPaasInfoBindingSource; var sansList = _ctx.GetSANsListByPaas(CurrentPaas); sansList.ForEach(sl => SelectedSANs.Add(_ctx.GetSANPaasInfoBySAN(sl))); sANPaasInfoBindingSource.DataSource = SelectedSANs; dataGridView2.DataSource = sANPaasInfoBindingSource; }
/// <summary> /// Конструктор формы редактирования выбранной платформы /// </summary> /// <param name="selectedPaas">Выбранная платформа</param> public EditPlatformForm(PaasType selectedPaas) : this() { _formMode = FormMode.Edit; Text = "Редактирование платформы"; InitEditPaas(selectedPaas); }