forked from eatvio/eatvio_app
59 lines
1.6 KiB
Dart
59 lines
1.6 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('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,
|
|
];
|
|
}
|
|
|
|
bool isStateAfterPaidState() {
|
|
switch (this) {
|
|
case ChosenPlanStateEnum.stateCanceledByTheInitiator:
|
|
case ChosenPlanStateEnum.stateInited:
|
|
case ChosenPlanStateEnum.stateInCoordination:
|
|
case ChosenPlanStateEnum.stateStartDateHasBeenSet:
|
|
case ChosenPlanStateEnum.statePendingPayment:
|
|
return false;
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
}
|