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(); }
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(); }