示例#1
0
        protected override bool OnBubbleEvent(object source, EventArgs args)
        {
            var handled = false;

            if (args is RefreshGraphEventArgs)
            {
                UpdateChartLinkingButton();
                GraphInformation.RefreshData = true;
                handled = true;
            }

            if (args is ExportToExcelEventArgs)
            {
                GeneralParams.DynamicReportParametersControl.DateRangePickerControl.SetDates(true);

                var siteGroup  = int.Parse(GeneralParams.ExcelExportControl.SelectedGroupBySite);
                var fleetGroup = int.Parse(GeneralParams.ExcelExportControl.SelectedGroupByFleet);
                FutureTrendDataType futureTrendDataType;
                Enum.TryParse(GeneralParams.ReportTypeControl.SelectedForecastType.SelectedValue, out futureTrendDataType);

                var csvData = new StringBuilder();

                var constrained = futureTrendDataType == FutureTrendDataType.Constrained;
                csvData.Append(BenchMarkDataAccess.GetBenchmarkCsvData(GeneralParams.SelectedParameters, constrained, siteGroup, fleetGroup));

                Session["ExportData"]     = csvData.ToString();
                Session["ExportFileName"] = "BenchmarkExport";


                handled = true;
            }
            if (args is GraphLinkingEventArgs)
            {
                BenchmarkUpdateGraphLinkingText();
                upnlGeneralParameters.Update();
                GraphInformation.UsingCachedGraphingData = true;
            }

            return(handled);
        }
示例#2
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            GraphInformation.HasReportTypeChanged = GeneralParams.ReportTypeControl.HasReportTypeChanged;


            if (GraphInformation.RefreshData || GraphInformation.UsingCachedGraphingData)
            {
                FutureTrendDataType futureTrendDataType;
                Enum.TryParse(GeneralParams.ReportTypeControl.SelectedForecastType.SelectedValue, out futureTrendDataType);

                var constrained = futureTrendDataType == FutureTrendDataType.Constrained ? true : false;

                var refreshDataFromDatabase = false;

                if (constrained && SavedConstrainedSeriesData == null)
                {
                    refreshDataFromDatabase = true;
                }

                if (!constrained && SavedUnconstrainedSeriesData == null)
                {
                    refreshDataFromDatabase = true;
                }

                if (GraphInformation.HaveDatesChanged || GraphInformation.HaveDynamicParametersChanged)
                {
                    refreshDataFromDatabase      = true;
                    SavedConstrainedSeriesData   = null;
                    SavedUnconstrainedSeriesData = null;
                }

                if (refreshDataFromDatabase || GraphInformation.RefreshData)
                {
                    var seriesData = BenchMarkDataAccess.GetBenchMarkGraphingData(GeneralParams.SelectedParameters, constrained);

                    if (constrained)
                    {
                        SavedConstrainedSeriesData = seriesData;
                    }
                    else
                    {
                        SavedUnconstrainedSeriesData = seriesData;
                    }

                    GraphInformation.SeriesData = seriesData;
                    GraphInformation.DataDate   = ParameterDataAccess.GetLastDateFromCmsForecast();
                    GraphInformation.UsingCachedGraphingData = false;
                }
                else
                {
                    GraphInformation.UsingCachedGraphingData = true;
                    GraphInformation.SeriesData = constrained
                                  ? SavedConstrainedSeriesData
                                  : SavedUnconstrainedSeriesData;
                }

                GraphInformation.TitleAdditional = string.Format("{0}",
                                                                 GeneralParams.ReportTypeControl.SelectedForecastType.SelectedItem.Text);

                GraphInformation.CalculateYEntriesCount();
                GraphInformation.RefreshData = false;

                this.SetPreviousDates(GeneralParams);

                GraphInformation.HaveDynamicParametersChanged = false;
            }
        }