private static string GenerateExcelDataFromRaw(MarsDBDataContext dataContext, IQueryable <FutureTrendOrSupplyAnalysisRawDataHolder> joinedRawData,
                                                       int siteGroup, int fleetGroup, FutureTrendDataType dataType, bool weeklyGrouping)
        {
            var csvData = new StringBuilder();


            var fullDataSet = GetJoinedExcelRawData(dataContext, joinedRawData, dataType);


            csvData.Append(CsvExportMethods.GetExportHeaders(siteGroup, fleetGroup, weeklyGrouping));
            csvData.Append(weeklyGrouping
                               ? string.Format("{0}\n", CsvExportHeaders.MinWeeklyDifference)
                               : string.Format("{0},{1},{2}\n", CsvExportHeaders.NessesaryFleet,
                                               CsvExportHeaders.ExpectedFleet, CsvExportHeaders.Difference));


            if (weeklyGrouping)
            {
                fullDataSet = fullDataSet.OrderBy(d => d.Week);
            }

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

            var keyList = new List <string>();

            foreach (var gr in orderedData)
            {
                CheckSubGroup(gr, keyList, csvData, weeklyGrouping);
            }
            return(csvData.ToString());
        }
        private static string GenerateExcelDataFromRaw(MarsDBDataContext dataContext, IQueryable <AdditionDeletionRawDataHolder> joinedRawData,
                                                       int siteGroup, int fleetGroup, bool isAddition)
        {
            var csvData = new StringBuilder();

            var fullDataSet = GetJoinedExcelRawData(dataContext, joinedRawData);

            csvData.Append(CsvExportMethods.GetExportHeaders(siteGroup, fleetGroup, false, true));
            csvData.Append(string.Format("{0}\n", isAddition ? CsvExportHeaders.Addition : CsvExportHeaders.Deletion));

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

            var keyList = new List <string>();

            foreach (var gr in orderedData)
            {
                CheckSubGroup(gr, keyList, csvData);
            }
            return(csvData.ToString());
        }
Esempio n. 3
0
        internal static string GetBenchmarkCsvData(Dictionary <string, string> parameters, bool constrainedForecast, int siteGroup, int fleetGroup)
        {
            using (var dataContext = new MarsDBDataContext(MarsConnection.ConnectionString))
            {
                var restrictedData = GenericSizingDataAccess.GetBenchmarkRawData(parameters, dataContext);

                var fullDataSet = GetJoinedExcelData(dataContext, restrictedData, constrainedForecast);
                var csvData     = new StringBuilder();

                csvData.Append(GeForecastCsvHeader(siteGroup, fleetGroup, constrainedForecast));

                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());
            }
        }
Esempio n. 4
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());
            }
        }
Esempio n. 5
0
        private static string GenerateExcelDataFromRaw(MarsDBDataContext dataContext, IQueryable <FutureTrendOrSupplyAnalysisRawDataHolder> joinedRawData,
                                                       int siteGroup, int fleetGroup, FutureTrendDataType dataType)
        {
            var csvData = new StringBuilder();

            var fullDataSet = GetJoinedExcelRawData(dataContext, joinedRawData, dataType);


            var forecastHeader = string.Empty;

            switch (dataType)
            {
            case FutureTrendDataType.Constrained:
                forecastHeader = CsvExportHeaders.Constrained;
                break;

            case FutureTrendDataType.Unconstrained:
                forecastHeader = CsvExportHeaders.Unconstrained;
                break;

            case FutureTrendDataType.AlreadyBooked:
                forecastHeader = CsvExportHeaders.AlreadyBooked;
                break;
            }

            csvData.Append(CsvExportMethods.GetExportHeaders(siteGroup, fleetGroup));
            csvData.Append(string.Format("{0},{1},{2}\n", forecastHeader, CsvExportHeaders.NessesaryFleet, CsvExportHeaders.ExpectedFleet));

            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());
        }