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