Enum
enum SimulatorItemPeriodicity {
MONTHLY
ONE_SHOT
}
enum SimulatorItemOccurence {
ONE_TIME
TWO_TIME
THREE_TIME
FOUR_TIME
FIVE_TIME
}Static data types
class SimulatorSessionItemType {
final SimulatorCategory category;
final TagTheme? tagTheme;
final String label;
final int priorty;
final String reference;
final int? numbeoItemId;
}Suggested value
Récupération de la suggested value : Si le Type contient un numbeoItemId -> aller chercher dans les Index (averageValue) du pays associé au contexte de la simulation.
Models sent to Riverpod
class SimulatorSessionViewModel {
final int? hiveKey;
final String name;
final String destinationCountryId;
final double duration;
final bool isMainSimulation;
final double totalResourcesAmount;
final double totalCostsAmount;
final double remainingCostAmount;
final double confidence;
}
class SimulationSessionDetailsViewModel extends SimulatorSessionViewModel {
final Map<SimulatorCategory, SimulationSessionDetailsGroupViewModel> groups;
}
class SimulationSessionDetailsGroupViewModel {
// Key of this map: priority
final Map<int, List<SimulatorSessionItemViewModel>> items;
final int groupTotalAmount;
final double groupConfidence;
}
class SimulatorSessionItemViewModel {
final int? hiveKey;
final SimulatorSessionItemType type;
final double? amount;
final double? suggestedValue;
final SimulatorItemPeriodicity periodicity;
final SimulatorItemOccurence? occurence;
}