public virtual OpenGraphObject Render(Guid?id)
        {
            var obj = id.HasValue ? _openGraphService.GetOpenGraphObject(id.Value) :
                      _openGraphService.GetOpenGraphObject(CurrentPage);

            return(obj);
        }
Exemple #2
0
        public virtual async Task <LinkPreviewModel> Preview(string url)
        {
            var openGraphObject = _openGraphService.GetOpenGraphObject(url);

            if (openGraphObject != null)
            {
                var localRequestEntity = Map(openGraphObject);

                _previewRepository.Add(localRequestEntity);

                return(_linkPreviewModelMapper.MapPreview(localRequestEntity));
            }

            var result = await _linkPreviewClient.GetLinkPreview(url);

            if (!result.IsSuccess)
            {
                return(null);
            }

            var entity = Map(result.Preview, url);

            _previewRepository.Add(entity);

            var linkPreview = _linkPreviewModelMapper.MapPreview(entity);

            return(linkPreview);
        }