getMaxValueFromCowData method Null safety
- {required List<
CowData> ? cowDatas, - required ActionType action}
소 데이터에서 최대값을 가져옵니다. 개체현황 그래프 표현시 최대 범위를 표현하기 위해 사용합니다.
Implementation
double getMaxValueFromCowData({required List<CowData>? cowDatas, required ActionType action}) {
List<double> tmp = [];
if (cowDatas == null) return 0;
for (CowData cowData in cowDatas) {
for (CowDataDay cowDataDay in cowData.data) {
for (CowDataHour cowDataHour in cowDataDay.cowDataHour) {
switch (action) {
case ActionType.eating:
tmp.add(cowDataHour.eating.value);
break;
case ActionType.ruminant:
tmp.add(cowDataHour.ruminant.value);
break;
case ActionType.drinking:
tmp.add(cowDataHour.drinking.value);
break;
case ActionType.sitting:
tmp.add(cowDataHour.sitting.value);
break;
case ActionType.standing:
tmp.add(cowDataHour.standing.value);
break;
case ActionType.lactation:
tmp.add(cowDataHour.lactation.value);
break;
case ActionType.heading:
tmp.add(cowDataHour.heading.value);
break;
case ActionType.activity:
tmp.add(cowDataHour.activity.value);
break;
case ActionType.sittingStanding:
case ActionType.cough:
tmp.add(cowDataHour.cough.value);
break;
case ActionType.impulse:
case ActionType.irregularSittingStanding:
case ActionType.standingFail:
case ActionType.doridori:
break;
}
}
}
}
return tmp.isEmpty ? 0 : tmp.reduce((curr, next) => curr > next ? curr : next);
}