Files
eatvio_app/lib/features/plans/enums/chosen_plan_state_enum.dart

75 lines
2.1 KiB
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
enum ChosenPlanStateEnum {
@JsonValue('initied')
stateInited,
@JsonValue('start_date_has_been_set')
stateStartDateHasBeenSet,
@JsonValue('in_coordination')
stateInCoordination,
@JsonValue('started')
stateStarted,
@JsonValue('in_progress')
stateInProgress,
@JsonValue('pending_payment')
statePendingPayment,
@JsonValue('confirmed_by_consultant')
stateConfirmedByConsultant,
@JsonValue('paid')
statePaid,
@JsonValue('canceled_by_the_initiator')
stateCanceledByTheInitiator,
@JsonValue('last_day_started')
stateLastDayStarted,
@JsonValue('last_day_finished')
stateLastDayFinished,
@JsonValue('complained')
stateComplained,
@JsonValue('done')
stateDone,
@JsonValue('personal_diet_setted')
personalDietSet,
@JsonValue('charge_was_collected')
stateChargeWasCollected;
static List<ChosenPlanStateEnum> getShowableChatBadgeStates() {
return [
ChosenPlanStateEnum.stateInCoordination,
ChosenPlanStateEnum.stateStartDateHasBeenSet,
ChosenPlanStateEnum.statePendingPayment,
ChosenPlanStateEnum.statePaid,
ChosenPlanStateEnum.stateLastDayStarted,
ChosenPlanStateEnum.stateLastDayFinished,
ChosenPlanStateEnum.stateDone,
ChosenPlanStateEnum.stateInProgress,
ChosenPlanStateEnum.personalDietSet,
];
}
bool isStateAfterPaidState() {
switch (this) {
case ChosenPlanStateEnum.stateCanceledByTheInitiator:
case ChosenPlanStateEnum.stateInited:
case ChosenPlanStateEnum.stateInCoordination:
case ChosenPlanStateEnum.stateStartDateHasBeenSet:
case ChosenPlanStateEnum.statePendingPayment:
return false;
default:
return true;
}
}
static List<ChosenPlanStateEnum> getActiveStates() {
return [
ChosenPlanStateEnum.statePaid,
ChosenPlanStateEnum.stateStarted,
ChosenPlanStateEnum.stateInProgress,
ChosenPlanStateEnum.stateLastDayStarted,
ChosenPlanStateEnum.stateLastDayFinished,
ChosenPlanStateEnum.stateComplained,
ChosenPlanStateEnum.stateDone,
ChosenPlanStateEnum.personalDietSet
];
}
}