Example #1
0
    private string getImagePartUrl(CustomReportComponent reportPart)
    {
        StringBuilder url;

        url = new StringBuilder();
        url.Append("~/Report-Part.aspx");         //base page
        //Component type
        url.AppendFormat("?{0}={1}", Members_Reports_Custom_Reports_Report_Part.PARAMETER_COMPONENT_TYPE_ID,
                         reportPart.ComponentType.Id);

        if (reportPart.ConfiguredDatasource != null)
        {
            url.AppendFormat("&{0}={1}", Members_Reports_Custom_Reports_Report_Part.PARAMETER_CONFIGURED_DATASOURCE_ID,
                             reportPart.ConfiguredDatasource.Id);
        }
        if (reportPart.DatasourceSubType != null)
        {
            url.AppendFormat("&{0}={1}", Members_Reports_Custom_Reports_Report_Part.PARAMETER_CONFIGURED_DATASOURCE_SUBTYPE_ID,
                             reportPart.DatasourceSubType.Id);
        }
        if (reportPart.SavedReport != null)
        {
            url.AppendFormat("&{0}={1}", Members_Reports_Custom_Reports_Report_Part.PARAMETER_SAVED_REPORT_ID,
                             reportPart.SavedReport.Id);
        }

        //Append the user ID so that caching is on a per-user basis
        url.AppendFormat("&{0}={1}", "cache", _userId);

        return(url.ToString());
    }
Example #2
0
    private void showAndPopulateSiteList(CustomReportComponent part)
    {
        pnlSiteSelection.Visible = true;
        siteList.PopulatePageList();

        if (part != null && part.Url != null)
        {
            siteList.SetSelectedSiteId(part.Url.Id);
        }
    }
Example #3
0
    private void showImagePart(CustomReportComponent reportPart)
    {
        string imageUrl;
        Image  image;

        imageUrl = getImagePartUrl(reportPart);

        image          = new Image();
        image.ImageUrl = imageUrl;

        reportPlaceholder.Controls.Add(image);
    }
Example #4
0
 private void displayPart(CustomReportComponent part)
 {
     if (part == null)
     {
     }
     else
     {
         //Display the correct type
         ddlReportType.SelectedValue = part.ComponentType.Id.ToString();
         showAndPopulateStep2(part);
     }
 }
Example #5
0
    private void showHtmlPart(CustomReportComponent reportPart)
    {
        Literal             htmlControl;
        ReportPartGenerator generator;
        GeneratedReportPart part;

        generator = new ReportPartGenerator(_db);
        part      = generator.GenerateReport(reportPart);

        htmlControl      = new Literal();
        htmlControl.Text = part.Html;

        reportPlaceholder.Controls.Add(htmlControl);
    }
 /// <summary>
 ///		This method generates report parts using a loaded
 ///		<see cref="CustomReportComponent" />
 /// </summary>
 /// <param name="reportPart">
 ///		The <see cref="CustomReportComponent" /> to generate.
 /// </param>
 /// <returns>
 ///		A <see cref="GeneratedReportPart" /> that can be used to
 ///		display the part to the user, or email to them.
 /// </returns>
 public GeneratedReportPart GenerateReport(CustomReportComponent reportPart)
 {
     if (reportPart.SavedReport != null)
     {
         return(GenerateReport(reportPart.ComponentType.Id.Value, reportPart.SavedReport));
     }
     else if (reportPart.ComponentType.Id == 2)
     {
         return(generateSiteSummary(reportPart));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Example #7
0
    private void cmdAdd_Click(object sender, EventArgs e)
    {
        CustomReportComponent part;
        ListItem newListItem;

        part = new CustomReportComponent();
        part.CustomReport = _report;
        //Default to a site summary
        part.ComponentType = _db.ORManager.Get <CustomReportComponentType>(2);
        part.Url           = siteList.GetSelectedSite();

        _db.ORManager.SaveOrUpdate(part);

        newListItem = new ListItem(part.ComponentType.Name, part.Id.ToString());
        lstReportParts.Items.Add(newListItem);
        //Select the newly added item
        lstReportParts.SelectedIndex = lstReportParts.Items.IndexOf(newListItem);
        displayPart(part);
    }
Example #8
0
    /// <summary>
    ///		Displays the panel to select the information for step 2, and
    ///		populates that panel.
    /// </summary>
    private void showAndPopulateStep2(CustomReportComponent part)
    {
        reportPartTypes partType;

        pnlSavedTrends.Visible   = false;
        pnlDataType.Visible      = false;
        pnlSiteSelection.Visible = false;

        partType = getSelectedPartType();

        switch (partType)
        {
        case reportPartTypes.SavedTrend:
            showAndPopulateSavedTrends(part);
            break;

        case reportPartTypes.SiteSummary:
            showAndPopulateSiteList(part);
            break;
        }
    }
Example #9
0
    private void showAndPopulateSavedTrends(CustomReportComponent part)
    {
        IList <SavedReport> reports;
        ICriteria           criteria;

        pnlSavedTrends.Visible = true;

        if (ddlSavedTrends.Items.Count == 0)
        {
            criteria = _db.ORManager.Session.CreateCriteria(typeof(SavedReport)).Add(Expression.Eq("UserId", _userId));
            reports  = criteria.List <SavedReport>();

            ddlSavedTrends.DataSource     = reports;
            ddlSavedTrends.DataTextField  = "Name";
            ddlSavedTrends.DataValueField = "Id";
            ddlSavedTrends.DataBind();
        }

        //Select the correct saved report
        if (part != null && part.SavedReport != null)
        {
            ddlSavedTrends.SelectedValue = part.SavedReport.Id.ToString();
        }
    }