コード例 #1
0
        /// <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();
        }
コード例 #2
0
        /// <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);
                }
            }
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        /// <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();
        }
コード例 #5
0
        /// <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;
            }
        }
コード例 #6
0
        /// <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      = "Создание новой платформы";
        }
コード例 #7
0
        /// <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;
        }
コード例 #8
0
 /// <summary>
 /// Конструктор формы редактирования выбранной платформы
 /// </summary>
 /// <param name="selectedPaas">Выбранная платформа</param>
 public EditPlatformForm(PaasType selectedPaas) : this()
 {
     _formMode = FormMode.Edit;
     Text      = "Редактирование платформы";
     InitEditPaas(selectedPaas);
 }