Exemplo n.º 1
0
 /// <summary>
 /// Обработчик события нажатия клавиши мыши на кнопку,
 /// который производит отмену последнего добавления/редактирования
 /// </summary>
 private void btn_Cancel_Click(object sender, EventArgs e)
 {
     if (_formMode != FormMode.None)
     {
         var result = MessageBox.Show("Изменения не будут сохранены! Продолжить?", "Отмена изменений",
                                      MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
         if (result == DialogResult.Yes)
         {
             try
             {
                 if (_formMode == FormMode.Edit)
                 {
                     int indexOfElement = ServiceTypes.IndexOf(CurrentServiceType);
                     CurrentServiceType           = _ctx.CancelChanges(CurrentServiceType);
                     ServiceTypes[indexOfElement] = CurrentServiceType;
                 }
                 else
                 {
                     ServiceTypes.CancelNew(ServiceTypes.IndexOf(CurrentServiceType));
                 }
                 EnDisFields(false);
                 _formMode = FormMode.None;
             }
             catch
             {
                 MessageBox.Show("Произошла ошибка при отмене изменений!", "Ошибка", MessageBoxButtons.OK,
                                 MessageBoxIcon.Error);
             }
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Обработчик события нажатия клавиши мыши на кнопку,
        /// который выполняет сохранение изменений
        /// </summary>
        private async void btn_Save_Click(object sender, EventArgs e)
        {
            if (_formMode != FormMode.None)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(CurrentServiceType.Name))
                    {
                        MessageBox.Show("Введите наименование типа сервиса!", "Предупреждение", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);
                        return;
                    }

                    bool existed = false;

                    switch (_formMode)
                    {
                    case FormMode.Add:
                        existed = await _ctx.CheckServiceTypeForDublicate(CurrentServiceType.Name);

                        break;

                    case FormMode.Edit:
                        existed = await _ctx.CheckServiceTypeForDublicate(CurrentServiceType.Name) && !CurrentServiceType.Name.Equals(_serviceTypeNameBeforeEditing);

                        break;
                    }

                    if (existed)
                    {
                        MessageBox.Show("Тип сервиса с таким наименованием уже существует!", "Ошибка",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (_formMode == FormMode.Add)
                    {
                        ServiceTypes.EndNew(ServiceTypes.IndexOf(CurrentServiceType));
                    }
                    await _ctx.SaveChangesAsync();

                    EnDisFields(false);
                    Edited       = true;
                    _formMode    = FormMode.None;
                    DialogResult = DialogResult.OK;
                    MessageBox.Show("Изменения успешно сохранены!", "Информация", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show("Изменения не удалось сохранить!", "Ошибка", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Обработчик события нажатия клавиши мыши на графический объект,
        /// который производит поиск типа сервиса по наименованию
        /// </summary>
        private void picBtn_FindByCondition_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBox_ConditionToFind.Text))
            {
                MessageBox.Show("Введите условие для поиска типа сервиса!", "Предупреждение", MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                return;
            }

            var firstFoundedElement = ServiceTypes.FirstOrDefault(x => x.Name.ToUpper().Contains(textBox_ConditionToFind.Text.ToUpper()));

            if (firstFoundedElement != null)
            {
                serviceTypeBindingSource.Position = ServiceTypes.IndexOf(firstFoundedElement);
            }
            else
            {
                MessageBox.Show("Не удалось найти тип сервиса по указанному условию!", "Информация",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }