Acrolinx.Sdk.Sidebar.Util.Adapter.UniversalAdapter.SelectRanges C# (CSharp) Метод

SelectRanges() публичный Метод

public SelectRanges ( IReadOnlyList matches, DocumentModel model, System.Text.Format format ) : void
matches IReadOnlyList
model Acrolinx.Sdk.Sidebar.Util.Changetracking.DocumentModel
format System.Text.Format
Результат void
        public void SelectRanges(IReadOnlyList<Match> matches, DocumentModel model, Format format)
        {
            var modifiedRanges = new List<IRange>(matches.Select<Match, IRange>(x => model.OriginalToModifiedRange(x.Range)));

            var currentExtraction = Extract(format);

            var lookup = new Lookup(model.Content);
            var searchResult = lookup.Search(currentExtraction, modifiedRanges);

            if(searchResult.Count == 0)
            {
                throw new MatchesNotFoundException("Lookup returned an empty list. Maybe source document was change by user?", matches, null);
            }

            var rangeWithTag = new Range(searchResult[0].Start, searchResult[searchResult.Count - 1].End);

            IRange range = ToRawRange(format, currentExtraction, rangeWithTag, false);
            SelectRawRange(range, format);
        }