示例#1
0
    private void loadSelected()
    {
        SavedReport report;

        report = getSelectedReportSettings();

        //Remember which settings are saved
        if (report.Id != null)
        {
            setDisplayedSettingsId(report.Id.Value);

            _rcp = RankChartParameters.XmlDeserialize(report.XmlData);
        }
        else
        {
            setDisplayedSettingsId(null);

            _rcp                 = new RankChartParameters();
            _rcp.Datasources     = new DisplayDatasourceItem[0];
            _rcp.EventCategories = new DisplayEventCategoryItem[0];
        }

        raiseSettingsLoaded();
        raiseChartRefreshRequest(this, null);
    }
示例#2
0
        private void scroll(bool scrollLeft)
        {
            DateTime start, end;

            GetTimeRange(out start, out end);

            RankChartParameters.ScrollTimeRange(start, end, out start, out end, scrollLeft);

            SetTimeRange(start, end);
        }
示例#3
0
        private void zoom(bool zoomIn)
        {
            DateTime start, end;

            GetTimeRange(out start, out end);

            RankChartParameters.ZoomTimeRange(start, end, out start, out end, zoomIn);

            SetTimeRange(start, end);
        }
示例#4
0
    public void SaveSettings(RankChartParameters settings, string reportName)
    {
        SavedReport sr;
        int?        settingsId;
        bool        newSettings;

        settingsId = getDisplayedSettingsId();

        newSettings = settingsId == null;

        if (newSettings)
        {
            sr         = new SavedReport();
            sr.Created = DateTime.UtcNow;
        }
        else
        {
            //Load the options to set the fields we're not explicitly setting
            sr = _db.ORManager.Get <SavedReport>((int)settingsId);
        }

        sr.XmlData      = settings.XmlSerialize();
        sr.UserId       = _userId;
        sr.ReportTypeId = 1;
        sr.LastSaved    = DateTime.UtcNow;

        if (sr.Name != reportName)
        {
            sr.Name = reportName;

            if (!newSettings)
            {
                lstReports.SelectedItem.Text = reportName;
            }
        }

        _db.ORManager.SaveOrUpdate(sr);

        if (newSettings)
        {
            //Add the item to the report list
            lstReports.Items.Add(new ListItem(sr.Name, sr.Id.ToString()));
            lstReports.SelectedIndex = lstReports.Items.Count - 1;

            //Set the saved report as the one that's displayed, so that
            //subsequent saves overwrite the settings.
            setDisplayedSettingsId(sr.Id.Value);
        }
    }
示例#5
0
        private GeneratedReportPart generateTrendReport(SavedReport savedReport)
        {
            RankChartGenerator  generator;
            RankChartParameters rcp;

            byte[] bytes;
            GeneratedReportPart grp;

            rcp = RankChartParameters.XmlDeserialize(savedReport.XmlData);

            generator = new RankChartGenerator(_db, rcp, savedReport.Name);
            bytes     = generator.GenerateChart();

            grp       = new GeneratedReportPart();
            grp.Bytes = bytes;

            return(grp);
        }
示例#6
0
    private void setCurrentParameters(RankChartParameters rcp, SavedReport savedReport)
    {
        overviewTab.DisplaySettings(savedReport);

        if (rcp != null)
        {
            //A couple of old reports might not have a range value, so we'll just use custom
            //for backwards compatibility
            if (rcp.DateRangeType == 0)
            {
                rcp.DateRangeType = DateRangeSelector.DateRanges.Custom;
            }

            overviewTab.DateSelector.SetTimeRange(rcp.StartTime, rcp.EndTime, rcp.DateRangeType);
            overviewTab.ChartSize = rcp.ChartSize;
            datasourceList.SetSelectedDatasources(rcp.Datasources);
            eventCategoryList.SetSelectedEventCategories(rcp.EventCategories);
        }
    }
示例#7
0
    private void renderReport()
    {
        RankChartGenerator  generator;
        RankChartParameters rcp;
        SavedReport         settings;

        settings = _db.ORManager.Get <SavedReport>(reportId);

        //Make sure the report is public
        if (!settings.PublicViewable)
        {
            return;
        }

        rcp = RankChartParameters.XmlDeserialize(settings.XmlData);

        generator = new RankChartGenerator(_db, rcp);
        generator.GenerateChart(Response);
    }
示例#8
0
    private void getCurrentParameters(out RankChartParameters parameters, out string reportName)
    {
        DateTime start, end;

        DateRangeSelector.DateRanges dateRangeType;

        parameters = new RankChartParameters();

        //Overview Tab
        overviewTab.DateSelector.GetTimeRange(out start, out end, out dateRangeType);
        parameters.DateRangeType = dateRangeType;
        parameters.StartTime     = start;
        parameters.EndTime       = end;
        parameters.ChartSize     = overviewTab.ChartSize;

        //Datasources tab
        parameters.Datasources = datasourceList.GetSelectedDatasources();

        //Events tab
        parameters.EventCategories = eventCategoryList.GetSelectedEventCategories();

        reportName = overviewTab.ReportName;
    }