public LogFilterEditorViewModel(LogFilter logFilter)
        {
            Argument.IsNotNull(() => logFilter);

            ExpressionTypes = new ObservableCollection <LogFilterExpressionType>(Enum <LogFilterExpressionType> .GetValues());
            Actions         = new ObservableCollection <LogFilterAction>(Enum <LogFilterAction> .GetValues());
            Targets         = new ObservableCollection <LogFilterTarget>(Enum <LogFilterTarget> .GetValues());

            LogFilter = logFilter;
        }
        private async Task OnAddCommandExecuteAsync()
        {
            var logFilter = new LogFilter();

            if (await _uiVisualizerService.ShowDialogAsync <LogFilterEditorViewModel>(logFilter) ?? false)
            {
                LogFilters.Add(logFilter);
                SelectedLogFilter = logFilter;

                Validate(true);
            }
        }
        private async Task OnRemoveCommandExecuteAsync()
        {
            var result = await _messageService.ShowAsync("Are you sure?", button : MessageButton.YesNo, icon : MessageImage.Warning);

            if (result == MessageResult.Yes)
            {
                LogFilterGroup.LogFilters.Remove(SelectedLogFilter);
                SelectedLogFilter = null;

                Validate(true);
            }
        }
        private async Task OnRemoveCommandExecuteAsync()
        {
            var result = await _messageService.ShowAsync(LanguageHelper.GetString("Controls_LogViewer_AreYouSure"),
                                                         button : MessageButton.YesNo, icon : MessageImage.Warning);

            if (result == MessageResult.Yes)
            {
                LogFilterGroup.LogFilters.Remove(SelectedLogFilter);
                SelectedLogFilter = null;

                Validate(true);
            }
        }