Example #1
0
 public PreviewHandler(PreviewData data, ContentFileProcessor contentFileProcessor,
                       DefinitionFileProcessor definitionFileProcessor)
 {
     _previewDataModel        = data;
     _contentFileProcessor    = contentFileProcessor;
     _definitionFileProcessor = definitionFileProcessor;
 }
Example #2
0
 private void PreviewFromScrollBar_Scroll(object sender, ScrollEventArgs e)
 {
     try
     {
         PreviewData.Refresh();
     }
     catch (Exception ex)
     {
         Common.LogNoMsg(ex);
     }
 }
Example #3
0
        public CSVFileImport(string path)
        {
            IsDatasetReady = false;
            fileName       = path.Split(new char[1] {
                '/'
            }).Last();
            Stream stream = new FileStream(path, FileMode.Open);

            byte[] rawData = new byte[stream.Length];
            List <PreviewData.Row> rows = new List <PreviewData.Row>();

            int d        = stream.ReadByte();
            int rowIndex = 0;

            bool inRow         = true;
            int  rowStartIndex = 0;
            long byteIndex     = 0;

            while (d != -1)
            {
                rawData[byteIndex] = (byte)d;

                if (d == 13 || d == 10)
                {
                    if (inRow)
                    {
                        inRow = false;
                        rows.Add(new PreviewData.Row(rowIndex, rowStartIndex, (int)stream.Position - 1));
                        rowIndex++;
                    }
                }
                else
                {
                    if (!inRow)
                    {
                        inRow         = true;
                        rowStartIndex = (int)stream.Position;
                    }
                }

                d         = stream.ReadByte();
                byteIndex = stream.Position - 1;
            }

            if (inRow)
            {
                rows.Add(new PreviewData.Row(rowIndex, rowStartIndex, (int)stream.Position));
            }

            stream.Close();
            previewData = new PreviewData(rawData, rows.ToArray());
        }
Example #4
0
        public Form1(HotKeyGraphTraversalEngine engine, LocalPathResolver resolver, PreviewData pData)
        {
            InitializeComponent();
            _engine   = engine;
            _resolver = resolver;
            _pData    = pData;

            _pData.OnUpdated += () => UpdatePreviewList();

            PreviewList.Items.Add(new ListViewItem(new string[] { "test value", "another test value" }));
            PreviewList.Items.Add(new ListViewItem(new string[] { "test value2", "another test value2" }));
            PreviewList.Items.Add(new ListViewItem(new string[] { "test value3", "another test value3" }));
        }
        PreviewData GetPreviewData()
        {
            PreviewData previewData;

            if (!m_PreviewInstances.TryGetValue(referenceTargetIndex, out previewData))
            {
                previewData = new PreviewData(target);
                m_PreviewInstances.Add(referenceTargetIndex, previewData);
            }
            if (!previewData.gameObject)
            {
                ReloadPreviewInstances();
            }
            return(previewData);
        }
    public void AddCellToCreationPreview(Cell cell)
    {
        creationPreview.Add(Instantiate(previewObject, GetCellCenter(cell), transform.rotation));

        // Network it.
        var netData = new PreviewData
        {
            isHoverPreview = false,
            cell           = cell.ToInt3(),
            shape          = (ushort)previewShape,
            direction      = (ushort)previewDirection,
            tint           = previewTint
        };

        unreliableMessaging.SendRaw(NetworkingEventCodes.TERRAIN_PREVIEW, JsonUtility.ToJson(netData));
    }
Example #7
0
 private void LyFromFld_ValueChanged(object sender, EventArgs e)
 {
     try
     {
         CurrentResults               = GetSelection();
         PreviewFromScrollBar.Value   = 0;
         PreviewFromScrollBar.Maximum = CurrentResults.Count;
         PreviewData.Refresh();
         Common.Env.DefaultLineDb = IntensTypeCbx.SelectedIndex;
         Common.Env.Store();
     }
     catch (Exception ex)
     {
         Common.Log(ex);
     }
 }
Example #8
0
        static Texture2D FetchImage(string[] imageUrls, bool animateCarrousel, Dictionary <string, PreviewData> imageDb)
        {
            if (imageUrls == null || imageUrls.Length == 0)
            {
                return(null);
            }

            var keyImage = imageUrls[0];

            if (animateCarrousel)
            {
                var imageIndex = Mathf.FloorToInt(Mathf.Repeat((float)EditorApplication.timeSinceStartup, imageUrls.Length));
                keyImage = imageUrls[imageIndex];
            }

            if (keyImage == null)
            {
                return(null);
            }

            if (imageDb.TryGetValue(keyImage, out var previewData))
            {
                if (previewData.preview)
                {
                    return(previewData.preview);
                }
                return(null);
            }

            var newPreview = new PreviewData {
                request = UnityWebRequestTexture.GetTexture(keyImage)
            };

            newPreview.requestOp            = newPreview.request.SendWebRequest();
            newPreview.requestOp.completed += (aop) =>
            {
                if (newPreview.request.isDone && newPreview.request.result == UnityWebRequest.Result.Success)
                {
                    newPreview.preview = DownloadHandlerTexture.GetContent(newPreview.request);
                }
                newPreview.requestOp = null;
            };
            imageDb[keyImage] = newPreview;
            return(newPreview.preview);
        }
Example #9
0
        private void Bgw_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            var prv = e.Result as PreviewData;

            if (prv == null || prv.IsError)
            {
                _tweenMain.PreviewScrollBar.Maximum        = 0;
                _tweenMain.PreviewScrollBar.Enabled        = false;
                _tweenMain.SplitContainer3.Panel2Collapsed = true;
                if (prv != null && !string.IsNullOrEmpty(prv.AdditionalErrorMessage))
                {
                    ThumbnailProgressChanged(-1, prv.AdditionalErrorMessage);
                }
                else
                {
                    ThumbnailProgressChanged(-1);
                }

                return;
            }

            lock (_lckPrev)
            {
                if (_tweenMain.CurPost != null && prv.StatusId == _tweenMain.CurPost.StatusId)
                {
                    _preview = prv;
                    _tweenMain.SplitContainer3.Panel2Collapsed = false;
                    _tweenMain.PreviewScrollBar.Maximum        = _preview.Pics.Count - 1;
                    _tweenMain.PreviewScrollBar.Enabled        = _tweenMain.PreviewScrollBar.Maximum > 0;
                    _tweenMain.PreviewScrollBar.Value          = 0;
                    _tweenMain.PreviewPicture.Image            = _preview.Pics[0].Value;
                    string prevtooltipTextValue = _preview.TooltipText[0].Value;
                    _tweenMain.ToolTip1.SetToolTip(_tweenMain.PreviewPicture, string.IsNullOrEmpty(prevtooltipTextValue) ? string.Empty : prevtooltipTextValue);
                }
                else if (_tweenMain.CurPost == null || (_preview != null && _tweenMain.CurPost.StatusId != _preview.StatusId))
                {
                    _tweenMain.PreviewScrollBar.Maximum        = 0;
                    _tweenMain.PreviewScrollBar.Enabled        = false;
                    _tweenMain.SplitContainer3.Panel2Collapsed = true;
                }
            }

            ThumbnailProgressChanged(100);
        }
    void NetworkHoverPreview()
    {
        if (creationPreview.Count > 0)
        {
            // We're dragging - don't worry about the single hover block.
            return;
        }

        var netData = new PreviewData
        {
            isHoverPreview = true, // Important!
            cell           = previewCell.ToInt3(),
            shape          = (ushort)previewShape,
            direction      = (ushort)previewDirection,
            tint           = previewTint
        };

        unreliableMessaging.SendRaw(NetworkingEventCodes.TERRAIN_PREVIEW, JsonUtility.ToJson(netData));
    }
Example #11
0
        private void LoadTheme(AccentColorData accentColor, AppThemeData appTheme, bool editAccentColor)
        {
            CurrentTitle = editAccentColor
                ? Application.Current.Resources["AccentColorString"].ToString()
                : Application.Current.Resources["AppTheme"].ToString();

            var themeToEdit = editAccentColor ? (DataThemeBase)accentColor : appTheme;

            CurrentElement = themeToEdit;
            CurrentView    = new ThemePage();
            var previewData = new PreviewData(accentColor, appTheme)
            {
                FrameworkElement = PreviewControl
            };

            PreviewData    = previewData;
            PreviewControl = new LivePreview();
            previewData.FrameworkElement = PreviewControl;
            previewData.Refresh();
            CanGoBack = true;
        }
    void HandlePreviewMessage(object rawData, int senderId)
    {
        string rawString = (string)rawData;

        if (rawString == CLEAR_MESSAGE)
        {
            // Signal to clear.
            if (networkedPreviews.ContainsKey(senderId))
            {
                networkedPreviews[senderId].DestroyAllAndClear();
            }
            return;
        }

        PreviewData data = JsonUtility.FromJson <PreviewData>(rawString);

        if (!networkedPreviews.ContainsKey(senderId))
        {
            networkedPreviews[senderId] = new HashSet <GameObject>();
        }

        if (data.isHoverPreview)
        {
            // Clear any existing, since the hover is just a single preview ghost
            networkedPreviews[senderId].DestroyAllAndClear();
        }

        BlockShape     shape   = (BlockShape)data.shape;
        BlockDirection dir     = (BlockDirection)data.direction;
        var            preview = InstantiatePreview(shape);

        preview.transform.parent   = null;
        preview.transform.position = GetCellCenter(new Cell(data.cell));
        preview.transform.rotation = GetBlockDirectionAsQuaternion(dir);
        preview.GetComponentInChildren <Renderer>().material.SetColor("_MainTint", data.tint);
        networkedPreviews[senderId].Add(preview);
    }
Example #13
0
    public static async Task <PreviewData[]> GetPreviews(string[] assetPaths)
    {
        List <PreviewData> previews = new List <PreviewData>();

        for (int i = 0; i < assetPaths.Length; i++)
        {
            string assetPath = assetPaths[i];
            if (string.IsNullOrEmpty(assetPath))
            {
                continue;
            }

            PreviewData previewData = await GetPreview(assetPath);

            if (previewData == null)
            {
                continue;
            }

            previews.Add(previewData);
        }

        return(previews.ToArray());
    }
        protected void DisplayClaimsPreview(string viewId, PreviewData previewData, GlobalSearchGridRow row)
        {
            var regionHelper = this._previewRegionHelper;
            if (!regionHelper.ContainsView(viewId))
            {
                regionHelper.AddNewView(previewData.View, viewId);
            }

            regionHelper.ActivateView(viewId);
        }
Example #15
0
        private void Bgw_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            var prv = e.Result as PreviewData;
            if (prv == null || prv.IsError)
            {
                _tweenMain.PreviewScrollBar.Maximum = 0;
                _tweenMain.PreviewScrollBar.Enabled = false;
                _tweenMain.SplitContainer3.Panel2Collapsed = true;
                if (prv != null && !string.IsNullOrEmpty(prv.AdditionalErrorMessage))
                {
                    ThumbnailProgressChanged(-1, prv.AdditionalErrorMessage);
                }
                else
                {
                    ThumbnailProgressChanged(-1);
                }

                return;
            }

            lock (_lckPrev)
            {
                if (_tweenMain.CurPost != null && prv.StatusId == _tweenMain.CurPost.StatusId)
                {
                    _preview = prv;
                    _tweenMain.SplitContainer3.Panel2Collapsed = false;
                    _tweenMain.PreviewScrollBar.Maximum = _preview.Pics.Count - 1;
                    _tweenMain.PreviewScrollBar.Enabled = _tweenMain.PreviewScrollBar.Maximum > 0;
                    _tweenMain.PreviewScrollBar.Value = 0;
                    _tweenMain.PreviewPicture.Image = _preview.Pics[0].Value;
                    string prevtooltipTextValue = _preview.TooltipText[0].Value;
                    _tweenMain.ToolTip1.SetToolTip(_tweenMain.PreviewPicture, string.IsNullOrEmpty(prevtooltipTextValue) ? string.Empty : prevtooltipTextValue);
                }
                else if (_tweenMain.CurPost == null || (_preview != null && _tweenMain.CurPost.StatusId != _preview.StatusId))
                {
                    _tweenMain.PreviewScrollBar.Maximum = 0;
                    _tweenMain.PreviewScrollBar.Enabled = false;
                    _tweenMain.SplitContainer3.Panel2Collapsed = true;
                }
            }

            ThumbnailProgressChanged(100);
        }
        public async Task <IActionResult> PreviewData([FromBody] PreviewData previewData, CancellationToken cancellationToken)
        {
            var remoteAgent = await _remoteAgents.GetHubReaderRemoteAgent(previewData.HubKey, _operations.RepositoryManager, cancellationToken);

            if (previewData.RemoteAgentId != remoteAgent.InstanceId)
            {
                // this status code is used by the client to attempt to look for a refreshed remote agent.
                return(StatusCode(426, remoteAgent));
                // throw new Exception("The remote agent did not match the current agent.");
            }

            var user = await _operations.RepositoryManager.GetUserAsync(User, cancellationToken, false);

            var repositoryManager = _operations.RepositoryManager;

            //check user can access the hub.
            var canAccess = await repositoryManager.CanAccessSharedObjects(user, previewData.HubKey, cancellationToken);

            if (!canAccess)
            {
                throw new Exception($"Can not access shared objects in the hub with the key {previewData.HubKey}.");
            }

            InputParameters itemParameters;

            if (previewData.ParentParameters == null)
            {
                itemParameters = previewData.Parameters;
            }
            else
            {
                itemParameters = new InputParameters();
                foreach (var parameter in previewData.Parameters)
                {
                    itemParameters.Add(parameter.Name, previewData.ParentParameters.SetParameters(parameter.Value, parameter.Rank), parameter.Rank);
                }
            }

            string data;

            switch (previewData.ObjectType)
            {
            case EDataObjectType.Table:
                data = await _remoteAgents.PreviewTable(previewData.RemoteAgentId, previewData.HubKey, previewData.DownloadUrl, previewData.ObjectKey, previewData.SelectQuery, null, previewData.InputColumns, itemParameters, false, true, repositoryManager, cancellationToken);

                break;

            case EDataObjectType.Datalink:
                data = await _remoteAgents.PreviewDatalink(previewData.RemoteAgentId, previewData.HubKey, previewData.DownloadUrl, previewData.ObjectKey, false, previewData.SelectQuery, null, previewData.InputColumns, itemParameters, true, repositoryManager, cancellationToken);

                break;

            case EDataObjectType.View:
            case EDataObjectType.DashboardItem:
                DexihView view;
                if (previewData.ObjectType == EDataObjectType.DashboardItem)
                {
                    view = await repositoryManager.GetDashboardItemView(previewData.HubKey, previewData.ObjectKey,
                                                                        true, cancellationToken);
                }
                else
                {
                    view = await repositoryManager.GetView(previewData.HubKey, previewData.ObjectKey, cancellationToken);

                    if (!view.IsShared)
                    {
                        throw new Exception($"The view {view.Name} is not shared.");
                    }
                }

                var selectQuery = view.SelectQuery ?? new SelectQuery();
                // selectQuery.Rows = previewData.SelectQuery.Rows;

                switch (view.SourceType)
                {
                case EDataObjectType.Table:
                    data = await _remoteAgents.PreviewTable(previewData.RemoteAgentId, previewData.HubKey, previewData.DownloadUrl, view.SourceTableKey.Value, selectQuery, view.GetViewConfig(), previewData.InputColumns, itemParameters, false, false, repositoryManager, cancellationToken);

                    break;

                case EDataObjectType.Datalink:
                    data = await _remoteAgents.PreviewDatalink(previewData.RemoteAgentId, previewData.HubKey, previewData.DownloadUrl, view.SourceDatalinkKey.Value, false, selectQuery, view.GetViewConfig(), previewData.InputColumns, itemParameters, false, repositoryManager, cancellationToken);

                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            _logger.LogTrace(LoggingEvents.HubPreviewTable, "SharedDataController.PreviewData: HubKey: {updateBrowserHub}, ObjectKey: {objectKey}", previewData.HubKey, previewData.ObjectKey);
            return(Ok(data));
        }
        public HttpResponseMessage GetPreviewMarkup([FromBody] PreviewData data, [FromUri] int pageId)
        {
            var page = default(IPublishedContent);

            // If the page is new, then the ID will be zero
            if (pageId > 0)
            {
                // Get page container node
                page = UmbracoContext.ContentCache.GetById(pageId);
                if (page == null)
                {
                    // If unpublished, then fake PublishedContent (with IContent object)
                    page = new UnpublishedContent(pageId, Services);
                }
            }

            // NOTE: The previous previewer had a content node associated with the request,
            // meaning that an implementation may have used this to traverse the content-tree.
            // In order to maintain backward-compatibility, we must ensure the PublishedContentRequest context.
            if (UmbracoContext.PublishedContentRequest == null)
            {
                UmbracoContext.PublishedContentRequest = new PublishedContentRequest(
                    Request.RequestUri,
                    UmbracoContext.RoutingContext,
                    UmbracoConfig.For.UmbracoSettings().WebRouting,
                    null)
                {
                    PublishedContent = page
                };
            }

            // Set the culture for the preview
            if (page != null)
            {
                var culture = page.GetCulture();
                System.Threading.Thread.CurrentThread.CurrentCulture   = culture;
                System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
            }

            // Get content node object
            var content = DocTypeGridEditorHelper.ConvertValueToContent(data.Id, data.ContentTypeAlias, data.Value);

            // Construct preview model
            var model = new PreviewModel
            {
                Page            = page,
                Item            = content,
                EditorAlias     = data.EditorAlias,
                PreviewViewPath = data.PreviewViewPath,
                ViewPath        = data.ViewPath
            };

            // Render view
            var partialName = "~/App_Plugins/DocTypeGridEditor/Render/DocTypeGridEditorPreviewer.cshtml";
            var markup      = Helpers.ViewHelper.RenderPartial(partialName, model, UmbracoContext.HttpContext);

            // Return response
            var response = new HttpResponseMessage
            {
                Content = new StringContent(markup ?? string.Empty)
            };

            response.Content.Headers.ContentType = new MediaTypeHeaderValue(MediaTypeNames.Text.Html);

            return(response);
        }
Example #18
0
        public PartialViewResult GetPreviewMarkup([FromForm] PreviewData data, [FromQuery] int pageId)
        {
            var page = default(IPublishedContent);

            // If the page is new, then the ID will be zero
            if (pageId > 0)
            {
                // Get page container node
                page = _contentQuery.Content(pageId);
                if (page == null)
                {
                    // If unpublished, then fake PublishedContent
                    page = new UnpublishedContent(pageId, _contentService, _contentTypeService, _dataTypeService, _propertyEditorCollection, _publishedContentTypeFactory);
                }
            }


            if (_umbracoContext.UmbracoContext.PublishedRequest == null)
            {
                var request = _router.CreateRequestAsync(new Uri(Request.GetDisplayUrl())).Result;
                request.SetPublishedContent(page);
                _umbracoContext.UmbracoContext.PublishedRequest = request.Build();
            }

            // Set the culture for the preview
            if (page != null && page.Cultures != null)
            {
                var currentCulture = string.IsNullOrWhiteSpace(data.Culture) ? page.GetCultureFromDomains() : data.Culture;
                if (currentCulture != null && page.Cultures.ContainsKey(currentCulture))
                {
                    var culture = new CultureInfo(page.Cultures[currentCulture].Culture);
                    // _umbracoContext.UmbracoContext.PublishedRequest.Culture = culture; // TODO: Not sure if this is needed?
                    System.Threading.Thread.CurrentThread.CurrentCulture   = culture;
                    System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
                    _umbracoContext.UmbracoContext.VariationContextAccessor.VariationContext = new VariationContext(culture.Name);
                }
            }

            // Get content node object
            var content = _dtgeHelper.ConvertValueToContent(data.Id, data.ContentTypeAlias, data.Value);

            // Construct preview model
            var model = new PreviewModel
            {
                Page            = page,
                Item            = content,
                EditorAlias     = data.EditorAlias,
                PreviewViewPath = data.PreviewViewPath,
                ViewPath        = data.ViewPath
            };


            // Render view

            var partialName = "~/App_Plugins/DocTypeGridEditor/Render/DocTypeGridEditorPreviewer.cshtml";

            var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary());

            viewData.Model = model;
            return(new PartialViewResult()
            {
                ViewName = partialName,
                ViewData = viewData
            });
        }
 private void bgw_Completed(object sender, RunWorkerCompletedEventArgs e)
 {
     var prv = e.Result as PreviewData;
     if (prv == null || prv.IsError)
     {
         Owner.PreviewScrollBar.Maximum = 0;
         Owner.PreviewScrollBar.Enabled = false;
         Owner.SplitContainer3.Panel2Collapsed = true;
         if (prv != null && !string.IsNullOrEmpty(prv.AdditionalErrorMessage))
         {
             ThumbnailProgressChanged(-1, prv.AdditionalErrorMessage);
         }
         else
         {
             ThumbnailProgressChanged(-1);
         }
         return;
     }
     lock(lckPrev)
     {
         if (prv != null && _curPost != null && prv.statusId == _curPost.StatusId)
         {
             if (_prev != null)
             {
                 _prev.Dispose();
             }
             _prev = prv;
             Owner.SplitContainer3.Panel2Collapsed = false;
             Owner.PreviewScrollBar.Maximum = _prev.pics.Count - 1;
             if (Owner.PreviewScrollBar.Maximum > 0)
             {
                 Owner.PreviewScrollBar.Enabled = true;
             }
             else
             {
                 Owner.PreviewScrollBar.Enabled = false;
             }
             Owner.PreviewScrollBar.Value = 0;
             Owner.PreviewPicture.Image = _prev.pics[0].Value;
             if (!string.IsNullOrEmpty(_prev.tooltipText[0].Value))
             {
                 Owner.ToolTip1.SetToolTip(Owner.PreviewPicture, _prev.tooltipText[0].Value);
             }
             else
             {
                 Owner.ToolTip1.SetToolTip(Owner.PreviewPicture, "");
             }
         }
         else if (_curPost == null || (_prev != null && _curPost.StatusId != _prev.statusId))
         {
             Owner.PreviewScrollBar.Maximum = 0;
             Owner.PreviewScrollBar.Enabled = false;
             Owner.SplitContainer3.Panel2Collapsed = true;
         }
     }
     ThumbnailProgressChanged(100);
 }
        public HttpResponseMessage GetPreviewMarkup([FromBody] PreviewData data, [FromUri] int pageId)
        {
            var page = default(IPublishedContent);

            // If the page is new, then the ID will be zero
            if (pageId > 0)
            {
                // Get page container node
                page = Umbraco.Content(pageId);
                if (page == null)
                {
                    // If unpublished, then fake PublishedContent
                    page = new UnpublishedContent(pageId, Services);
                }
            }

            if (UmbracoContext.PublishedRequest == null)
            {
                var router = Current.Factory.GetInstance(typeof(IPublishedRouter)) as IPublishedRouter;
                UmbracoContext.PublishedRequest = router.CreateRequest(UmbracoContext, Request.RequestUri);
                UmbracoContext.PublishedRequest.PublishedContent = page;
            }

            // Set the culture for the preview
            if (page != null && page.Cultures != null)
            {
                var currentCulture = string.IsNullOrWhiteSpace(data.Culture) ? page.GetCultureFromDomains() : data.Culture;
                if (currentCulture != null && page.Cultures.ContainsKey(currentCulture))
                {
                    var culture = new CultureInfo(page.Cultures[currentCulture].Culture);
                    UmbracoContext.PublishedRequest.Culture = culture;
                    System.Threading.Thread.CurrentThread.CurrentCulture   = culture;
                    System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
                }
            }

            // Get content node object
            var content = DocTypeGridEditorHelper.ConvertValueToContent(data.Id, data.ContentTypeAlias, data.Value);

            // Construct preview model
            var model = new PreviewModel
            {
                Page            = page,
                Item            = content,
                EditorAlias     = data.EditorAlias,
                PreviewViewPath = data.PreviewViewPath,
                ViewPath        = data.ViewPath
            };

            // Render view
            var partialName = "~/App_Plugins/DocTypeGridEditor/Render/DocTypeGridEditorPreviewer.cshtml";
            var markup      = Helpers.ViewHelper.RenderPartial(partialName, model, UmbracoContext.HttpContext, UmbracoContext);

            // Return response
            var response = new HttpResponseMessage
            {
                Content = new StringContent(markup ?? string.Empty)
            };

            response.Content.Headers.ContentType = new MediaTypeHeaderValue(MediaTypeNames.Text.Html);

            return(response);
        }