예제 #1
0
        private void delete_Click(object sender, RoutedEventArgs e)
        {
            var fe = sender as FrameworkElement;

            if (fe == null)
            {
                return;
            }

            var set = tbSelectSet.DataContext as TSetView;

            if (set == null || set.SetName == _voidSetName)
            {
                return;
            }

            if (!set.UserGlobalSetsId.HasValue && !set.IsUseGlobalTable && set.Dict != null &&
                set.Dict.Remove(set.SetName))
            {
                //Если это старый набор, не из глобальной таблицы
                Manager.SaveConfig(true);
                return;
            }

            Manager.UI.ShowYesNoDialog("Вы действительно хотите удалить набор \"" + set.SetName + "\"?", delegate
            {
                //if (set.IsUseGlobalTable)
                {
                    try
                    {
                        var res = ARM_Service.Expl_Delete_GlobalSet(set.UserGlobalSetsId.Value);
                        if (res == null)
                        {
                            return;
                        }

                        if (res != string.Empty)
                        {
                            ShowMessage(res);
                            return;
                        }
                    }
                    catch (Exception ex)
                    {
                        ShowMessage("Ошибка удаления набора:\n" + ex.Message);
                        return;
                    }
                }

                //Если это старый набор, не из глобальной таблицы
                if (!set.IsUseGlobalTable && set.Dict != null && set.Dict.Remove(set.SetName))
                {
                    Manager.SaveConfig(true);
                }

                lock (_dictSyncLock)
                {
                    _dict.Remove(set);
                }

                cbIsGlobalSet.IsChecked = cbIsReadOnly.IsChecked = cbIsReadOnly.IsEnabled = false;

                lock (_dictSyncLock)
                {
                    set = _dict.FirstOrDefault(d => d.SetName == _voidSetName);
                }

                if (set != null)
                {
                    set.IsSelected          = true;
                    tbSelectSet.DataContext = set;
                }

                //cbSets.SelectedIndex = 0;
                if (Changed != null)
                {
                    Changed(null, 0);
                }
            });
        }