It's easy to change the order of the StateEnum items and this will break a few things, e.g. user will have a different state selected. Instead we should use:
int toFirestoreIndex() {
return switch (this) {
StateEnum.badenWuerttemberg => 0,
StateEnum.bayern => 1,
StateEnum.berlin => 2,
StateEnum.brandenburg => 3,
StateEnum.bremen => 4,
StateEnum.hamburg => 5,
StateEnum.hessen => 6,
StateEnum.mecklenburgVorpommern => 7,
StateEnum.niedersachsen => 8,
StateEnum.nordrheinWestfalen => 9,
StateEnum.rheinlandPfalz => 10,
StateEnum.saarland => 11,
StateEnum.sachsen => 12,
StateEnum.sachsenAnhalt => 13,
StateEnum.schleswigHolstein => 14,
StateEnum.thueringen => 15,
StateEnum.notFromGermany => 16,
StateEnum.anonymous => 17,
StateEnum.notSelected => 18,
StateEnum.burgenland => 19,
StateEnum.kaernten => 20,
StateEnum.niederoesterreich => 21,
StateEnum.oberoesterreich => 22,
StateEnum.salzburg => 23,
StateEnum.steiermark => 24,
StateEnum.tirol => 25,
StateEnum.vorarlberg => 26,
StateEnum.wien => 27,
StateEnum.aargau => 28,
StateEnum.appenzellAusserrhoden => 29,
StateEnum.appenzellInnerrhoden => 30,
StateEnum.baselLandschaft => 31,
StateEnum.baselStadt => 32,
StateEnum.bern => 33,
StateEnum.fribourg => 34,
StateEnum.geneva => 35,
StateEnum.glarus => 36,
StateEnum.graubuenden => 37,
StateEnum.jura => 38,
StateEnum.luzern => 39,
StateEnum.neuchatel => 40,
StateEnum.nidwalden => 41,
StateEnum.obwalden => 42,
StateEnum.schaffhausen => 43,
StateEnum.schwyz => 44,
StateEnum.solothurn => 45,
StateEnum.stGallen => 46,
StateEnum.thurgau => 47,
StateEnum.ticino => 48,
StateEnum.uri => 49,
StateEnum.valais => 50,
StateEnum.vaud => 51,
StateEnum.zug => 52,
StateEnum.zurich => 53,
};
}
static StateEnum fromFirestoreIndex(int index) {
return switch (index) {
0 => StateEnum.badenWuerttemberg,
1 => StateEnum.bayern,
2 => StateEnum.berlin,
3 => StateEnum.brandenburg,
4 => StateEnum.bremen,
5 => StateEnum.hamburg,
6 => StateEnum.hessen,
7 => StateEnum.mecklenburgVorpommern,
8 => StateEnum.niedersachsen,
9 => StateEnum.nordrheinWestfalen,
10 => StateEnum.rheinlandPfalz,
11 => StateEnum.saarland,
12 => StateEnum.sachsen,
13 => StateEnum.sachsenAnhalt,
14 => StateEnum.schleswigHolstein,
15 => StateEnum.thueringen,
16 => StateEnum.notFromGermany,
17 => StateEnum.anonymous,
18 => StateEnum.notSelected,
19 => StateEnum.burgenland,
20 => StateEnum.kaernten,
21 => StateEnum.niederoesterreich,
22 => StateEnum.oberoesterreich,
23 => StateEnum.salzburg,
24 => StateEnum.steiermark,
25 => StateEnum.tirol,
26 => StateEnum.vorarlberg,
27 => StateEnum.wien,
28 => StateEnum.aargau,
29 => StateEnum.appenzellAusserrhoden,
30 => StateEnum.appenzellInnerrhoden,
31 => StateEnum.baselLandschaft,
32 => StateEnum.baselStadt,
33 => StateEnum.bern,
34 => StateEnum.fribourg,
35 => StateEnum.geneva,
36 => StateEnum.glarus,
37 => StateEnum.graubuenden,
38 => StateEnum.jura,
39 => StateEnum.luzern,
40 => StateEnum.neuchatel,
41 => StateEnum.nidwalden,
42 => StateEnum.obwalden,
43 => StateEnum.schaffhausen,
44 => StateEnum.schwyz,
45 => StateEnum.solothurn,
46 => StateEnum.stGallen,
47 => StateEnum.thurgau,
48 => StateEnum.ticino,
49 => StateEnum.uri,
50 => StateEnum.valais,
51 => StateEnum.vaud,
52 => StateEnum.zug,
53 => StateEnum.zurich,
_ => StateEnum.notSelected,
};
}
It's easy to change the order of the StateEnum items and this will break a few things, e.g. user will have a different state selected. Instead we should use: