Exemple #1
0
        internal static List <GraphSeries> GetForecastGraphingData(Dictionary <string, string> parameters, DataType timeZone)
        {
            using (var dataContext = new MarsDBDataContext(MarsConnection.ConnectionString))
            {
                var rawData = timeZone == DataType.DailyChanging
                                      ? GenericSizingDataAccess.GetForecastRawData(parameters, dataContext)
                                      : GetFrozenZoneForecastRawData(parameters, dataContext);

                var groupedData = from rd in rawData
                                  group rd by new { RepDate = rd.ReportDate } into g
                orderby g.Key.RepDate ascending
                    select new ForecastGraphDataHolder
                {
                    ReportDate            = g.Key.RepDate,
                    CurrentOnRent         = g.Sum(d => d.OnRent),
                    OnRentLastYear        = g.Sum(d => d.OnRentLy),
                    ConstrainedForecast   = g.Sum(d => d.Constrained),
                    UnconstrainedForecast = g.Sum(d => d.Unconstrained),
                    Fleet                = g.Sum(d => d.Fleet),
                    AlreadyBooked        = g.Sum(d => d.AlreadyBooked),
                    OnRentTopDown        = g.Sum(d => d.TopDown),
                    OnRentBottomUpOne    = g.Sum(d => d.BottomUp1),
                    OnRentBottomUpTwo    = g.Sum(d => d.BottomUp2),
                    OnRentReconciliation = g.Sum(d => d.Reconciliation)
                };
                dataContext.Log = new DebugTextWriter();
                return(GetForecastSeriesData(groupedData, timeZone));
            }
        }
Exemple #2
0
        internal static string GetForecastExcelData(Dictionary <string, string> parameters, FutureTrendDataType dataType, int siteGroup, int fleetGroup, DataType timeZone)
        {
            using (var dataContext = new MarsDBDataContext(MarsConnection.ConnectionString))
            {
                var csvData = new StringBuilder();
                var rawData = timeZone == DataType.DailyChanging
                                  ? GenericSizingDataAccess.GetForecastRawData(parameters, dataContext)
                                  : GetFrozenZoneForecastRawData(parameters, dataContext);

                var fullDataSet = GetJoinedExcelData(dataContext, rawData);


                var orderedData = fullDataSet.GroupByMany(CsvExportMethods.GetGroupingColumns(siteGroup, fleetGroup)).OrderBy(d => d.Key);

                var keyList = new List <string>();
                foreach (var gr in orderedData)
                {
                    CheckSubGroup(gr, keyList, csvData);
                }
                return(csvData.ToString());
            }
        }