Пример #1
0
        public async Task <IEnumerable <Span> > MapContentDtoToSpanAsync(IEnumerable <PageContentDto> pageContentDtos)
        {
            return(await Task.Run(async() =>
            {
                var spans = new List <Span>();

                var textSpans = new List <TextSpan>();

                foreach (var item in pageContentDtos)
                {
                    var content = item.Content;

                    if (_pronoumTranslatorService.HasPronoumMarkers(item.Content))
                    {
                        content = await _pronoumTranslatorService.TranslatePronoumAsync(item.Content);
                    }

                    var textSpan = new TextSpan();

                    textSpan.amountLineBreaks = item.AmountLineBreaks;
                    textSpan.content = content;
                    textSpan.fontAttribute = (FontAttribute)item.FontAttribute;
                    textSpan.fontFamily = item.FontFamily;
                    textSpan.fontSize = (FontNamedSize)item.FontSize;
                    textSpan.hexBackgroundColor = item.HexBackgroundColor;
                    textSpan.hexForegroundColor = item.HexForegroundColor;
                    textSpan.lineBreak = item.LineBreak;

                    textSpans.Add(textSpan);
                }

                foreach (var item in textSpans)
                {
                    spans.Add(MapTextSpanToXamarinSpan(item));
                }

                return spans;
            }));
        }