private Page CreateUpdatedPageWithIdentifier(IIdentifier identifier)
        {
            UPMWebContentPage page = new UPMWebContentPage(identifier)
            {
                ReportType   = this.WebContentPage.ReportType,
                PrintEnabled = this.WebContentPage.PrintEnabled
            };
            Page special = this.SpecialHandlingForPage(page);

            if (special != null)
            {
                return(special);
            }

            if (this.WebContentMetadata is UPWebContentMetadataUrl)
            {
                UPWebContentMetadataUrl webContentMetaDataUrl = (UPWebContentMetadataUrl)this.WebContentMetadata;
                page.WebContentUrl = webContentMetaDataUrl.Url;
            }
            else if (this.WebContentMetadata is UPWebContentMetadataClientReport)
            {
                this.AllowsXMLExport = true;
                if (!this.BuildClientReportForPage(page))
                {
                    return(page);
                }

                this.ApplyLoadingStatusOnPage(page);
            }
            else if (this.WebContentMetadata is UPWebContentMetadataServerReport)
            {
                page.WebContentUrl = ((UPWebContentMetadataServerReport)this.WebContentMetadata).CalcServiceURLWithRecordIdentification(this.RecordIdentification);
                string loadManuallySetting = this.ViewReference.ContextValueForKey("LoadManually");
                if (!string.IsNullOrEmpty(loadManuallySetting) && loadManuallySetting != "false")
                {
                    page.LoadContentManually = true;
                }
            }

            page.Invalid = false;
            page.Status  = null;
            return(page);
        }
        private void ContinueBuildGroup()
        {
            this.webContentMetadata.UpdateMetadataWithViewReference(this.viewReference);
            int recommendedHeight;

            if (this.formItem != null)
            {
                recommendedHeight = this.formItem.CellAttributes?.ContainsKey("Height") == true?Convert.ToInt32(this.formItem.CellAttributes["Height"]) : 500;
            }
            else
            {
                recommendedHeight = Convert.ToInt32(this.viewReference.ContextValueForKey("Height"));
            }

            if (this.webContentMetadata is UPWebContentMetadataClientReport)
            {
                this.ControllerState = GroupModelControllerState.Pending;
                this.BuildClientReportForGroup(this.tmpGroup);
                this.tmpGroup.ReportType        = "ClientReport";
                this.tmpGroup.LabelText         = this.ExplicitLabel;
                this.tmpGroup.RecommendedHeight = recommendedHeight > 0 ? recommendedHeight : 500;
                this.Group = this.tmpGroup;
            }
            else if (this.webContentMetadata is UPWebContentMetadataServerReport)
            {
                this.tmpGroup.ReportType = "CoreReport";
                this.tmpGroup.LabelText  = this.ExplicitLabel;
                if (!ConfigurationUnitStore.DefaultStore.ConfigValueIsSet("Report.EnableCoreReportInBrowser"))
                {
                    this.tmpGroup.DisableOpenInUrl = true;
                }

                UPWebContentMetadataServerReport serverReport = (UPWebContentMetadataServerReport)this.webContentMetadata;
                this.tmpGroup.WebContentUrl     = serverReport.CalcServiceURLWithRecordIdentification(this.RecordIdentification);
                this.tmpGroup.RecommendedHeight = recommendedHeight > 0 ? recommendedHeight : 500;
                this.Group           = this.tmpGroup;
                this.ControllerState = GroupModelControllerState.Finished;
            }
            else if (this.webContentMetadata is UPWebContentQlikViewUrl)
            {
                this.tmpGroup.ReportType        = "QlikView";
                this.tmpGroup.LabelText         = this.ExplicitLabel;
                this.tmpGroup.RecommendedHeight = recommendedHeight > 0 ? recommendedHeight : 500;
                this.tmpGroup.OpenInModalFrame  = true;
                this.ControllerState            = GroupModelControllerState.Pending;
                this.Group = this.tmpGroup;
            }
            else if (this.webContentMetadata is UPWebContentPortfolio)
            {
                this.tmpGroup.ReportType        = "Portfolio";
                this.tmpGroup.LabelText         = this.ExplicitLabel;
                this.tmpGroup.RecommendedHeight = recommendedHeight > 0 ? recommendedHeight : 500;
                this.tmpGroup.OpenInModalFrame  = true;
                this.ControllerState            = GroupModelControllerState.Pending;
                this.Group = this.tmpGroup;
            }
            else if (this.webContentMetadata is UPWebContentMetadataUrl)
            {
                UPWebContentMetadataUrl webContentMetaDataUrl = (UPWebContentMetadataUrl)this.webContentMetadata;
                this.tmpGroup.ReportType        = "Html";
                this.tmpGroup.LabelText         = this.ExplicitLabel;
                this.tmpGroup.WebContentUrl     = webContentMetaDataUrl.Url;
                this.tmpGroup.LocalUrlUsed      = webContentMetaDataUrl.LocalUrl;
                this.tmpGroup.RecommendedHeight = recommendedHeight > 0 ? recommendedHeight : 500;
                this.ControllerState            = webContentMetaDataUrl.Finished ? GroupModelControllerState.Finished : GroupModelControllerState.Pending;

                this.Group = this.tmpGroup;
            }
            else
            {
                this.Group           = this.tmpGroup;
                this.ControllerState = GroupModelControllerState.Empty;
            }
        }