Пример #1
0
        protected override bool OnBubbleEvent(object source, EventArgs args)
        {
            var handled = false;

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

            if (args is ExportToExcelEventArgs)
            {
                GeneralParams.DynamicReportParametersControl.DateRangePickerControl.SetDates(false);
                var siteGroup  = GeneralParams.ExcelExportControl.SelectedGroupBySite;
                var fleetGroup = GeneralParams.ExcelExportControl.SelectedGroupByFleet;

                DataType            selectedTimeZoneType;
                FutureTrendDataType futureTrendDataType;
                Enum.TryParse(GeneralParams.ReportTypeControl.SelectedTimeZone.SelectedValue, out selectedTimeZoneType);
                Enum.TryParse(GeneralParams.ReportTypeControl.SelectedForecastType.SelectedValue, out futureTrendDataType);
                var scenarioId = int.Parse(GeneralParams.ReportTypeControl.SelectedScenario.SelectedValue);
                GeneralParams.DynamicReportParametersControl.DateRangePickerControl.SetDates(selectedTimeZoneType == DataType.FrozenZone);

                var intervalType = ccSuplyAnalysis.GetIntervalType();


                Session["ExportData"] = SupplyAnalysisDataAccess.GetSupplyAnalysisExcelData(GeneralParams.SelectedParameters,
                                                                                            futureTrendDataType, scenarioId, int.Parse(siteGroup),
                                                                                            int.Parse(fleetGroup), selectedTimeZoneType
                                                                                            , intervalType == DateTimeIntervalType.Weeks);
                Session["ExportFileName"] = "SupplyAnalysisExport";

                handled = true;
            }

            if (args is GraphLinkingEventArgs)
            {
                var datePickerControl = GeneralParams.DynamicReportParametersControl.DateRangePickerControl;
                var reportTypeControl = GeneralParams.ReportTypeControl;
                Session["FutureTrendSupplyAnalysisDynamicParams"] = GraphInformation.ReportParameters;
                var transferParameterData = new FutureTrendSupplyAnalysisTransfer()
                {
                    DateRangeSelectedIndex = datePickerControl.DateRangeControl.SelectedIndex,
                    FromDate = datePickerControl.FromDate,
                    ToDate   = datePickerControl.ToDate,
                    FleetPlanSelectedIndex    = reportTypeControl.SelectedScenario.SelectedIndex,
                    ForecastTypeSelectedIndex = reportTypeControl.SelectedForecastType.SelectedIndex,
                    TimeZoneSelectedIndex     = reportTypeControl.SelectedTimeZone.SelectedIndex
                };
                Session["FutureTrendSupplyAnalysisStaticParams"] = transferParameterData;
                Session["ControlRibbonTitle"] = LocalizedReportPages.FutureTrendReportName;
                Response.Redirect(((GraphLinkingEventArgs)args).LinkingPage, true);
            }

            return(handled);
        }
Пример #2
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            DataType selectedTimeZoneType;

            Enum.TryParse(GeneralParams.ReportTypeControl.SelectedTimeZone.SelectedValue, out selectedTimeZoneType);

            var frozenZoneSelected = selectedTimeZoneType == DataType.FrozenZone;

            GeneralParams.DynamicReportParametersControl.DateRangePickerControl.ShowThisWeekAndNextWeekInDropdown = frozenZoneSelected;
            GeneralParams.DynamicReportParametersControl.DateRangePickerControl.SetDates(frozenZoneSelected);

            if (GraphInformation.RefreshData)
            {
                var scenarioId = int.Parse(GeneralParams.ReportTypeControl.SelectedScenario.SelectedValue);

                FutureTrendDataType futureTrendDataType;
                Enum.TryParse(GeneralParams.ReportTypeControl.SelectedForecastType.SelectedValue, out futureTrendDataType);

                var seriesData = SupplyAnalysisDataAccess.GetSupplyAnalysisData(GeneralParams.SelectedParameters, futureTrendDataType,
                                                                                scenarioId, selectedTimeZoneType);


                GraphInformation.WeeklySeriesData = seriesData.Where(d => d.SeriesName == "Weekly Minimum Supply").ToList();
                seriesData.RemoveAll(d => d.SeriesName == "Weekly Minimum Supply");

                GraphInformation.DataDate = ParameterDataAccess.GetLastDateFromCmsForecast();

                GraphInformation.TitleAdditional = string.Format("{0}  -  {1}  -  {2}",
                                                                 GeneralParams.ReportTypeControl.SelectedTimeZone.SelectedItem.Text,
                                                                 GeneralParams.ReportTypeControl.SelectedForecastType.SelectedItem.Text,
                                                                 GeneralParams.ReportTypeControl.SelectedScenario.SelectedItem.Text);

                GraphInformation.SeriesData = seriesData;

                GraphInformation.CalculateYEntriesCount();


                GraphInformation.RefreshData = false;
            }
            var intervalType = ccSuplyAnalysis.GetIntervalType();

            GraphInformation.UseWeeklyData = intervalType == DateTimeIntervalType.Weeks;
            GraphInformation.IsXValueDate  = !GraphInformation.UseWeeklyData;
        }