public async Task <IActionResult> Read(long pageId)
        {
            long tenantId = TenantId;

            PageView pageView = await _pageViewService.ReadPageViewAsync(tenantId, pageId);

            pageView.PageViewZones = await _pageViewService.SearchPageViewZonesAsync(tenantId, pageId);

            foreach (PageViewZone pageViewZone in pageView.PageViewZones)
            {
                pageViewZone.PageViewZoneElements = await _pageViewService.SearchPageViewZoneElementsAsync(tenantId, pageId, pageViewZone.MasterPageZoneId);
            }

            Dictionary <long, ElementRender> elements = new Dictionary <long, ElementRender>();

            foreach (PageViewZone pageViewZone in pageView.PageViewZones)
            {
                foreach (PageViewZoneElement pageViewZoneElement in pageViewZone.PageViewZoneElements)
                {
                    if (!elements.ContainsKey(pageViewZoneElement.ElementId))
                    {
                        elements.Add(pageViewZoneElement.ElementId, await GetElementRender(tenantId, pageViewZoneElement.ElementTypeId, pageViewZoneElement.ElementId, pageId));
                    }
                }
            }

            PageRender pageRender = new PageRender
            {
                View     = pageView,
                Elements = elements
            };

            return(View("Read", pageRender));
        }
        public async Task <IActionResult> SearchPageViewZones(long tenantId, long pageId)
        {
            IEnumerable <PageViewZone> pageViewZones = await _pageViewService.SearchPageViewZonesAsync(tenantId, pageId);

            return(Ok(pageViewZones));
        }