3
private void processColumns(
boolean mainGraphs, GraphRequestData grd, Set graphNames, Set defaultGraphName,
Map periodToRowForAvgCalculation, EventStatsRow row, LocalDate today,
CompanyGraphData resultRow, StatisticsResponseDto statResult, LocalDate rowDate,
GraphData calcData, BiFunction periodMinusFunc,
Map graphNameToPartialPeriods, int daysInPeriod, Set otherGraphNamesToCheck,
DateRangeOptionsDto dateRangeOptionsDto) {
Set types = mainGraphs ? grd.getMainTypes() : grd.getOtherTypes();
for (PackType type : types) {
switch (type) {
case CPI ->
processCpiColumn(grd, graphNames, defaultGraphName, row, today, resultRow,
rowDate, calcData, periodMinusFunc, graphNameToPartialPeriods, kpiType);
case RR ->
processRrColumn(grd, graphNames, defaultGraphName, periodToRowForAvgCalculation, row, today,
resultRow, statResult, rowDate, calcData, periodMinusFunc, graphNameToPartialPeriods, daysInPeriod, kpiType,
appEventCohortDays, dateRangeOptionsDto);
case ROAS ->
processRoasColumn(grd, graphNames, defaultGraphName, periodToRowForAvgCalculation, row, today, resultRow,
statResult, rowDate, calcData, periodMinusFunc, graphNameToPartialPeriods, daysInPeriod, kpiType, appEventCohortDays,
dateRangeOptionsDto);
case CVR ->
processCvrColumn(grd, graphNames, defaultGraphName, periodToRowForAvgCalculation, row, today, resultRow,
statResult, rowDate, calcData, periodMinusFunc, graphNameToPartialPeriods, daysInPeriod, kpiType, dynamicCohortDays,
otherGraphNamesToCheck, dateRangeOptionsDto);
case Cost ->
processCostColumn(grd, graphNames, defaultGraphName, periodToRowForAvgCalculation, row, today, resultRow,
statResult, rowDate, calcData, periodMinusFunc, graphNameToPartialPeriods, daysInPeriod, kpiType, dynamicCohortDays,
otherGraphNamesToCheck, dateRangeOptionsDto);
case CPA ->
processCPAColumn(grd, graphNames, defaultGraphName, periodToRowForAvgCalculation, row, today, resultRow, statResult,
rowDate, calcData, periodMinusFunc, graphNameToPartialPeriods, daysInPeriod, kpiType, dateRangeOptionsDto);
}
}