Ejemplo n.º 1
0
        public void FindErrors(IRibbonControl ribbonControl)
        {
            var activeSheet = (Worksheet)App.ActiveSheet;
            var range       = GetSelectionOrUsedRange(activeSheet);

            if (range == null)
            {
                return;
            }

            logger.Debug($"FindErrors. Range selected is {range.Address}");

            IReadOnlyCollection <InteractiveErrorItem> allErrors;

            var errorFinder = GetService <IErrorFinder>();

            allErrors = errorFinder.GetAllErrorCells(range);

            if (allErrors.Count == 0)
            {
                dialogService.ShowInfo(UIStrings.NoErrors);
                return;
            }
            form = new InteractiveRangeReportForm(allErrors, activeSheet);
            form.Show();
        }
Ejemplo n.º 2
0
        public void ValidateValues(IRibbonControl ribbonControl)
        {
            var activeSheet = (Worksheet)App.ActiveSheet;
            var range       = GetSelectionOrUsedRange(activeSheet);

            if (range == null)
            {
                return;
            }

            logger.Debug($"ValidateValues. Range selected is {range.Address}");

            if (!validationTypeByButtonId.TryGetValue(ribbonControl.Id, out var validationType))
            {
                dialogService.ShowError($"Invalid control id '{ribbonControl.Id}'");
                throw new ArgumentOutOfRangeException($"Invalid control id '{ribbonControl.Id}'");
            }

            logger.Debug($"ValidateValues. Range selected is {range.Address}, validation type {validationType}");

            IReadOnlyCollection <InteractiveErrorItem> results;

            var validator = GetService <ICellsValueValidator>();

            results = validator.Validate(range, validationType);

            form = new InteractiveRangeReportForm(results, activeSheet);
            form.Show();
        }