private async Task OnEditSchemeExecuteAsync(FilterScheme filterScheme)
        {
            try
            {
                filterScheme.EnsureIntegrity(_reflectionService);

                var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

                if (await _uiVisualizerService.ShowDialogAsync <EditFilterViewModel>(filterSchemeEditInfo) ?? false)
                {
                    _filterSchemeManager.UpdateFilters();

                    if (ReferenceEquals(filterScheme, _filterService.SelectedFilter))
                    {
                        Log.Debug("Current filter has been edited, re-applying filter");

                        _filterService.SelectedFilter = filterScheme;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, $"Failed to edit filter scheme '{filterScheme?.Title}'");
                throw;
            }
        }
예제 #2
0
        private async Task OnNewSchemeExecuteAsync()
        {
            if (_targetType is null)
            {
                Log.Warning("Target type is unknown, cannot get any type information to create filters");
                return;
            }

            var filterScheme         = new FilterScheme(_targetType);
            var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

            if (!(await _uiVisualizerService.ShowDialogAsync <EditFilterViewModel>(filterSchemeEditInfo) ?? false))
            {
                return;
            }

            if (_filterSchemes is null || _filterSchemeManager is null)
            {
                return;
            }

            _filterSchemes.Schemes.Add(filterScheme);

            UpdateFilterGroups();

            ApplyFilterScheme(filterScheme, true);

            await _filterSchemeManager.UpdateFiltersAsync();
        }
예제 #3
0
        private async Task OnEditSchemeExecuteAsync(FilterScheme filterScheme)
        {
            await filterScheme.EnsureIntegrityAsync();

            var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

            if (_uiVisualizerService.ShowDialog <EditFilterViewModel>(filterSchemeEditInfo) ?? false)
            {
                _filterSchemeManager.UpdateFilters();

                ApplyFilter();
            }
        }
예제 #4
0
        private async Task OnNewSchemeExecuteAsync()
        {
            if (_targetType == null)
            {
                Log.Warning("Target type is unknown, cannot get any type information to create filters");
                return;
            }

            var filterScheme         = new FilterScheme(_targetType);
            var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawItems, true, true);

            if (await _uiVisualizerService.ShowDialogAsync <EditFilterViewModel>(filterSchemeEditInfo) ?? false)
            {
                AvailableSchemes.Add(filterScheme);

                _filterSchemes.Schemes.Add(filterScheme);
                _filterService.SelectedFilter = filterScheme;

                _filterSchemeManager.UpdateFilters();
            }
        }
        private void OnNewSchemeExecute()
        {
            if (_targetType == null)
            {
                Log.Warning("Target type is unknown, cannot get any type information to create filters");
                return;
            }

            var filterScheme = new FilterScheme(_targetType);
            var filterSchemeEditInfo = new FilterSchemeEditInfo (filterScheme, RawItems, true, true);

            if (_uiVisualizerService.ShowDialog<EditFilterViewModel>(filterSchemeEditInfo) ?? false)
            {
                AvailableSchemes.Add(filterScheme);

                _filterSchemes.Schemes.Add(filterScheme);
                _filterService.SelectedFilter = filterScheme;

                _filterSchemeManager.UpdateFilters();
            }
        }
예제 #6
0
        private void OnNewSchemeExecute()
        {
            if (_targetType == null)
            {
                Log.Warning("Target type is unknown, cannot get any type information to create filters");
                return;
            }

            var filterScheme         = new FilterScheme(_targetType);
            var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

            if (_uiVisualizerService.ShowDialog <EditFilterViewModel>(filterSchemeEditInfo) ?? false)
            {
                AvailableSchemes.Add(filterScheme);
                _filterSchemes.Schemes.Add(filterScheme);

                ApplyFilterScheme(filterScheme, true);

                _filterSchemeManager.UpdateFilters();
            }
        }
        public EditFilterViewModel(FilterSchemeEditInfo filterSchemeEditInfo, IXmlSerializer xmlSerializer, 
            IMessageService messageService, IServiceLocator serviceLocator)
        {
            Argument.IsNotNull(() => filterSchemeEditInfo);
            Argument.IsNotNull(() => xmlSerializer);
            Argument.IsNotNull(() => messageService);
            Argument.IsNotNull(() => serviceLocator);

            PreviewItems = new FastObservableCollection<object>();
            RawCollection = filterSchemeEditInfo.RawCollection;
            EnableAutoCompletion = filterSchemeEditInfo.EnableAutoCompletion;
            AllowLivePreview = filterSchemeEditInfo.AllowLivePreview;
            EnableLivePreview = filterSchemeEditInfo.AllowLivePreview;

            var filterScheme = filterSchemeEditInfo.FilterScheme;

            _originalFilterScheme = filterScheme;
            _xmlSerializer = xmlSerializer;
            _messageService = messageService;
            _serviceLocator = serviceLocator;

            _reflectionService = _serviceLocator.ResolveType<IReflectionService>(filterScheme.Tag);

            DeferValidationUntilFirstSaveCall = true;

            using (var memoryStream = new MemoryStream())
            {
                xmlSerializer.Serialize(_originalFilterScheme, memoryStream);
                memoryStream.Position = 0L;
                FilterScheme = (FilterScheme)xmlSerializer.Deserialize(typeof(FilterScheme), memoryStream);
                FilterScheme.Tag = filterScheme.Tag;
            }

            FilterSchemeTitle = FilterScheme.Title;

            AddGroupCommand = new Command<ConditionGroup>(OnAddGroup);
            AddExpressionCommand = new Command<ConditionGroup>(OnAddExpression);
            DeleteConditionItem = new Command<ConditionTreeItem>(OnDeleteCondition, OnDeleteConditionCanExecute);
        }
예제 #8
0
        public EditFilterViewModel(FilterSchemeEditInfo filterSchemeEditInfo, IXmlSerializer xmlSerializer,
                                   IMessageService messageService, IServiceLocator serviceLocator)
        {
            Argument.IsNotNull(() => filterSchemeEditInfo);
            Argument.IsNotNull(() => xmlSerializer);
            Argument.IsNotNull(() => messageService);
            Argument.IsNotNull(() => serviceLocator);

            PreviewItems         = new FastObservableCollection <object>();
            RawCollection        = filterSchemeEditInfo.RawCollection;
            EnableAutoCompletion = filterSchemeEditInfo.EnableAutoCompletion;
            AllowLivePreview     = filterSchemeEditInfo.AllowLivePreview;
            EnableLivePreview    = filterSchemeEditInfo.AllowLivePreview;

            var filterScheme = filterSchemeEditInfo.FilterScheme;

            _originalFilterScheme = filterScheme;
            _xmlSerializer        = xmlSerializer;
            _messageService       = messageService;
            _serviceLocator       = serviceLocator;

            _reflectionService = _serviceLocator.ResolveType <IReflectionService>(filterScheme.Tag);

            DeferValidationUntilFirstSaveCall = true;

            using (var memoryStream = new MemoryStream())
            {
                xmlSerializer.Serialize(_originalFilterScheme, memoryStream);
                memoryStream.Position = 0L;
                FilterScheme          = (FilterScheme)xmlSerializer.Deserialize(typeof(FilterScheme), memoryStream);
                FilterScheme.Tag      = filterScheme.Tag;
            }

            FilterSchemeTitle = FilterScheme.Title;

            AddGroupCommand      = new Command <ConditionGroup>(OnAddGroup);
            AddExpressionCommand = new Command <ConditionGroup>(OnAddExpression);
            DeleteConditionItem  = new Command <ConditionTreeItem>(OnDeleteCondition, OnDeleteConditionCanExecute);
        }
        public EditFilterViewModel(FilterSchemeEditInfo filterSchemeEditInfo, IXmlSerializer xmlSerializer,
                                   IMessageService messageService, IServiceLocator serviceLocator, ILanguageService languageService)
        {
            Argument.IsNotNull(() => filterSchemeEditInfo);
            Argument.IsNotNull(() => xmlSerializer);
            Argument.IsNotNull(() => messageService);
            Argument.IsNotNull(() => serviceLocator);
            Argument.IsNotNull(() => languageService);

            _xmlSerializer   = xmlSerializer;
            _messageService  = messageService;
            _serviceLocator  = serviceLocator;
            _languageService = languageService;

            PreviewItems         = new FastObservableCollection <object>();
            RawCollection        = filterSchemeEditInfo.RawCollection;
            EnableAutoCompletion = filterSchemeEditInfo.EnableAutoCompletion;
            AllowLivePreview     = filterSchemeEditInfo.AllowLivePreview;
            EnableLivePreview    = filterSchemeEditInfo.AllowLivePreview;

            var filterScheme = filterSchemeEditInfo.FilterScheme;

            _originalFilterScheme = filterScheme;

            _reflectionService = _serviceLocator.ResolveType <IReflectionService>(filterScheme.Scope);

            DeferValidationUntilFirstSaveCall = true;

            FilterScheme = new FilterScheme
            {
                Scope = _originalFilterScheme.Scope
            };

            AddGroupCommand      = new Command <ConditionGroup>(OnAddGroup);
            AddExpressionCommand = new Command <ConditionGroup>(OnAddExpression);
            DeleteConditionItem  = new Command <ConditionTreeItem>(OnDeleteCondition, OnDeleteConditionCanExecute);
        }
        public EditFilterViewModel(FilterSchemeEditInfo filterSchemeEditInfo, IXmlSerializer xmlSerializer,
            IMessageService messageService, IServiceLocator serviceLocator, ILanguageService languageService)
        {
            Argument.IsNotNull(() => filterSchemeEditInfo);
            Argument.IsNotNull(() => xmlSerializer);
            Argument.IsNotNull(() => messageService);
            Argument.IsNotNull(() => serviceLocator);
            Argument.IsNotNull(() => languageService);

            _xmlSerializer = xmlSerializer;
            _messageService = messageService;
            _serviceLocator = serviceLocator;
            _languageService = languageService;

            PreviewItems = new FastObservableCollection<object>();
            RawCollection = filterSchemeEditInfo.RawCollection;
            EnableAutoCompletion = filterSchemeEditInfo.EnableAutoCompletion;
            AllowLivePreview = filterSchemeEditInfo.AllowLivePreview;
            EnableLivePreview = filterSchemeEditInfo.AllowLivePreview;

            var filterScheme = filterSchemeEditInfo.FilterScheme;
            _originalFilterScheme = filterScheme;

            _reflectionService = _serviceLocator.ResolveType<IReflectionService>(filterScheme.Scope);

            DeferValidationUntilFirstSaveCall = true;

            FilterScheme = new FilterScheme
            {
                Scope = _originalFilterScheme.Scope
            };

            AddGroupCommand = new Command<ConditionGroup>(OnAddGroup);
            AddExpressionCommand = new Command<ConditionGroup>(OnAddExpression);
            DeleteConditionItem = new Command<ConditionTreeItem>(OnDeleteCondition, OnDeleteConditionCanExecute);
        }
        private void OnEditSchemeExecute(FilterScheme filterScheme)
        {
            try
            {
                filterScheme.EnsureIntegrity(_reflectionService);

                var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

                if (_uiVisualizerService.ShowDialog<EditFilterViewModel>(filterSchemeEditInfo) ?? false)
                {
                    _filterSchemeManager.UpdateFilters();

                    if (ReferenceEquals(filterScheme, _filterService.SelectedFilter))
                    {
                        Log.Debug("Current filter has been edited, re-applying filter");

                        _filterService.SelectedFilter = filterScheme;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, $"Failed to edit filter scheme '{filterScheme?.Title}'");
                throw;
            }
        }
        private void OnNewSchemeExecute()
        {
            if (_targetType == null)
            {
                Log.Warning("Target type is unknown, cannot get any type information to create filters");
                return;
            }

            var filterScheme = new FilterScheme(_targetType);
            var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

            if (_uiVisualizerService.ShowDialog<EditFilterViewModel>(filterSchemeEditInfo) ?? false)
            {
                AvailableSchemes.Add(filterScheme);
                _filterSchemes.Schemes.Add(filterScheme);

                ApplyFilterScheme(filterScheme, true);

                _filterSchemeManager.UpdateFilters();
            }
        }
        private async Task OnEditSchemeExecuteAsync(FilterScheme filterScheme)
        {
            await filterScheme.EnsureIntegrityAsync();

            var filterSchemeEditInfo = new FilterSchemeEditInfo(filterScheme, RawCollection, AllowLivePreview, EnableAutoCompletion);

            if (_uiVisualizerService.ShowDialog<EditFilterViewModel>(filterSchemeEditInfo) ?? false)
            {
                _filterSchemeManager.UpdateFilters();

                ApplyFilter();
            }
        }