doc

Alphons van der Heijden <alphons@heijden.com> 6 Dec 2022, 10:28
3ac5cd5fd82c8f94d34c6a1eca1daa7b82076f7b
3 files changed
  • blob/OpenKamer4.png
  • src/OpenKamer.LogicControllers/Web/Fracties.cs
  • src/readme.md
diff --git a/blob/OpenKamer4.png b/blob/OpenKamer4.png
new file mode 100644
index 0000000..ae82c79
Binary files /dev/null and b/blob/OpenKamer4.png differ
diff --git a/src/OpenKamer.LogicControllers/Web/Fracties.cs b/src/OpenKamer.LogicControllers/Web/Fracties.cs
index bff39e0..7abda52 100644
--- a/src/OpenKamer.LogicControllers/Web/Fracties.cs
+++ b/src/OpenKamer.LogicControllers/Web/Fracties.cs
@@ -24,6 +24,9 @@ public partial class WebController : ControllerBase
stemmen: '$aantalStemmen',
}
},
+{
+ $sort: { 'zetels' : -1, stemmen:-1 }
+},
{ $skip: 0 },
{ $limit: 50 }
]";
diff --git a/src/readme.md b/src/readme.md
index eaa4191..9a0cefc 100644
--- a/src/readme.md
+++ b/src/readme.md
@@ -6,17 +6,86 @@ De XSD beschrijving is omgezet in C# classes, deze zijn te vinden onder OpenKame
Een FeedController zorgt voor het overhalen van de data files volgens https://gegevensmagazijn.tweedekamer.nl/SyncFeed/2.0/ om deze vervolgens lokaal op te slaan (cache) op een filesysteem.
-![pretty print colored](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer1.png)
+![FeedController](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer1.png)
Een EntityController leest de datafiles en slaat de Entiteiten op in een mongodb server.
-![pretty print colored](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer2.png)
+![EntityController](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer2.png)
Na het importeren zijn dit de collecties binnen MongoDB
-![pretty print colored](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer3.png)
+![MongDB Collections](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer3.png)
+Voorbeeld van een mongodb query:
+
+```json
+[
+ {
+ $match: { verwijderd: false, 'aantalZetels' : { $gt : 0 } }
+ },
+ {
+ $project:
+ {
+ _id: 0,
+ afkorting:1,
+ naam: '$naamNl',
+ zetels: '$aantalZetels',
+ stemmen: '$aantalStemmen',
+ }
+ },
+ {
+ $sort: { 'zetels' : -1, stemmen:-1 }
+ },
+ {
+ $skip: 0
+ },
+ {
+ $limit: 20
+ }
+]
+```
+Output (eerste 5):
+
+```json
+[
+ {
+ "afkorting": "VVD",
+ "naam": "Volkspartij voor Vrijheid en Democratie",
+ "zetels": 34,
+ "stemmen": 2279130
+ },
+ {
+ "afkorting": "D66",
+ "naam": "Democraten 66",
+ "zetels": 24,
+ "stemmen": 1565861
+ },
+ {
+ "afkorting": "PVV",
+ "naam": "Partij voor de Vrijheid",
+ "zetels": 17,
+ "stemmen": 1124482
+ },
+ {
+ "afkorting": "CDA",
+ "naam": "Christen-Democratisch App�l",
+ "zetels": 14,
+ "stemmen": 990601
+ },
+ {
+ "afkorting": "SP",
+ "naam": "Socialistische Partij",
+ "zetels": 9,
+ "stemmen": 623371
+ }
+]
+
+```
Als proof-of-concept is een windows en een webinterface beschikbaar waarbij beschikbare data kan worden opgevraagd.
+Voorbeeld fractieType:
+
+![Fracties](https://raw.githubusercontent.com/alphons/OpenDataPortaal/master/blob/OpenKamer4.png)
+