diff --git a/Architecture view for eSuite.graphml b/Architecture view for eSuite.graphml
new file mode 100644
index 0000000..3d1ff08
--- /dev/null
+++ b/Architecture view for eSuite.graphml
@@ -0,0 +1,4126 @@
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/e-suite.API.Common/e-suite.API.Common.UnitTests/ValidateUnitTests.cs b/e-suite.API.Common/e-suite.API.Common.UnitTests/ValidateUnitTests.cs
index c5b7f8e..d4c548c 100644
--- a/e-suite.API.Common/e-suite.API.Common.UnitTests/ValidateUnitTests.cs
+++ b/e-suite.API.Common/e-suite.API.Common.UnitTests/ValidateUnitTests.cs
@@ -4,7 +4,7 @@ using eSuite.Core.Miscellaneous;
using eSuite.Core.Sequences;
using NUnit.Framework;
-namespace SequenceManager.UnitTests;
+namespace e_suite.API.Common.UnitTests;
[TestFixture]
public class ValidateUnitTests
diff --git a/e-suite.API.Common/e-suite.API.Common/extensions/ObjectExtensions.cs b/e-suite.API.Common/e-suite.API.Common/extensions/ObjectExtensions.cs
index 9476c7b..c804143 100644
--- a/e-suite.API.Common/e-suite.API.Common/extensions/ObjectExtensions.cs
+++ b/e-suite.API.Common/e-suite.API.Common/extensions/ObjectExtensions.cs
@@ -1,5 +1,5 @@
#pragma warning disable IDE0130 // Namespace does not match folder structure
-namespace System;
+namespace e_suite.API.Common.extensions;
#pragma warning restore IDE0130 // Namespace does not match folder structure
public static class ObjectExtensions
@@ -7,7 +7,7 @@ public static class ObjectExtensions
public static T DeepClone(this T obj)
{
using var stream = new MemoryStream();
- var serializer = new Xml.Serialization.XmlSerializer(typeof(T));
+ var serializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
serializer.Serialize(stream, obj);
stream.Position = 0;
diff --git a/e-suite.API.Common/e-suite.API.Common/models/EditFormInstance.cs b/e-suite.API.Common/e-suite.API.Common/models/EditFormInstance.cs
index ff00f47..df91851 100644
--- a/e-suite.API.Common/e-suite.API.Common/models/EditFormInstance.cs
+++ b/e-suite.API.Common/e-suite.API.Common/models/EditFormInstance.cs
@@ -1,4 +1,5 @@
using System.Text.Json.Serialization;
+using e_suite.API.Common.extensions;
using e_suite.Database.Core.Extensions;
using eSuite.Core.Miscellaneous;
diff --git a/e-suite.API.Common/e-suite.API.Common/models/PerformanceReportSummary.cs b/e-suite.API.Common/e-suite.API.Common/models/PerformanceReportSummary.cs
index da01744..16e52e4 100644
--- a/e-suite.API.Common/e-suite.API.Common/models/PerformanceReportSummary.cs
+++ b/e-suite.API.Common/e-suite.API.Common/models/PerformanceReportSummary.cs
@@ -2,13 +2,13 @@
public class PerformanceReportSummary
{
- public long MaxTotalTimeMS;
- public string Host { get; set; }
- public string ControllerName { get; set; }
- public string ActionName { get; set; }
- public string RequestType { get; set; }
- public object MinTotalTimeMs { get; set; }
- public object AvgTotalTimeMs { get; set; }
- public object SumTotalTimeMs { get; set; }
- public object Count { get; set; }
+ public long MaxTotalTimeMs;
+ public string Host { get; set; } = string.Empty;
+ public string ControllerName { get; set; } = string.Empty;
+ public string ActionName { get; set; } = string.Empty;
+ public string RequestType { get; set; } = string.Empty;
+ public long MinTotalTimeMs { get; set; }
+ public double AvgTotalTimeMs { get; set; }
+ public long SumTotalTimeMs { get; set; }
+ public long Count { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.API/e-suite.Database.Migrator/appsettings.json b/e-suite.API/e-suite.Database.Migrator/appsettings.json
index 4d56694..b4044e8 100644
--- a/e-suite.API/e-suite.Database.Migrator/appsettings.json
+++ b/e-suite.API/e-suite.Database.Migrator/appsettings.json
@@ -5,5 +5,10 @@
"Microsoft.AspNetCore": "Warning"
}
},
- "AllowedHosts": "*"
+ "AllowedHosts": "*",
+ "Modules": [
+ "e-suite.API.Common.dll",
+ "e-suite.Database.Audit.dll",
+ "e-suite.Database.SqlServer.dll"
+ ]
}
diff --git a/e-suite.API/eSuite.API/Controllers/InternalMessagingController.cs b/e-suite.API/eSuite.API/Controllers/InternalMessagingController.cs
index b7664a9..184221b 100644
--- a/e-suite.API/eSuite.API/Controllers/InternalMessagingController.cs
+++ b/e-suite.API/eSuite.API/Controllers/InternalMessagingController.cs
@@ -133,7 +133,7 @@ public class InternalMessagingController : ESuiteControllerBase
[Route("PostSyncEFlowPrinterCategories")]
[HttpPost]
[ProducesResponseType(StatusCodes.Status200OK)]
- [AccessKey(SecurityAccess.SyncEFlowPrinterCategories)] //todo change this.
+ [AccessKey(SecurityAccess.SyncEFlowPrinterCategories)]
#pragma warning disable IDE0060 // Remove unused parameter
public Task SyncEFlowPrinterCategories(CancellationToken cancellationToken)
#pragma warning restore IDE0060 // Remove unused parameter
diff --git a/e-suite.API/eSuite.API/DependencyInjection/CoreRegistrationModule.cs b/e-suite.API/eSuite.API/DependencyInjection/CoreRegistrationModule.cs
index c15366a..ff74259 100644
--- a/e-suite.API/eSuite.API/DependencyInjection/CoreRegistrationModule.cs
+++ b/e-suite.API/eSuite.API/DependencyInjection/CoreRegistrationModule.cs
@@ -1,4 +1,5 @@
using Autofac;
+using e_suite.DependencyInjection;
using eSuite.API.SingleSignOn;
using eSuite.Core.Clock;
@@ -7,7 +8,7 @@ namespace eSuite.API.DependencyInjection;
///
/// Used as the primary location for IOC type registration for e-suite.
///
-internal class CoreRegistrationModule : Module
+internal class CoreRegistrationModule : ESuiteModule
{
///
/// Use the builder to register all the types and interfaces that the API requires to operate properly.
@@ -15,31 +16,33 @@ internal class CoreRegistrationModule : Module
///
protected override void Load(ContainerBuilder builder)
{
- builder.RegisterType().As().SingleInstance();
+ base.Load(builder);
+
+ //builder.RegisterType().As().SingleInstance();
builder.RegisterType().As();
builder.RegisterType().As();
builder.RegisterType().As();
- e_suite.Service.Mail.IocRegistration.RegisterTypes(builder);
- e_suite.Service.Sentinel.IocRegistration.RegisterTypes(builder);
+ //e_suite.Service.Mail.IocRegistration.RegisterTypes(builder);
+ //e_suite.Service.Sentinel.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
- e_suite.Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.FormsManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.UserManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.AuditLog.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.DomainManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.MailTemplatesManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.RoleManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.SiteManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.BlockedIPsManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
- e_suite.Modules.SSOManager.IocRegistration.RegisterTypes(builder);
-
- e_suite.Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
+ //e_suite.Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.FormsManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.UserManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.AuditLog.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.DomainManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.MailTemplatesManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.RoleManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.SiteManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.BlockedIPsManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
+ //e_suite.Modules.SSOManager.IocRegistration.RegisterTypes(builder);
+
+ //e_suite.Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
}
}
\ No newline at end of file
diff --git a/e-suite.API/eSuite.API/appsettings.json b/e-suite.API/eSuite.API/appsettings.json
index d2ba82f..db8b5f8 100644
--- a/e-suite.API/eSuite.API/appsettings.json
+++ b/e-suite.API/eSuite.API/appsettings.json
@@ -16,5 +16,29 @@
}
}
},
- "AllowedHosts": "*"
+ "AllowedHosts": "*",
+ "Modules": [
+ "e-suite.API.Common.dll",
+ "e-suite.Database.Audit.dll",
+ "e-suite.Database.SqlServer.dll",
+ "e-suite.Modules.BlockedIPsManager.dll",
+ "e-suite.Messaging.Common.dll",
+ "e-suite.Modules.AuditLog.dll",
+ "e-suite.Modules.CustomFieldsManager.dll",
+ "e-suite.Modules.DomainManager.dll",
+ "e-suite.Modules.ExceptionLogManager.dll",
+ "e-suite.Modules.FormsManager.dll",
+ "e-suite.Modules.GlossariesManager.dll",
+ "e-suite.Modules.MailTemplatesManager.dll",
+ "e-suite.Modules.OrganisationsManager.dll",
+ "e-suite.Modules.RoleManager.dll",
+ "e-suite.Modules.SequenceManager.dll",
+ "e-suite.Modules.SiteManager.dll",
+ "e-suite.Modules.SpecificationManager.dll",
+ "e-suite.Modules.SSOManager.dll",
+ "e-suite.Modules.UserManager.dll",
+ "e-suite.Service.CustomFieldValidation.dll",
+ "e-suite.Service.Mail.dll",
+ "e-suite.Service.Sentinel.dll",
+ ]
}
\ No newline at end of file
diff --git a/e-suite.API/eSuite.API/eSuite.API.csproj b/e-suite.API/eSuite.API/eSuite.API.csproj
index 71b9595..8976bc9 100644
--- a/e-suite.API/eSuite.API/eSuite.API.csproj
+++ b/e-suite.API/eSuite.API/eSuite.API.csproj
@@ -43,6 +43,7 @@
+
diff --git a/e-suite.Database.Core/e-suite.Database.Core/Tables/Workflow/WorkflowVersion.cs b/e-suite.Database.Core/e-suite.Database.Core/Tables/Workflow/WorkflowVersion.cs
index 5bb6a60..2e8f333 100644
--- a/e-suite.Database.Core/e-suite.Database.Core/Tables/Workflow/WorkflowVersion.cs
+++ b/e-suite.Database.Core/e-suite.Database.Core/Tables/Workflow/WorkflowVersion.cs
@@ -5,6 +5,7 @@ using System.Text.Json;
using e_suite.Database.Audit.Attributes;
using e_suite.Database.Core.Models;
using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.ChangeTracking;
namespace e_suite.Database.Core.Tables.Workflow;
@@ -35,7 +36,7 @@ public class WorkflowVersion : IGeneralId, ISoftDeletable
[Required]
public string Description { get; set; } = string.Empty;
- public List Tasks { get; set; } = new();
+ public List Tasks { get; set; } = [];
[AuditSoftDelete(true)]
[Required]
@@ -62,11 +63,18 @@ public class WorkflowVersion : IGeneralId, ISoftDeletable
public static void OnModelCreating(ModelBuilder modelBuilder)
{
+ var comparer = new ValueComparer>(
+ (a, b) => a != null && b != null && a.SequenceEqual(b),
+ v => v.Aggregate(0, (hash, item) => HashCode.Combine(hash, item.GetHashCode())),
+ v => v.Select(item => item).ToList()
+ );
+
modelBuilder.Entity()
.Property(w => w.Tasks)
.HasConversion(
v => JsonSerializer.Serialize(v, JsonOptions),
- v => JsonSerializer.Deserialize>(v, JsonOptions)
- );
+ v => JsonSerializer.Deserialize>(v, JsonOptions) ?? new List()
+ )
+ .Metadata.SetValueComparer(comparer);
}
}
\ No newline at end of file
diff --git a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/DependencyInjection/CoreRegistrationModule.cs b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/DependencyInjection/CoreRegistrationModule.cs
index ac5ce26..05326f2 100644
--- a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/DependencyInjection/CoreRegistrationModule.cs
+++ b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/DependencyInjection/CoreRegistrationModule.cs
@@ -1,14 +1,14 @@
using Autofac;
using e_suite.Database.Core;
using e_suite.Database.SqlServer;
-using eSuite.Core.Clock;
+using e_suite.DependencyInjection;
-namespace eSuite.API.DependencyInjection;
+namespace e_suite.Database.MigrationBuilder.DependencyInjection;
///
/// Used as a the primary location for IOC type registration for e-suite.
///
-internal class CoreRegistrationModule : Module
+internal class CoreRegistrationModule : ESuiteModule
{
///
/// Use the builder to register all the types and interfaces that the API requires to operate properly.
@@ -16,7 +16,9 @@ internal class CoreRegistrationModule : Module
///
protected override void Load(ContainerBuilder builder)
{
+ base.Load(builder);
+
builder.RegisterType().As().InstancePerLifetimeScope();
- builder.RegisterType().As().SingleInstance();
+ //builder.RegisterType().As().SingleInstance();
}
}
\ No newline at end of file
diff --git a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/Program.cs b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/Program.cs
index c42ec78..4fb02aa 100644
--- a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/Program.cs
+++ b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/Program.cs
@@ -1,7 +1,7 @@
using Autofac;
using Autofac.Extensions.DependencyInjection;
+using e_suite.Database.MigrationBuilder.DependencyInjection;
using e_suite.Database.SqlServer;
-using eSuite.API.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
diff --git a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj
index 3ec7e39..ef728a5 100644
--- a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj
+++ b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj
@@ -18,6 +18,7 @@
+
diff --git a/e-suite.DependencyInjection/ESuiteIocRegistration.cs b/e-suite.DependencyInjection/ESuiteIocRegistration.cs
new file mode 100644
index 0000000..4df6af1
--- /dev/null
+++ b/e-suite.DependencyInjection/ESuiteIocRegistration.cs
@@ -0,0 +1,8 @@
+using Autofac;
+
+namespace e_suite.DependencyInjection;
+
+public interface IIocRegistration
+{
+ void RegisterTypes(ContainerBuilder builder);
+}
\ No newline at end of file
diff --git a/e-suite.DependencyInjection/ESuiteModule.cs b/e-suite.DependencyInjection/ESuiteModule.cs
new file mode 100644
index 0000000..f130abb
--- /dev/null
+++ b/e-suite.DependencyInjection/ESuiteModule.cs
@@ -0,0 +1,59 @@
+using Autofac;
+using eSuite.Core.Clock;
+using Microsoft.Extensions.Configuration;
+
+using System.Reflection;
+
+namespace e_suite.DependencyInjection;
+
+public sealed class ModuleConfig
+{
+ public List Modules { get; set; } = new();
+}
+
+public class ESuiteModule : Autofac.Module
+{
+ protected override void Load(ContainerBuilder builder)
+ {
+ base.Load(builder);
+ builder.RegisterType().As().SingleInstance();
+
+ RegisterAllModuleIocRegistrations(builder);
+ }
+
+ protected static void RegisterAllModuleIocRegistrations(ContainerBuilder builder)
+ {
+ var configuration = new ConfigurationBuilder()
+ .SetBasePath(AppContext.BaseDirectory)
+ .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
+ .Build();
+
+ var moduleConfig = configuration.Get();
+
+ var basePath = AppContext.BaseDirectory;
+ var assemblies = new List();
+
+ foreach (var module in moduleConfig.Modules)
+ {
+ var fullPath = Path.Combine(basePath, module);
+
+ if (!File.Exists(fullPath))
+ throw new FileNotFoundException($"Configured module not found: {fullPath}");
+
+ assemblies.Add(Assembly.LoadFrom(fullPath));
+ }
+
+ var registrationTypes = assemblies
+ .SelectMany(a => a.GetTypes())
+ .Where(t => typeof(IIocRegistration).IsAssignableFrom(t)
+ && !t.IsAbstract
+ && !t.IsInterface).ToList();
+
+ foreach (var type in registrationTypes)
+ {
+ var instance = (IIocRegistration)Activator.CreateInstance(type)!;
+ instance.RegisterTypes(builder);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj b/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj
new file mode 100644
index 0000000..a28f707
--- /dev/null
+++ b/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net10.0
+ e_suite.DependencyInjection
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/IocRegistration.cs b/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/IocRegistration.cs
index 0765dff..c5d6935 100644
--- a/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/IocRegistration.cs
+++ b/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/IocRegistration.cs
@@ -1,15 +1,17 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.BlockedIPsManager.Repository;
namespace e_suite.Modules.BlockedIPsManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
- builder.RegisterType().As().InstancePerLifetimeScope();
+ builder.RegisterType().As()
+ .InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
}
diff --git a/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/e-suite.Modules.BlockedIPsManager.csproj b/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/e-suite.Modules.BlockedIPsManager.csproj
index 6d5be43..566b40b 100644
--- a/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/e-suite.Modules.BlockedIPsManager.csproj
+++ b/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager/e-suite.Modules.BlockedIPsManager.csproj
@@ -14,6 +14,7 @@
+
diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor/DependencyInjection/CoreRegistrationModule.cs b/e-suite.MessageProcessor/e-suite.MessageProcessor/DependencyInjection/CoreRegistrationModule.cs
index 1483b59..8065107 100644
--- a/e-suite.MessageProcessor/e-suite.MessageProcessor/DependencyInjection/CoreRegistrationModule.cs
+++ b/e-suite.MessageProcessor/e-suite.MessageProcessor/DependencyInjection/CoreRegistrationModule.cs
@@ -1,6 +1,7 @@
using Autofac;
using e_suite.Database.Core;
using e_suite.Database.SqlServer;
+using e_suite.DependencyInjection;
using e_suite.MessageProcessor.Handlers;
using e_suite.MessageProcessor.QueueProcessor;
using eSuite.Core.Clock;
@@ -12,7 +13,7 @@ namespace e_suite.MessageProcessor.DependencyInjection;
///
/// Used as the primary location for IOC type registration for e-suite.
///
-public class CoreRegistrationModule : Module
+public class CoreRegistrationModule : ESuiteModule
{
///
/// Use the builder to register all the types and interfaces that the API requires to operate properly.
@@ -20,45 +21,52 @@ public class CoreRegistrationModule : Module
///
protected override void Load(ContainerBuilder builder)
{
+ base.Load(builder);
+
var loggerFactory = LoggerFactory.Create(loggingBuilder => loggingBuilder.AddConsole());
-
builder.Register(x => loggerFactory.CreateLogger("e-Suite.MessageProcessor")).As().SingleInstance();
- IClock clock = new UtcClock();
- builder.RegisterInstance(clock).As().SingleInstance();
+ //IClock clock = new UtcClock();
+ //builder.RegisterInstance(clock).As().SingleInstance();
builder.RegisterInstance(ESuiteDatabaseExtension.BuildConfiguration()).As().SingleInstance();
- //builder.RegisterInstance(ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult()).As();
builder.Register(c =>
{
- return ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult();
+ var clock = c.Resolve();
+ return ESuiteDatabaseExtension.CreateDatabase(clock)
+ .GetAwaiter()
+ .GetResult();
})
.As()
.InstancePerLifetimeScope();
+ //builder.Register(c => ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult())
+ // .As()
+ // .InstancePerLifetimeScope();
+
builder.RegisterType().InstancePerLifetimeScope();
builder.RegisterType().InstancePerLifetimeScope();
builder.RegisterType().InstancePerLifetimeScope();
builder.RegisterType().InstancePerLifetimeScope();
- Service.Sentinel.IocRegistration.RegisterTypes(builder);
- Service.Performance.IocRegistration.RegisterTypes(builder);
- Modules.UserManager.IocRegistration.RegisterTypes(builder);
- Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
- Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
- Service.SigmaImporter.IocRegistration.RegisterTypes(builder);
- Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
- Modules.DomainManager.IocRegistration.RegisterTypes(builder);
- Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
- Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
- Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
- Modules.FormsManager.IocRegistration.RegisterTypes(builder);
- Modules.SiteManager.IocRegistration.RegisterTypes(builder);
- Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
- Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
- Modules.DomainManager.IocRegistration.RegisterTypes(builder);
- Modules.SSOManager.IocRegistration.RegisterTypes(builder);
- Service.EFlowSync.IocRegistration.RegisterTypes(builder);
+ //Service.Sentinel.IocRegistration.RegisterTypes(builder);
+ //Service.Performance.IocRegistration.RegisterTypes(builder);
+ //Modules.UserManager.IocRegistration.RegisterTypes(builder);
+ //Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
+ //Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
+ //Service.SigmaImporter.IocRegistration.RegisterTypes(builder);
+ //Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
+ //Modules.DomainManager.IocRegistration.RegisterTypes(builder);
+ //Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
+ //Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
+ //Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
+ //Modules.FormsManager.IocRegistration.RegisterTypes(builder);
+ //Modules.SiteManager.IocRegistration.RegisterTypes(builder);
+ //Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
+ //Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
+ //Modules.DomainManager.IocRegistration.RegisterTypes(builder);
+ //Modules.SSOManager.IocRegistration.RegisterTypes(builder);
+ //Service.EFlowSync.IocRegistration.RegisterTypes(builder);
}
}
\ No newline at end of file
diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor/appsettings.json b/e-suite.MessageProcessor/e-suite.MessageProcessor/appsettings.json
index 2b6655d..e3f496d 100644
--- a/e-suite.MessageProcessor/e-suite.MessageProcessor/appsettings.json
+++ b/e-suite.MessageProcessor/e-suite.MessageProcessor/appsettings.json
@@ -28,5 +28,27 @@
},
"EflowAPI": {
"Server": "https://sunrise-test-api-we.azurewebsites.net/"
- }
+ },
+ "Modules": [
+ "e-suite.API.Common.dll",
+ "e-suite.Database.Audit.dll",
+ "e-suite.Database.SqlServer.dll",
+ "e-suite.Messaging.Common.dll",
+ "e-suite.Modules.CustomFieldsManager.dll",
+ "e-suite.Modules.DomainManager.dll",
+ "e-suite.Modules.ExceptionLogManager.dll",
+ "e-suite.Modules.FormsManager.dll",
+ "e-suite.Modules.GlossariesManager.dll",
+ "e-suite.Modules.OrganisationsManager.dll",
+ "e-suite.Modules.SequenceManager.dll",
+ "e-suite.Modules.SiteManager.dll",
+ "e-suite.Modules.SpecificationManager.dll",
+ "e-suite.Modules.SSOManager.dll",
+ "e-suite.Modules.UserManager.dll",
+ "e-suite.Service.CustomFieldValidation.dll",
+ "e-suite.Service.EFlowSync.dll",
+ "e-suite.Service.Performance.dll",
+ "e-suite.Service.Sentinel.dll",
+ "e-suite.Service.SigmaImporter.dll"
+ ]
}
\ No newline at end of file
diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor/e-suite.MessageProcessor.csproj b/e-suite.MessageProcessor/e-suite.MessageProcessor/e-suite.MessageProcessor.csproj
index e36fa6a..88edcc2 100644
--- a/e-suite.MessageProcessor/e-suite.MessageProcessor/e-suite.MessageProcessor.csproj
+++ b/e-suite.MessageProcessor/e-suite.MessageProcessor/e-suite.MessageProcessor.csproj
@@ -36,6 +36,7 @@
+
diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common/DependencyInjection/CoreRegistrationModule.cs b/e-suite.Messaging.Common/e-suite.Messaging.Common/IocRegistration.cs
similarity index 51%
rename from e-suite.Messaging.Common/e-suite.Messaging.Common/DependencyInjection/CoreRegistrationModule.cs
rename to e-suite.Messaging.Common/e-suite.Messaging.Common/IocRegistration.cs
index d8e137e..eef9793 100644
--- a/e-suite.Messaging.Common/e-suite.Messaging.Common/DependencyInjection/CoreRegistrationModule.cs
+++ b/e-suite.Messaging.Common/e-suite.Messaging.Common/IocRegistration.cs
@@ -1,18 +1,11 @@
using Autofac;
+using e_suite.DependencyInjection;
using RabbitMQ.Client;
-namespace e_suite.Messaging.Common.DependencyInjection;
-
-///
-/// Used as a the primary location for IOC type registration for e-suite.
-///
-public static class CoreRegistrationModule
+namespace e_suite.Messaging.Common;
+public class IocRegistration : IIocRegistration
{
- ///
- /// Use the builder to register all the types and interfaces that the API requires to operate properly.
- ///
- ///
- public static void Load(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType();
builder.RegisterType().As();
diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj b/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj
index bf36f30..bce7473 100644
--- a/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj
+++ b/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj
@@ -15,6 +15,7 @@
+
diff --git a/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/IocRegistration.cs b/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/IocRegistration.cs
index f9c711a..b404252 100644
--- a/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/IocRegistration.cs
+++ b/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.AuditLog.repository;
namespace e_suite.Modules.AuditLog;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog.csproj b/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog.csproj
index dfc5b0d..81c9b40 100644
--- a/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog.csproj
+++ b/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog/e-suite.Modules.AuditLog.csproj
@@ -13,6 +13,7 @@
+
diff --git a/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/IocRegistration.cs b/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/IocRegistration.cs
index f01ffcc..a18288a 100644
--- a/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/IocRegistration.cs
+++ b/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.CustomFieldsManager.Repository;
namespace e_suite.Modules.CustomFieldsManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager.csproj b/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager.csproj
index 0b628c9..0e5ae96 100644
--- a/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager.csproj
+++ b/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager/e-suite.Modules.CustomFieldsManager.csproj
@@ -13,6 +13,7 @@
+
diff --git a/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/CustomFieldManagerUnitTests/EditCustomFieldlUnitTests.cs b/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/CustomFieldManagerUnitTests/EditCustomFieldlUnitTests.cs
index d1cac1b..c3eb18a 100644
--- a/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/CustomFieldManagerUnitTests/EditCustomFieldlUnitTests.cs
+++ b/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/CustomFieldManagerUnitTests/EditCustomFieldlUnitTests.cs
@@ -985,7 +985,7 @@ public class EditCustomFieldUnitTests : CustomFieldsTestBase
}
[Test]
- public void EditCustomField_EditFieldWithReferenceNullSecondWay_ThrowsException()//TOdo Fix name(im dry out of ideas)
+ public void EditCustomField_EditFieldWithReferenceNullSecondWay_ThrowsException()
{
//Arrange
var customFieldId = new Guid("3fe78133-cf5f-47fb-b14e-1ba3d19a9867");
diff --git a/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/IocRegistration.cs b/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/IocRegistration.cs
index 346df50..f60206f 100644
--- a/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/IocRegistration.cs
+++ b/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.ExceptionLogManager.Repository;
namespace e_suite.Modules.ExceptionLogManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.csproj b/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.csproj
index a7fbf6b..8e50b24 100644
--- a/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.csproj
+++ b/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.csproj
@@ -13,6 +13,7 @@
+
diff --git a/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/IocRegistration.cs b/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/IocRegistration.cs
index 035270c..bced11c 100644
--- a/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/IocRegistration.cs
+++ b/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.GlossariesManager.Repository;
namespace e_suite.Modules.GlossariesManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj b/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj
index cb0afb6..361c380 100644
--- a/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj
+++ b/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj
@@ -14,6 +14,7 @@
+
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/IocRegistration.cs b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/IocRegistration.cs
index cbc7d89..946b814 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/IocRegistration.cs
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/IocRegistration.cs
@@ -1,15 +1,16 @@
-using Autofac;
-using e_suite.API.Common;
-using e_suite.API.Common.repository;
-using e_suite.Modules.DiagnosticManager.repository;
-
-namespace e_suite.Modules.PerformanceManager;
-
-public static class IocRegistration
-{
- public static void RegisterTypes(ContainerBuilder builder)
- {
- builder.RegisterType().As().InstancePerLifetimeScope();
- builder.RegisterType().As().InstancePerLifetimeScope();
- }
+using Autofac;
+using e_suite.API.Common;
+using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
+using e_suite.Modules.PerformanceManager.repository;
+
+namespace e_suite.Modules.PerformanceManager;
+
+public class IocRegistration : IIocRegistration
+{
+ public void RegisterTypes(ContainerBuilder builder)
+ {
+ builder.RegisterType().As().InstancePerLifetimeScope();
+ builder.RegisterType().As().InstancePerLifetimeScope();
+ }
}
\ No newline at end of file
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/PerformanceManager.cs b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/PerformanceManager.cs
index c4dc7fb..9e2166e 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/PerformanceManager.cs
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/PerformanceManager.cs
@@ -1,154 +1,154 @@
-using System.Linq.Expressions;
-using e_suite.API.Common;
-using e_suite.API.Common.models;
-using e_suite.API.Common.repository;
-using e_suite.Database.Core.Tables.Diagnostics;
-using e_suite.Utilities.Pagination;
-
-namespace e_suite.Modules.PerformanceManager;
-
-public class PerformanceManager : IPerformanceManager
-{
- private readonly IPerformanceManagerRepository _performanceManagerRepository;
-
- public PerformanceManager(IPerformanceManagerRepository performanceManagerRepository)
- {
- _performanceManagerRepository = performanceManagerRepository;
- }
-
- public async Task> GetPerformanceSummaryAsync(Paging paging, CancellationToken cancellationToken)
- {
- var performanceReportSummary = _performanceManagerRepository.GetPerformanceReportSummary();
-
-
- var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging,
- KeySelector, FilterSelector, cancellationToken);
-
- var paginatedResult = new PaginatedData
- {
- Count = paginatedData.Count,
- Page = paginatedData.Page,
- PageSize = paginatedData.PageSize,
- Data = paginatedData.Data.Select(ToReadPerformanceReportSummary)
-
- };
-
- return paginatedResult;
- }
-
- private ReadPerformanceReportSummary ToReadPerformanceReportSummary(PerformanceReportSummary performanceReportSummary)
- {
- return new ReadPerformanceReportSummary(performanceReportSummary)
- {
- Host = performanceReportSummary.Host,
- ControllerName = performanceReportSummary.ControllerName,
- ActionName = performanceReportSummary.ActionName
- };
- }
-
- private Expression> FilterSelector(string? key, string value)
- {
- return key?.ToLowerInvariant() switch
- {
- "host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "count" => x => x.Count.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "mintotaltimems" => x => x.MinTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "maxtotaltimemS" => x => x.MaxTotalTimeMS.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "avgtotaltimems" => x => x.AvgTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "sumtotaltimems" => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- _ => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- };
- }
-
- private Expression> KeySelector(string? sortKey)
- {
- return sortKey?.ToLowerInvariant() switch
- {
- "host" => x => x.Host,
- "controllername" => x => x.ControllerName,
- "actionname" => x => x.ActionName,
- "requestType" => x => x.RequestType,
- "count" => x => x.Count,
- "mintotaltimems" => x => x.MinTotalTimeMs,
- "maxtotaltimemS" => x => x.MaxTotalTimeMS,
- "avgtotaltimems" => x => x.AvgTotalTimeMs,
- "sumtotaltimems" => x => x.SumTotalTimeMs,
- _ => x => x.SumTotalTimeMs
- };
- }
-
- public async Task> GetPerformanceDetailsAsync(
- string hostName,
- string controllerName,
- string actionName,
- string requestType,
- Paging paging,
- CancellationToken cancellationToken
- )
- {
- var performanceReportSummary = _performanceManagerRepository.GetPerformanceReports(hostName, controllerName, actionName, requestType);
-
- var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging,
- PerformanceReportKeySelector, PerformanceReportFilterSelector, cancellationToken);
-
- var paginatedResult = new PaginatedData
- {
- Count = paginatedData.Count,
- Page = paginatedData.Page,
- PageSize = paginatedData.PageSize,
- Data = paginatedData.Data.Select(ToReadPerformanceReport)
-
- };
-
- return paginatedResult;
- }
-
- private ReadPerformanceReport ToReadPerformanceReport(PerformanceReport report)
- {
- return new ReadPerformanceReport(report)
- {
- Host = report.Host,
- ControllerName = report.ControllerName,
- ActionName = report.ActionName
- };
- }
-
- private Expression> PerformanceReportKeySelector(string? sortKey)
- {
- return sortKey?.ToLowerInvariant() switch
- {
- "host" => x => x.Host,
- "controllername" => x => x.ControllerName,
- "actionname" => x => x.ActionName,
- "requestType" => x => x.RequestType,
- "id" => x => x.Id,
- "actionparameters" => x => x.ActionParameters,
- "startdateyime" => x => x.StartDateTime,
- "timings" => x => x.Timings,
- "totaltimems" => x => x.TotalTimeMS,
- _ => x => x.StartDateTime
- };
- }
-
- private Expression> PerformanceReportFilterSelector(string? key, string value)
- {
- return key?.ToLowerInvariant() switch
- {
- "host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "id" => x => x.Id.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "actionparameters" => x =>
- x.ActionParameters.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "startdateyime" => x =>
- x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "timings" => x => x.Timings.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- "totaltimems" => x => x.TotalTimeMS.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
- _ => x => x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase)
- };
- }
+using System.Linq.Expressions;
+using e_suite.API.Common;
+using e_suite.API.Common.models;
+using e_suite.API.Common.repository;
+using e_suite.Database.Core.Tables.Diagnostics;
+using e_suite.Utilities.Pagination;
+
+namespace e_suite.Modules.PerformanceManager;
+
+public class PerformanceManager : IPerformanceManager
+{
+ private readonly IPerformanceManagerRepository _performanceManagerRepository;
+
+ public PerformanceManager(IPerformanceManagerRepository performanceManagerRepository)
+ {
+ _performanceManagerRepository = performanceManagerRepository;
+ }
+
+ public async Task> GetPerformanceSummaryAsync(Paging paging, CancellationToken cancellationToken)
+ {
+ var performanceReportSummary = _performanceManagerRepository.GetPerformanceReportSummary();
+
+
+ var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging,
+ KeySelector, FilterSelector, cancellationToken);
+
+ var paginatedResult = new PaginatedData
+ {
+ Count = paginatedData.Count,
+ Page = paginatedData.Page,
+ PageSize = paginatedData.PageSize,
+ Data = paginatedData.Data.Select(ToReadPerformanceReportSummary)
+
+ };
+
+ return paginatedResult;
+ }
+
+ private ReadPerformanceReportSummary ToReadPerformanceReportSummary(PerformanceReportSummary performanceReportSummary)
+ {
+ return new ReadPerformanceReportSummary(performanceReportSummary)
+ {
+ Host = performanceReportSummary.Host,
+ ControllerName = performanceReportSummary.ControllerName,
+ ActionName = performanceReportSummary.ActionName
+ };
+ }
+
+ private Expression> FilterSelector(string? key, string value)
+ {
+ return key?.ToLowerInvariant() switch
+ {
+ "host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "count" => x => x.Count.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "mintotaltimems" => x => x.MinTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "maxtotaltimemS" => x => x.MaxTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "avgtotaltimems" => x => x.AvgTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "sumtotaltimems" => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ _ => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ };
+ }
+
+ private Expression> KeySelector(string? sortKey)
+ {
+ return sortKey?.ToLowerInvariant() switch
+ {
+ "host" => x => x.Host,
+ "controllername" => x => x.ControllerName,
+ "actionname" => x => x.ActionName,
+ "requestType" => x => x.RequestType,
+ "count" => x => x.Count,
+ "mintotaltimems" => x => x.MinTotalTimeMs,
+ "maxtotaltimemS" => x => x.MaxTotalTimeMs,
+ "avgtotaltimems" => x => x.AvgTotalTimeMs,
+ "sumtotaltimems" => x => x.SumTotalTimeMs,
+ _ => x => x.SumTotalTimeMs
+ };
+ }
+
+ public async Task> GetPerformanceDetailsAsync(
+ string hostName,
+ string controllerName,
+ string actionName,
+ string requestType,
+ Paging paging,
+ CancellationToken cancellationToken
+ )
+ {
+ var performanceReportSummary = _performanceManagerRepository.GetPerformanceReports(hostName, controllerName, actionName, requestType);
+
+ var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging,
+ PerformanceReportKeySelector, PerformanceReportFilterSelector, cancellationToken);
+
+ var paginatedResult = new PaginatedData
+ {
+ Count = paginatedData.Count,
+ Page = paginatedData.Page,
+ PageSize = paginatedData.PageSize,
+ Data = paginatedData.Data.Select(ToReadPerformanceReport)
+
+ };
+
+ return paginatedResult;
+ }
+
+ private ReadPerformanceReport ToReadPerformanceReport(PerformanceReport report)
+ {
+ return new ReadPerformanceReport(report)
+ {
+ Host = report.Host,
+ ControllerName = report.ControllerName,
+ ActionName = report.ActionName
+ };
+ }
+
+ private Expression> PerformanceReportKeySelector(string? sortKey)
+ {
+ return sortKey?.ToLowerInvariant() switch
+ {
+ "host" => x => x.Host,
+ "controllername" => x => x.ControllerName,
+ "actionname" => x => x.ActionName,
+ "requestType" => x => x.RequestType,
+ "id" => x => x.Id,
+ "actionparameters" => x => x.ActionParameters,
+ "startdateyime" => x => x.StartDateTime,
+ "timings" => x => x.Timings,
+ "totaltimems" => x => x.TotalTimeMS,
+ _ => x => x.StartDateTime
+ };
+ }
+
+ private Expression> PerformanceReportFilterSelector(string? key, string value)
+ {
+ return key?.ToLowerInvariant() switch
+ {
+ "host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "id" => x => x.Id.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "actionparameters" => x =>
+ x.ActionParameters.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "startdateyime" => x =>
+ x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "timings" => x => x.Timings.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ "totaltimems" => x => x.TotalTimeMS.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
+ _ => x => x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase)
+ };
+ }
}
\ No newline at end of file
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.dll
index f1483da..d276311 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.pdb
index d449c6f..9c2a727 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.API.Common.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.dll
index 0c1a5a5..0a4ff2d 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.pdb
index 331774c..7a8cd07 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Audit.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.dll
index 3739327..d8fb0ce 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.pdb
index c4bf7bf..8c9d1c7 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Database.Core.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.deps.json b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.deps.json
index 865a545..4dc6336 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.deps.json
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.deps.json
@@ -1,216 +1,234 @@
-{
- "runtimeTarget": {
- "name": ".NETCoreApp,Version=v10.0",
- "signature": ""
- },
- "compilationOptions": {},
- "targets": {
- ".NETCoreApp,Version=v10.0": {
- "e-suite.Modules.PerformanceManager/1.0.0": {
- "dependencies": {
- "Autofac": "9.0.0",
- "e-suite.API.Common": "1.0.0",
- "e-suite.Utilities.Pagination": "1.0.0",
- "e-suite.Nuget.PasswordHasher": "1.0.0.0"
- },
- "runtime": {
- "e-suite.Modules.PerformanceManager.dll": {}
- }
- },
- "Autofac/9.0.0": {
- "runtime": {
- "lib/net10.0/Autofac.dll": {
- "assemblyVersion": "9.0.0.0",
- "fileVersion": "9.0.0.0"
- }
- }
- },
- "Microsoft.EntityFrameworkCore/10.0.2": {
- "dependencies": {
- "Microsoft.EntityFrameworkCore.Abstractions": "10.0.2"
- },
- "runtime": {
- "lib/net10.0/Microsoft.EntityFrameworkCore.dll": {
- "assemblyVersion": "10.0.2.0",
- "fileVersion": "10.0.225.61305"
- }
- }
- },
- "Microsoft.EntityFrameworkCore.Abstractions/10.0.2": {
- "runtime": {
- "lib/net10.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
- "assemblyVersion": "10.0.2.0",
- "fileVersion": "10.0.225.61305"
- }
- }
- },
- "Newtonsoft.Json/13.0.4": {
- "runtime": {
- "lib/net6.0/Newtonsoft.Json.dll": {
- "assemblyVersion": "13.0.0.0",
- "fileVersion": "13.0.4.30916"
- }
- }
- },
- "System.Linq.Dynamic.Core/1.7.1": {
- "runtime": {
- "lib/net10.0/System.Linq.Dynamic.Core.dll": {
- "assemblyVersion": "1.7.1.0",
- "fileVersion": "1.7.1.0"
- }
- }
- },
- "e-suite.API.Common/1.0.0": {
- "dependencies": {
- "e-suite.Database.Core": "1.0.0",
- "e-suite.Utilities.Pagination": "1.0.0"
- },
- "runtime": {
- "e-suite.API.Common.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- },
- "e-suite.Database.Audit/1.0.0": {
- "dependencies": {
- "Microsoft.EntityFrameworkCore": "10.0.2",
- "Newtonsoft.Json": "13.0.4",
- "System.Linq.Dynamic.Core": "1.7.1",
- "eSuite.Core": "1.0.0"
- },
- "runtime": {
- "e-suite.Database.Audit.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- },
- "e-suite.Database.Core/1.0.0": {
- "dependencies": {
- "e-suite.Database.Audit": "1.0.0",
- "eSuite.Core": "1.0.0",
- "e_suite.Nuget.PasswordHasher": "1.0.0"
- },
- "runtime": {
- "e-suite.Database.Core.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- },
- "e-suite.Utilities.Pagination/1.0.0": {
- "dependencies": {
- "Microsoft.EntityFrameworkCore": "10.0.2"
- },
- "runtime": {
- "e-suite.Utilities.Pagination.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- },
- "eSuite.Core/1.0.0": {
- "runtime": {
- "eSuite.Core.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- },
- "e_suite.Nuget.PasswordHasher/1.0.0": {
- "runtime": {
- "e-suite.Nuget.PasswordHasher.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- },
- "e-suite.Nuget.PasswordHasher/1.0.0.0": {
- "runtime": {
- "e-suite.Nuget.PasswordHasher.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.0.0"
- }
- }
- }
- }
- },
- "libraries": {
- "e-suite.Modules.PerformanceManager/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "Autofac/9.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-G8TpUMVIq1pEAMuAao8h5MKduY91SotjgK93wQb5LaxbJUVE0/XjCA6t2SOp+AkPC3GB/C2MAiF2D7krYjraFw==",
- "path": "autofac/9.0.0",
- "hashPath": "autofac.9.0.0.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore/10.0.2": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-d3+XKbLSHPCu3vwpXECoXcFbvGKmAhEeUmc1xy2czmuPnEF7rZN2HP5ZGMwCMbAKk4B01+nS4HixSMo2Vf/Y9g==",
- "path": "microsoft.entityframeworkcore/10.0.2",
- "hashPath": "microsoft.entityframeworkcore.10.0.2.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore.Abstractions/10.0.2": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-BzAwIU5mYeOmnKbEXrkwx7feW2V+zUTrK/kRonSib94tjvc0/iRj2a4N6YGXRhTNjaFP3tvCMIDaX1vIFF6dkg==",
- "path": "microsoft.entityframeworkcore.abstractions/10.0.2",
- "hashPath": "microsoft.entityframeworkcore.abstractions.10.0.2.nupkg.sha512"
- },
- "Newtonsoft.Json/13.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
- "path": "newtonsoft.json/13.0.4",
- "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
- },
- "System.Linq.Dynamic.Core/1.7.1": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-qlgku/j9r0fei52yxR5ho9nC/fWGZuaELqPkZmJm24QZbBW4cL3sVWri1dZ0cKgARD7cgFKBdRqzxYoIG5Q0Cg==",
- "path": "system.linq.dynamic.core/1.7.1",
- "hashPath": "system.linq.dynamic.core.1.7.1.nupkg.sha512"
- },
- "e-suite.API.Common/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "e-suite.Database.Audit/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "e-suite.Database.Core/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "e-suite.Utilities.Pagination/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "eSuite.Core/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "e_suite.Nuget.PasswordHasher/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "e-suite.Nuget.PasswordHasher/1.0.0.0": {
- "type": "reference",
- "serviceable": false,
- "sha512": ""
- }
- }
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v10.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v10.0": {
+ "e-suite.Modules.PerformanceManager/1.0.0": {
+ "dependencies": {
+ "Autofac": "9.0.0",
+ "e-suite.API.Common": "1.0.0",
+ "e-suite.DependencyInjection": "1.0.0",
+ "e-suite.Utilities.Pagination": "1.0.0",
+ "e-suite.Nuget.PasswordHasher": "1.0.0.0"
+ },
+ "runtime": {
+ "e-suite.Modules.PerformanceManager.dll": {}
+ }
+ },
+ "Autofac/9.0.0": {
+ "runtime": {
+ "lib/net10.0/Autofac.dll": {
+ "assemblyVersion": "9.0.0.0",
+ "fileVersion": "9.0.0.0"
+ }
+ }
+ },
+ "Microsoft.EntityFrameworkCore/10.0.2": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore.Abstractions": "10.0.2"
+ },
+ "runtime": {
+ "lib/net10.0/Microsoft.EntityFrameworkCore.dll": {
+ "assemblyVersion": "10.0.2.0",
+ "fileVersion": "10.0.225.61305"
+ }
+ }
+ },
+ "Microsoft.EntityFrameworkCore.Abstractions/10.0.2": {
+ "runtime": {
+ "lib/net10.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
+ "assemblyVersion": "10.0.2.0",
+ "fileVersion": "10.0.225.61305"
+ }
+ }
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "assemblyVersion": "13.0.0.0",
+ "fileVersion": "13.0.4.30916"
+ }
+ }
+ },
+ "System.Linq.Dynamic.Core/1.7.1": {
+ "runtime": {
+ "lib/net10.0/System.Linq.Dynamic.Core.dll": {
+ "assemblyVersion": "1.7.1.0",
+ "fileVersion": "1.7.1.0"
+ }
+ }
+ },
+ "e-suite.API.Common/1.0.0": {
+ "dependencies": {
+ "e-suite.Database.Core": "1.0.0",
+ "e-suite.Utilities.Pagination": "1.0.0"
+ },
+ "runtime": {
+ "e-suite.API.Common.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "e-suite.Database.Audit/1.0.0": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore": "10.0.2",
+ "Newtonsoft.Json": "13.0.4",
+ "System.Linq.Dynamic.Core": "1.7.1",
+ "eSuite.Core": "1.0.0"
+ },
+ "runtime": {
+ "e-suite.Database.Audit.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "e-suite.Database.Core/1.0.0": {
+ "dependencies": {
+ "e-suite.Database.Audit": "1.0.0",
+ "eSuite.Core": "1.0.0",
+ "e_suite.Nuget.PasswordHasher": "1.0.0"
+ },
+ "runtime": {
+ "e-suite.Database.Core.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "e-suite.DependencyInjection/1.0.0": {
+ "dependencies": {
+ "Autofac": "9.0.0",
+ "eSuite.Core": "1.0.0"
+ },
+ "runtime": {
+ "e-suite.DependencyInjection.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "e-suite.Utilities.Pagination/1.0.0": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore": "10.0.2"
+ },
+ "runtime": {
+ "e-suite.Utilities.Pagination.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "eSuite.Core/1.0.0": {
+ "runtime": {
+ "eSuite.Core.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "e_suite.Nuget.PasswordHasher/1.0.0": {
+ "runtime": {
+ "e-suite.Nuget.PasswordHasher.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "e-suite.Nuget.PasswordHasher/1.0.0.0": {
+ "runtime": {
+ "e-suite.Nuget.PasswordHasher.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "e-suite.Modules.PerformanceManager/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Autofac/9.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-G8TpUMVIq1pEAMuAao8h5MKduY91SotjgK93wQb5LaxbJUVE0/XjCA6t2SOp+AkPC3GB/C2MAiF2D7krYjraFw==",
+ "path": "autofac/9.0.0",
+ "hashPath": "autofac.9.0.0.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore/10.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-d3+XKbLSHPCu3vwpXECoXcFbvGKmAhEeUmc1xy2czmuPnEF7rZN2HP5ZGMwCMbAKk4B01+nS4HixSMo2Vf/Y9g==",
+ "path": "microsoft.entityframeworkcore/10.0.2",
+ "hashPath": "microsoft.entityframeworkcore.10.0.2.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore.Abstractions/10.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BzAwIU5mYeOmnKbEXrkwx7feW2V+zUTrK/kRonSib94tjvc0/iRj2a4N6YGXRhTNjaFP3tvCMIDaX1vIFF6dkg==",
+ "path": "microsoft.entityframeworkcore.abstractions/10.0.2",
+ "hashPath": "microsoft.entityframeworkcore.abstractions.10.0.2.nupkg.sha512"
+ },
+ "Newtonsoft.Json/13.0.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
+ "path": "newtonsoft.json/13.0.4",
+ "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
+ },
+ "System.Linq.Dynamic.Core/1.7.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-qlgku/j9r0fei52yxR5ho9nC/fWGZuaELqPkZmJm24QZbBW4cL3sVWri1dZ0cKgARD7cgFKBdRqzxYoIG5Q0Cg==",
+ "path": "system.linq.dynamic.core/1.7.1",
+ "hashPath": "system.linq.dynamic.core.1.7.1.nupkg.sha512"
+ },
+ "e-suite.API.Common/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "e-suite.Database.Audit/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "e-suite.Database.Core/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "e-suite.DependencyInjection/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "e-suite.Utilities.Pagination/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "eSuite.Core/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "e_suite.Nuget.PasswordHasher/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "e-suite.Nuget.PasswordHasher/1.0.0.0": {
+ "type": "reference",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
}
\ No newline at end of file
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.dll
index efdad25..9a3512e 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb
index d89ea39..6dbad8f 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll
index b9e7562..30c1afd 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb
index 3b511f7..186975e 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.dll
index 4a5b408..1eb50a4 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.pdb
index efee26f..3d1a445 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/e-suite.Utilities.Pagination.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.dll
index 537d423..96372c0 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.pdb
index dbcfb9e..808f765 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/bin/Debug/net10.0/eSuite.Core.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager.csproj b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager.csproj
index cb2163f..722a341 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager.csproj
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager.csproj
@@ -1,19 +1,20 @@
-
-
-
- net10.0
- e_suite.Modules.PerformanceManager
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ net10.0
+ e_suite.Modules.PerformanceManager
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfo.cs b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfo.cs
index 7656a44..8b00c7c 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfo.cs
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("e-suite.Modules.PerformanceManager")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5aa0151c59e2666c508b96df9e92dabf83e500c9")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e0510eeef5786b3814db949f18e6ff637e7b43f3")]
[assembly: System.Reflection.AssemblyProductAttribute("e-suite.Modules.PerformanceManager")]
[assembly: System.Reflection.AssemblyTitleAttribute("e-suite.Modules.PerformanceManager")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
index f055ec3..dbc6741 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
@@ -1 +1 @@
-12c891daa1f4ee8300544eebbe3419c23cd5c84b39b050ea981c931e03259df0
+fea0fa56c4e06387f95e760081cdb1d4f87acb8c388695ecdb5e4a1d7efdc675
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.assets.cache b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.assets.cache
index 7822c8a..0471bdd 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.assets.cache and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.assets.cache differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache
index 7163b0e..d472ec1 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
index 0fbdfc5..ec390f4 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-2443ebba828e75681ac0f97ca7de8f4489ebb89e56b84c10c1343a75554c6876
+f88c37d5e316d11e116f2a26e9477a7261a000dab8b574077b59bed01efc4aea
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.FileListAbsolute.txt b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.FileListAbsolute.txt
index 6d88b99..c0d7c02 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.FileListAbsolute.txt
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.csproj.FileListAbsolute.txt
@@ -1,26 +1,54 @@
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.deps.json
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll.config
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.GeneratedMSBuildEditorConfig.editorconfig
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfo.cs
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite..A86FA394.Up2Date
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\refint\e-suite.Modules.PerformanceManager.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\ref\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.deps.json
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll.config
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfo.cs
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite..A86FA394.Up2Date
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\refint\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\ref\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.deps.json
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.DependencyInjection.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.DependencyInjection.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll.config
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfo.cs
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite..A86FA394.Up2Date
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\refint\e-suite.Modules.PerformanceManager.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\ref\e-suite.Modules.PerformanceManager.dll
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.dll
index efdad25..9a3512e 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb
index d89ea39..6dbad8f 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/e-suite.Modules.PerformanceManager.pdb differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/ref/e-suite.Modules.PerformanceManager.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/ref/e-suite.Modules.PerformanceManager.dll
index 5bd0b41..97734e5 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/ref/e-suite.Modules.PerformanceManager.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/ref/e-suite.Modules.PerformanceManager.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/refint/e-suite.Modules.PerformanceManager.dll b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/refint/e-suite.Modules.PerformanceManager.dll
index 5bd0b41..97734e5 100644
Binary files a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/refint/e-suite.Modules.PerformanceManager.dll and b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/Debug/net10.0/refint/e-suite.Modules.PerformanceManager.dll differ
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.dgspec.json b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.dgspec.json
index ea41122..edfd0c1 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.dgspec.json
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.dgspec.json
@@ -1418,6 +1418,364 @@
}
}
},
+ "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj",
+ "projectName": "e-suite.DependencyInjection",
+ "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj",
+ "packagesPath": "C:\\Users\\me\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\NuGet.Config",
+ "C:\\Users\\me\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net10.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {},
+ "https://sunbranding.pkgs.visualstudio.com/e-suite/_packaging/e-suite/nuget/v3/index.json": {}
+ },
+ "frameworks": {
+ "net10.0": {
+ "targetAlias": "net10.0",
+ "projectReferences": {
+ "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Core\\eSuite.Core\\eSuite.Core.csproj": {
+ "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Core\\eSuite.Core\\eSuite.Core.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "all"
+ },
+ "SdkAnalysisLevel": "10.0.100"
+ },
+ "frameworks": {
+ "net10.0": {
+ "targetAlias": "net10.0",
+ "dependencies": {
+ "Autofac": {
+ "target": "Package",
+ "version": "[9.0.0, )"
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "target": "Package",
+ "version": "[8.0.0, )"
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "target": "Package",
+ "version": "[8.0.0, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json",
+ "packagesToPrune": {
+ "Microsoft.CSharp": "(,4.7.32767]",
+ "Microsoft.VisualBasic": "(,10.4.32767]",
+ "Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "Microsoft.Win32.Registry": "(,5.0.32767]",
+ "runtime.any.System.Collections": "(,4.3.32767]",
+ "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
+ "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
+ "runtime.any.System.Globalization": "(,4.3.32767]",
+ "runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
+ "runtime.any.System.IO": "(,4.3.32767]",
+ "runtime.any.System.Reflection": "(,4.3.32767]",
+ "runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
+ "runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
+ "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
+ "runtime.any.System.Runtime": "(,4.3.32767]",
+ "runtime.any.System.Runtime.Handles": "(,4.3.32767]",
+ "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
+ "runtime.any.System.Text.Encoding": "(,4.3.32767]",
+ "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "runtime.any.System.Threading.Tasks": "(,4.3.32767]",
+ "runtime.any.System.Threading.Timer": "(,4.3.32767]",
+ "runtime.aot.System.Collections": "(,4.3.32767]",
+ "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
+ "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
+ "runtime.aot.System.Globalization": "(,4.3.32767]",
+ "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
+ "runtime.aot.System.IO": "(,4.3.32767]",
+ "runtime.aot.System.Reflection": "(,4.3.32767]",
+ "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
+ "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
+ "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
+ "runtime.aot.System.Runtime": "(,4.3.32767]",
+ "runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
+ "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
+ "runtime.aot.System.Text.Encoding": "(,4.3.32767]",
+ "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
+ "runtime.aot.System.Threading.Timer": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
+ "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
+ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
+ "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
+ "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "runtime.unix.System.Console": "(,4.3.32767]",
+ "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
+ "runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
+ "runtime.unix.System.Net.Primitives": "(,4.3.32767]",
+ "runtime.unix.System.Net.Sockets": "(,4.3.32767]",
+ "runtime.unix.System.Private.Uri": "(,4.3.32767]",
+ "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
+ "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
+ "runtime.win.System.Console": "(,4.3.32767]",
+ "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
+ "runtime.win.System.IO.FileSystem": "(,4.3.32767]",
+ "runtime.win.System.Net.Primitives": "(,4.3.32767]",
+ "runtime.win.System.Net.Sockets": "(,4.3.32767]",
+ "runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
+ "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
+ "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "runtime.win7.System.Private.Uri": "(,4.3.32767]",
+ "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
+ "System.AppContext": "(,4.3.32767]",
+ "System.Buffers": "(,5.0.32767]",
+ "System.Collections": "(,4.3.32767]",
+ "System.Collections.Concurrent": "(,4.3.32767]",
+ "System.Collections.Immutable": "(,10.0.32767]",
+ "System.Collections.NonGeneric": "(,4.3.32767]",
+ "System.Collections.Specialized": "(,4.3.32767]",
+ "System.ComponentModel": "(,4.3.32767]",
+ "System.ComponentModel.Annotations": "(,4.3.32767]",
+ "System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
+ "System.ComponentModel.Primitives": "(,4.3.32767]",
+ "System.ComponentModel.TypeConverter": "(,4.3.32767]",
+ "System.Console": "(,4.3.32767]",
+ "System.Data.Common": "(,4.3.32767]",
+ "System.Data.DataSetExtensions": "(,4.4.32767]",
+ "System.Diagnostics.Contracts": "(,4.3.32767]",
+ "System.Diagnostics.Debug": "(,4.3.32767]",
+ "System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
+ "System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
+ "System.Diagnostics.Process": "(,4.3.32767]",
+ "System.Diagnostics.StackTrace": "(,4.3.32767]",
+ "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
+ "System.Diagnostics.Tools": "(,4.3.32767]",
+ "System.Diagnostics.TraceSource": "(,4.3.32767]",
+ "System.Diagnostics.Tracing": "(,4.3.32767]",
+ "System.Drawing.Primitives": "(,4.3.32767]",
+ "System.Dynamic.Runtime": "(,4.3.32767]",
+ "System.Formats.Asn1": "(,10.0.32767]",
+ "System.Formats.Tar": "(,10.0.32767]",
+ "System.Globalization": "(,4.3.32767]",
+ "System.Globalization.Calendars": "(,4.3.32767]",
+ "System.Globalization.Extensions": "(,4.3.32767]",
+ "System.IO": "(,4.3.32767]",
+ "System.IO.Compression": "(,4.3.32767]",
+ "System.IO.Compression.ZipFile": "(,4.3.32767]",
+ "System.IO.FileSystem": "(,4.3.32767]",
+ "System.IO.FileSystem.AccessControl": "(,4.4.32767]",
+ "System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
+ "System.IO.FileSystem.Primitives": "(,4.3.32767]",
+ "System.IO.FileSystem.Watcher": "(,4.3.32767]",
+ "System.IO.IsolatedStorage": "(,4.3.32767]",
+ "System.IO.MemoryMappedFiles": "(,4.3.32767]",
+ "System.IO.Pipelines": "(,10.0.32767]",
+ "System.IO.Pipes": "(,4.3.32767]",
+ "System.IO.Pipes.AccessControl": "(,5.0.32767]",
+ "System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
+ "System.Linq": "(,4.3.32767]",
+ "System.Linq.AsyncEnumerable": "(,10.0.32767]",
+ "System.Linq.Expressions": "(,4.3.32767]",
+ "System.Linq.Parallel": "(,4.3.32767]",
+ "System.Linq.Queryable": "(,4.3.32767]",
+ "System.Memory": "(,5.0.32767]",
+ "System.Net.Http": "(,4.3.32767]",
+ "System.Net.Http.Json": "(,10.0.32767]",
+ "System.Net.NameResolution": "(,4.3.32767]",
+ "System.Net.NetworkInformation": "(,4.3.32767]",
+ "System.Net.Ping": "(,4.3.32767]",
+ "System.Net.Primitives": "(,4.3.32767]",
+ "System.Net.Requests": "(,4.3.32767]",
+ "System.Net.Security": "(,4.3.32767]",
+ "System.Net.ServerSentEvents": "(,10.0.32767]",
+ "System.Net.Sockets": "(,4.3.32767]",
+ "System.Net.WebHeaderCollection": "(,4.3.32767]",
+ "System.Net.WebSockets": "(,4.3.32767]",
+ "System.Net.WebSockets.Client": "(,4.3.32767]",
+ "System.Numerics.Vectors": "(,5.0.32767]",
+ "System.ObjectModel": "(,4.3.32767]",
+ "System.Private.DataContractSerialization": "(,4.3.32767]",
+ "System.Private.Uri": "(,4.3.32767]",
+ "System.Reflection": "(,4.3.32767]",
+ "System.Reflection.DispatchProxy": "(,6.0.32767]",
+ "System.Reflection.Emit": "(,4.7.32767]",
+ "System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
+ "System.Reflection.Emit.Lightweight": "(,4.7.32767]",
+ "System.Reflection.Extensions": "(,4.3.32767]",
+ "System.Reflection.Metadata": "(,10.0.32767]",
+ "System.Reflection.Primitives": "(,4.3.32767]",
+ "System.Reflection.TypeExtensions": "(,4.3.32767]",
+ "System.Resources.Reader": "(,4.3.32767]",
+ "System.Resources.ResourceManager": "(,4.3.32767]",
+ "System.Resources.Writer": "(,4.3.32767]",
+ "System.Runtime": "(,4.3.32767]",
+ "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
+ "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
+ "System.Runtime.Extensions": "(,4.3.32767]",
+ "System.Runtime.Handles": "(,4.3.32767]",
+ "System.Runtime.InteropServices": "(,4.3.32767]",
+ "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
+ "System.Runtime.Loader": "(,4.3.32767]",
+ "System.Runtime.Numerics": "(,4.3.32767]",
+ "System.Runtime.Serialization.Formatters": "(,4.3.32767]",
+ "System.Runtime.Serialization.Json": "(,4.3.32767]",
+ "System.Runtime.Serialization.Primitives": "(,4.3.32767]",
+ "System.Runtime.Serialization.Xml": "(,4.3.32767]",
+ "System.Security.AccessControl": "(,6.0.32767]",
+ "System.Security.Claims": "(,4.3.32767]",
+ "System.Security.Cryptography.Algorithms": "(,4.3.32767]",
+ "System.Security.Cryptography.Cng": "(,5.0.32767]",
+ "System.Security.Cryptography.Csp": "(,4.3.32767]",
+ "System.Security.Cryptography.Encoding": "(,4.3.32767]",
+ "System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
+ "System.Security.Cryptography.Primitives": "(,4.3.32767]",
+ "System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
+ "System.Security.Principal": "(,4.3.32767]",
+ "System.Security.Principal.Windows": "(,5.0.32767]",
+ "System.Security.SecureString": "(,4.3.32767]",
+ "System.Text.Encoding": "(,4.3.32767]",
+ "System.Text.Encoding.CodePages": "(,10.0.32767]",
+ "System.Text.Encoding.Extensions": "(,4.3.32767]",
+ "System.Text.Encodings.Web": "(,10.0.32767]",
+ "System.Text.Json": "(,10.0.32767]",
+ "System.Text.RegularExpressions": "(,4.3.32767]",
+ "System.Threading": "(,4.3.32767]",
+ "System.Threading.AccessControl": "(,10.0.32767]",
+ "System.Threading.Channels": "(,10.0.32767]",
+ "System.Threading.Overlapped": "(,4.3.32767]",
+ "System.Threading.Tasks": "(,4.3.32767]",
+ "System.Threading.Tasks.Dataflow": "(,10.0.32767]",
+ "System.Threading.Tasks.Extensions": "(,5.0.32767]",
+ "System.Threading.Tasks.Parallel": "(,4.3.32767]",
+ "System.Threading.Thread": "(,4.3.32767]",
+ "System.Threading.ThreadPool": "(,4.3.32767]",
+ "System.Threading.Timer": "(,4.3.32767]",
+ "System.ValueTuple": "(,4.5.32767]",
+ "System.Xml.ReaderWriter": "(,4.3.32767]",
+ "System.Xml.XDocument": "(,4.3.32767]",
+ "System.Xml.XmlDocument": "(,4.3.32767]",
+ "System.Xml.XmlSerializer": "(,4.3.32767]",
+ "System.Xml.XPath": "(,4.3.32767]",
+ "System.Xml.XPath.XDocument": "(,5.0.32767]"
+ }
+ }
+ }
+ },
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager.csproj": {
"version": "1.0.0",
"restore": {
@@ -1450,6 +1808,9 @@
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj"
},
+ "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj": {
+ "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj"
+ },
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj"
}
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.assets.json b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.assets.json
index 2b7da19..f961baa 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.assets.json
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.assets.json
@@ -154,6 +154,51 @@
"buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {}
}
},
+ "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.FileProviders.Physical": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
"Microsoft.Extensions.DependencyInjection/10.0.2": {
"type": "package",
"dependencies": {
@@ -189,6 +234,62 @@
"buildTransitive/net8.0/_._": {}
}
},
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.FileSystemGlobbing": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
"Microsoft.Extensions.Logging/10.0.2": {
"type": "package",
"dependencies": {
@@ -337,6 +438,22 @@
"bin/placeholder/e-suite.Database.Core.dll": {}
}
},
+ "e-suite.DependencyInjection/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v10.0",
+ "dependencies": {
+ "Autofac": "9.0.0",
+ "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Json": "8.0.0",
+ "eSuite.Core": "1.0.0"
+ },
+ "compile": {
+ "bin/placeholder/e-suite.DependencyInjection.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/e-suite.DependencyInjection.dll": {}
+ }
+ },
"e-suite.Utilities.Pagination/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v10.0",
@@ -602,6 +719,68 @@
"useSharedDesignerContext.txt"
]
},
+ "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
+ "sha512": "McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.fileextensions/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.FileExtensions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.FileExtensions.targets",
+ "lib/net462/Microsoft.Extensions.Configuration.FileExtensions.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.FileExtensions.xml",
+ "lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
+ "lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
+ "lib/net7.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
+ "lib/net7.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
+ "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.fileextensions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Json/8.0.0": {
+ "sha512": "C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.json/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.Json.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Json.targets",
+ "lib/net462/Microsoft.Extensions.Configuration.Json.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Json.xml",
+ "lib/net6.0/Microsoft.Extensions.Configuration.Json.dll",
+ "lib/net6.0/Microsoft.Extensions.Configuration.Json.xml",
+ "lib/net7.0/Microsoft.Extensions.Configuration.Json.dll",
+ "lib/net7.0/Microsoft.Extensions.Configuration.Json.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Json.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml",
+ "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.json.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
"Microsoft.Extensions.DependencyInjection/10.0.2": {
"sha512": "J/Zmp6fY93JbaiZ11ckWvcyxMPjD6XVwIHQXBjryTBgn7O6O20HYg9uVLFcZlNfgH78MnreE/7EH+hjfzn7VyA==",
"type": "package",
@@ -664,6 +843,94 @@
"useSharedDesignerContext.txt"
]
},
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "sha512": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
+ "type": "package",
+ "path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
+ "microsoft.extensions.fileproviders.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.FileProviders.Physical/8.0.0": {
+ "sha512": "UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==",
+ "type": "package",
+ "path": "microsoft.extensions.fileproviders.physical/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.FileProviders.Physical.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Physical.targets",
+ "lib/net462/Microsoft.Extensions.FileProviders.Physical.dll",
+ "lib/net462/Microsoft.Extensions.FileProviders.Physical.xml",
+ "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll",
+ "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.xml",
+ "lib/net7.0/Microsoft.Extensions.FileProviders.Physical.dll",
+ "lib/net7.0/Microsoft.Extensions.FileProviders.Physical.xml",
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll",
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml",
+ "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512",
+ "microsoft.extensions.fileproviders.physical.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
+ "sha512": "OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==",
+ "type": "package",
+ "path": "microsoft.extensions.filesystemglobbing/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.FileSystemGlobbing.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets",
+ "lib/net462/Microsoft.Extensions.FileSystemGlobbing.dll",
+ "lib/net462/Microsoft.Extensions.FileSystemGlobbing.xml",
+ "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll",
+ "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.xml",
+ "lib/net7.0/Microsoft.Extensions.FileSystemGlobbing.dll",
+ "lib/net7.0/Microsoft.Extensions.FileSystemGlobbing.xml",
+ "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll",
+ "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml",
+ "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512",
+ "microsoft.extensions.filesystemglobbing.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
"Microsoft.Extensions.Logging/10.0.2": {
"sha512": "a0EWuBs6D3d7XMGroDXm+WsAi5CVVfjOJvyxurzWnuhBN9CO+1qHKcrKV1JK7H/T4ZtHIoVCOX/YyWM8K87qtw==",
"type": "package",
@@ -952,6 +1219,11 @@
"path": "../../e-suite.Database.Core/e-suite.Database.Core/e-suite.Database.Core.csproj",
"msbuildProject": "../../e-suite.Database.Core/e-suite.Database.Core/e-suite.Database.Core.csproj"
},
+ "e-suite.DependencyInjection/1.0.0": {
+ "type": "project",
+ "path": "../../e-suite.DependencyInjection/e-suite.DependencyInjection.csproj",
+ "msbuildProject": "../../e-suite.DependencyInjection/e-suite.DependencyInjection.csproj"
+ },
"e-suite.Utilities.Pagination/1.0.0": {
"type": "project",
"path": "../../e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj",
@@ -972,6 +1244,7 @@
"net10.0": [
"Autofac >= 9.0.0",
"e-suite.API.Common >= 1.0.0",
+ "e-suite.DependencyInjection >= 1.0.0",
"e-suite.Utilities.Pagination >= 1.0.0"
]
},
@@ -1011,6 +1284,9 @@
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj"
},
+ "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj": {
+ "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj"
+ },
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj"
}
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.nuget.cache b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.nuget.cache
index 3c70747..8f4a10f 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.nuget.cache
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/project.nuget.cache
@@ -1,6 +1,6 @@
{
"version": 2,
- "dgSpecHash": "4f7E/BIy1ic=",
+ "dgSpecHash": "qGoUFiwgrmc=",
"success": true,
"projectFilePath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager.csproj",
"expectedPackageFiles": [
@@ -13,8 +13,13 @@
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.2\\microsoft.extensions.configuration.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.2\\microsoft.extensions.configuration.abstractions.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.2\\microsoft.extensions.configuration.binder.10.0.2.nupkg.sha512",
+ "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
+ "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.2\\microsoft.extensions.dependencyinjection.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.2\\microsoft.extensions.dependencyinjection.abstractions.10.0.2.nupkg.sha512",
+ "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
+ "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512",
+ "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.logging\\10.0.2\\microsoft.extensions.logging.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.2\\microsoft.extensions.logging.abstractions.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.options\\10.0.2\\microsoft.extensions.options.10.0.2.nupkg.sha512",
diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/repository/PerformanceManagerRepository.cs b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/repository/PerformanceManagerRepository.cs
index a89215b..cec9333 100644
--- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/repository/PerformanceManagerRepository.cs
+++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/repository/PerformanceManagerRepository.cs
@@ -1,44 +1,44 @@
-using e_suite.API.Common.models;
-using e_suite.API.Common.repository;
-using e_suite.Database.Core;
-using e_suite.Database.Core.Tables.Diagnostics;
-using eSuite.Core.Clock;
-
-namespace e_suite.Modules.DiagnosticManager.repository;
-
-public class PerformanceManagerRepository: RepositoryBase, IPerformanceManagerRepository
-{
- private readonly IClock _clock;
-
- public PerformanceManagerRepository(IEsuiteDatabaseDbContext databaseDbContext, IClock clock) : base(databaseDbContext)
- {
- _clock = clock;
- }
-
- public IQueryable GetPerformanceReportSummary()
- {
- var now = _clock.GetNow;
-
- return DatabaseDbContext.PerformanceReports
- .Where( x => x.StartDateTime > now.AddYears(-1))
- .GroupBy( x => new{ x.Host, x.ControllerName, x.ActionName, x.RequestType} )
- .Select(r => new PerformanceReportSummary
- {
- Host = r.Key.Host,
- ControllerName = r.Key.ControllerName,
- ActionName = r.Key.ActionName,
- RequestType = r.Key.RequestType,
- MinTotalTimeMs = r.ToArray().Min( x => x.TotalTimeMS),
- MaxTotalTimeMS = r.ToArray().Max(x => x.TotalTimeMS),
- AvgTotalTimeMs = r.ToArray().Average(x => x.TotalTimeMS),
- SumTotalTimeMs = r.ToArray().Sum(x => x.TotalTimeMS),
- Count = r.Count()
- });
- }
-
- public IQueryable GetPerformanceReports(string hostName, string controllerName, string actionName, string requestType)
- {
- return DatabaseDbContext.PerformanceReports
- .Where( x => x.Host == hostName && x.ControllerName == controllerName && x.ActionName == actionName && x.RequestType == requestType);
- }
-}
+using e_suite.API.Common.models;
+using e_suite.API.Common.repository;
+using e_suite.Database.Core;
+using e_suite.Database.Core.Tables.Diagnostics;
+using eSuite.Core.Clock;
+
+namespace e_suite.Modules.PerformanceManager.repository;
+
+public class PerformanceManagerRepository: RepositoryBase, IPerformanceManagerRepository
+{
+ private readonly IClock _clock;
+
+ public PerformanceManagerRepository(IEsuiteDatabaseDbContext databaseDbContext, IClock clock) : base(databaseDbContext)
+ {
+ _clock = clock;
+ }
+
+ public IQueryable GetPerformanceReportSummary()
+ {
+ var now = _clock.GetNow;
+
+ return DatabaseDbContext.PerformanceReports
+ .Where( x => x.StartDateTime > now.AddYears(-1))
+ .GroupBy( x => new{ x.Host, x.ControllerName, x.ActionName, x.RequestType} )
+ .Select(r => new PerformanceReportSummary
+ {
+ Host = r.Key.Host,
+ ControllerName = r.Key.ControllerName,
+ ActionName = r.Key.ActionName,
+ RequestType = r.Key.RequestType,
+ MinTotalTimeMs = r.ToArray().Min( x => x.TotalTimeMS),
+ MaxTotalTimeMs = r.ToArray().Max(x => x.TotalTimeMS),
+ AvgTotalTimeMs = r.ToArray().Average(x => x.TotalTimeMS),
+ SumTotalTimeMs = r.ToArray().Sum(x => x.TotalTimeMS),
+ Count = r.Count()
+ });
+ }
+
+ public IQueryable GetPerformanceReports(string hostName, string controllerName, string actionName, string requestType)
+ {
+ return DatabaseDbContext.PerformanceReports
+ .Where( x => x.Host == hostName && x.ControllerName == controllerName && x.ActionName == actionName && x.RequestType == requestType);
+ }
+}
diff --git a/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/IocRegistration.cs b/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/IocRegistration.cs
index 683f088..df9c0d3 100644
--- a/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/IocRegistration.cs
+++ b/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.RoleManager.Repository;
namespace e_suite.Modules.RoleManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.csproj b/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.csproj
index 06d283f..86e981a 100644
--- a/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.csproj
+++ b/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.csproj
@@ -10,11 +10,11 @@
-
+
diff --git a/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/IocRegistration.cs b/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/IocRegistration.cs
index b3cc430..94c3730 100644
--- a/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/IocRegistration.cs
+++ b/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.SSOManager.repository;
namespace e_suite.Modules.SSOManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager.csproj b/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager.csproj
index 967dd40..2ba3ed8 100644
--- a/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager.csproj
+++ b/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager/e-suite.Modules.SSOManager.csproj
@@ -13,6 +13,7 @@
+
diff --git a/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/IocRegistration.cs b/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/IocRegistration.cs
index 752c371..c4f13c5 100644
--- a/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/IocRegistration.cs
+++ b/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.SequenceManager.Repository;
namespace e_suite.Modules.SequenceManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/e-suite.Modules.SequenceManager.csproj b/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/e-suite.Modules.SequenceManager.csproj
index 014efc6..dce4944 100644
--- a/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/e-suite.Modules.SequenceManager.csproj
+++ b/e-suite.Modules.SequenceManager/e-Suite.Modules.SequenceManager/e-suite.Modules.SequenceManager.csproj
@@ -13,6 +13,7 @@
+
diff --git a/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager/IocRegistration.cs b/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager/IocRegistration.cs
index 1e74683..21f62f7 100644
--- a/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager/IocRegistration.cs
+++ b/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.SiteManager.repository;
namespace e_suite.Modules.SiteManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager/IocRegistration.cs b/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager/IocRegistration.cs
index d9d2b5b..d4aab0f 100644
--- a/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager/IocRegistration.cs
+++ b/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.SpecificationManager.repository;
namespace e_suite.Modules.SpecificationManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Modules.UserManager/e-suite.Modules.UserManager/IocRegistration.cs b/e-suite.Modules.UserManager/e-suite.Modules.UserManager/IocRegistration.cs
index fd96adc..939908a 100644
--- a/e-suite.Modules.UserManager/e-suite.Modules.UserManager/IocRegistration.cs
+++ b/e-suite.Modules.UserManager/e-suite.Modules.UserManager/IocRegistration.cs
@@ -1,15 +1,16 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Modules.UserManager.Facade;
using e_suite.Modules.UserManager.Repository;
using e_suite.Modules.UserManager.Services;
namespace e_suite.Modules.UserManager;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().SingleInstance();
builder.RegisterType().As().SingleInstance();
diff --git a/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj b/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj
index 510bce0..707feca 100644
--- a/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj
+++ b/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj
@@ -17,6 +17,7 @@
+
diff --git a/e-suite.Scheduler/e-suite.Scheduler/DependencyInjection/CoreRegistrationModule.cs b/e-suite.Scheduler/e-suite.Scheduler/DependencyInjection/CoreRegistrationModule.cs
index a8c435c..1d80f5c 100644
--- a/e-suite.Scheduler/e-suite.Scheduler/DependencyInjection/CoreRegistrationModule.cs
+++ b/e-suite.Scheduler/e-suite.Scheduler/DependencyInjection/CoreRegistrationModule.cs
@@ -1,6 +1,7 @@
using Autofac;
using e_suite.Database.Core;
using e_suite.Database.SqlServer;
+using e_suite.DependencyInjection;
using e_suite.Scheduler.Jobs;
using eSuite.Core.Clock;
using Microsoft.Extensions.Configuration;
@@ -11,7 +12,7 @@ namespace e_suite.Scheduler.DependencyInjection;
///
/// Used as a the primary location for IOC type registration for e-suite.
///
-public class CoreRegistrationModule : Module
+public class CoreRegistrationModule : ESuiteModule
{
///
/// Use the builder to register all the types and interfaces that the API requires to operate properly.
@@ -19,15 +20,23 @@ public class CoreRegistrationModule : Module
///
protected override void Load(ContainerBuilder builder)
{
+ base.Load(builder);
+
var loggerFactory = LoggerFactory.Create(loggingBuilder => loggingBuilder.AddConsole());
builder.Register( x=> loggerFactory.CreateLogger("e-Suite.Scheduler")).As().SingleInstance();
- IClock clock = new UtcClock();
- builder.RegisterInstance(clock).As().SingleInstance();
-
+
builder.RegisterInstance(ESuiteDatabaseExtension.BuildConfiguration()).As().SingleInstance();
- builder.Register(c => ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult()).As().InstancePerLifetimeScope();
+ builder.Register(c =>
+ {
+ var clock = c.Resolve();
+ return ESuiteDatabaseExtension.CreateDatabase(clock)
+ .GetAwaiter()
+ .GetResult();
+ })
+ .As()
+ .InstancePerLifetimeScope();
- Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
+ //Messaging.Common.IocRegistration.RegisterTypes(builder);
builder.RegisterType();
builder.RegisterType();
diff --git a/e-suite.Scheduler/e-suite.Scheduler/appsettings.json b/e-suite.Scheduler/e-suite.Scheduler/appsettings.json
index bd52181..a7df20a 100644
--- a/e-suite.Scheduler/e-suite.Scheduler/appsettings.json
+++ b/e-suite.Scheduler/e-suite.Scheduler/appsettings.json
@@ -1,5 +1,10 @@
{
"RabbitMQ": {
"hostname": "localhost"
- }
+ },
+ "Modules": [
+ "e-suite.API.Common.dll",
+ "e-suite.Database.SqlServer.dll",
+ "e-suite.Messaging.Common.dll"
+ ]
}
\ No newline at end of file
diff --git a/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj b/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj
index e532c88..9c7641e 100644
--- a/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj
+++ b/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj
@@ -17,6 +17,7 @@
+
diff --git a/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/IocRegistration.cs b/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/IocRegistration.cs
index b37e830..dca0f9b 100644
--- a/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/IocRegistration.cs
+++ b/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Service.CustomFieldValidation.Repository;
namespace e_suite.Service.CustomFieldValidation;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation.csproj b/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation.csproj
index 26df7b9..bc5ac7c 100644
--- a/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation.csproj
+++ b/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidation.csproj
@@ -13,6 +13,7 @@
+
diff --git a/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/IocRegistration.cs b/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/IocRegistration.cs
index f5ee4b0..701ad15 100644
--- a/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/IocRegistration.cs
+++ b/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/IocRegistration.cs
@@ -1,13 +1,14 @@
using Autofac;
using e_suite.API.Common;
+using e_suite.DependencyInjection;
using e_suite.Service.EFlowSync.EflowAPI;
using e_suite.Service.EFlowSync.Repository;
namespace e_suite.Service.EFlowSync;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As();
diff --git a/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.csproj b/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.csproj
index b508e0c..18632d5 100644
--- a/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.csproj
+++ b/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.csproj
@@ -25,6 +25,7 @@
+
diff --git a/e-suite.Service.Mail/e-suite.Service.Mail/IocRegistration.cs b/e-suite.Service.Mail/e-suite.Service.Mail/IocRegistration.cs
index f00818e..54a5883 100644
--- a/e-suite.Service.Mail/e-suite.Service.Mail/IocRegistration.cs
+++ b/e-suite.Service.Mail/e-suite.Service.Mail/IocRegistration.cs
@@ -1,14 +1,15 @@
using Autofac;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Service.Mail.Facade;
using e_suite.Service.Mail.repository;
using eSuite.Core.MailService;
namespace e_suite.Service.Mail;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj b/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj
index 70517b3..b41717f 100644
--- a/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj
+++ b/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj
@@ -14,6 +14,7 @@
+
diff --git a/e-suite.Service.Performance/e-suite.Service.Performance/Extensions/Web/PerformanceActionParamMaperFilter.cs b/e-suite.Service.Performance/e-suite.Service.Performance/Extensions/Web/PerformanceActionParamMaperFilter.cs
index b7bcfff..99394fe 100644
--- a/e-suite.Service.Performance/e-suite.Service.Performance/Extensions/Web/PerformanceActionParamMaperFilter.cs
+++ b/e-suite.Service.Performance/e-suite.Service.Performance/Extensions/Web/PerformanceActionParamMaperFilter.cs
@@ -29,7 +29,7 @@ public class PerformanceActionParamMaperFilter : ActionFilterAttribute
report!.ActionParameters = context.ActionArguments!;
}
- _memoryCache.Set(traceId, report);//TODO Remove magic string
+ _memoryCache.Set(traceId, report);
return base.OnActionExecutionAsync(context, next);
}
}
diff --git a/e-suite.Service.Performance/e-suite.Service.Performance/IocRegistration.cs b/e-suite.Service.Performance/e-suite.Service.Performance/IocRegistration.cs
index 2681242..7ec7172 100644
--- a/e-suite.Service.Performance/e-suite.Service.Performance/IocRegistration.cs
+++ b/e-suite.Service.Performance/e-suite.Service.Performance/IocRegistration.cs
@@ -1,5 +1,6 @@
using Autofac;
using e_suite.API.Common;
+using e_suite.DependencyInjection;
using e_suite.Service.Performance.Implementations;
using e_suite.Service.Performance.Interfaces;
using e_suite.Service.Performance.Repository;
@@ -7,9 +8,9 @@ using Microsoft.Extensions.Caching.Memory;
namespace e_suite.Service.Performance;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Service.Performance/e-suite.Service.Performance/e-suite.Service.Performance.csproj b/e-suite.Service.Performance/e-suite.Service.Performance/e-suite.Service.Performance.csproj
index 14fb40b..7623596 100644
--- a/e-suite.Service.Performance/e-suite.Service.Performance/e-suite.Service.Performance.csproj
+++ b/e-suite.Service.Performance/e-suite.Service.Performance/e-suite.Service.Performance.csproj
@@ -15,6 +15,7 @@
+
diff --git a/e-suite.Service.Sentinel/e-suite.Service.Sentinel/IocRegistration.cs b/e-suite.Service.Sentinel/e-suite.Service.Sentinel/IocRegistration.cs
index 1b6eddb..04e1f39 100644
--- a/e-suite.Service.Sentinel/e-suite.Service.Sentinel/IocRegistration.cs
+++ b/e-suite.Service.Sentinel/e-suite.Service.Sentinel/IocRegistration.cs
@@ -1,12 +1,13 @@
using Autofac;
using e_suite.API.Common.repository;
+using e_suite.DependencyInjection;
using e_suite.Service.Sentinel.Repository;
namespace e_suite.Service.Sentinel;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Service.Sentinel/e-suite.Service.Sentinel/e-suite.Service.Sentinel.csproj b/e-suite.Service.Sentinel/e-suite.Service.Sentinel/e-suite.Service.Sentinel.csproj
index 1c21020..a945633 100644
--- a/e-suite.Service.Sentinel/e-suite.Service.Sentinel/e-suite.Service.Sentinel.csproj
+++ b/e-suite.Service.Sentinel/e-suite.Service.Sentinel/e-suite.Service.Sentinel.csproj
@@ -17,6 +17,7 @@
+
diff --git a/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/IocRegistration.cs b/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/IocRegistration.cs
index a71f1a0..482e0df 100644
--- a/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/IocRegistration.cs
+++ b/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/IocRegistration.cs
@@ -1,5 +1,6 @@
using Autofac;
using e_suite.API.Common;
+using e_suite.DependencyInjection;
using e_suite.Service.SigmaImporter.GmgProfiles;
using e_suite.Service.SigmaImporter.Helpers;
using e_suite.Service.SigmaImporter.PrintSpecifications;
@@ -7,9 +8,9 @@ using e_suite.Service.SigmaImporter.Repository;
namespace e_suite.Service.SigmaImporter;
-public static class IocRegistration
+public class IocRegistration : IIocRegistration
{
- public static void RegisterTypes(ContainerBuilder builder)
+ public void RegisterTypes(ContainerBuilder builder)
{
builder.RegisterType().As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
diff --git a/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter.csproj b/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter.csproj
index b288522..9d8f33c 100644
--- a/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter.csproj
+++ b/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter/e-suite.Service.SigmaImporter.csproj
@@ -28,6 +28,7 @@
+
diff --git a/e-suite.Workflow.Core/ApprovalTaskAssignee.cs b/e-suite.Workflow.Core/ApprovalTaskAssignee.cs
index 5bb7f03..f13c600 100644
--- a/e-suite.Workflow.Core/ApprovalTaskAssignee.cs
+++ b/e-suite.Workflow.Core/ApprovalTaskAssignee.cs
@@ -1,7 +1,9 @@
-namespace e_suite.Workflow.Core;
-
-public class ApprovalTaskAssignee : TaskAssignee, IApprovalTaskAssignee
-{
- public bool Bypassable { get; set; }
- public bool AllowNoVerdict { get; set; }
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core;
+
+public class ApprovalTaskAssignee : TaskAssignee, IApprovalTaskAssignee
+{
+ public bool Bypassable { get; set; }
+ public bool AllowNoVerdict { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Attributes/GeneralTaskAttribute.cs b/e-suite.Workflow.Core/Attributes/GeneralTaskAttribute.cs
index cc4ee95..4f5ac9d 100644
--- a/e-suite.Workflow.Core/Attributes/GeneralTaskAttribute.cs
+++ b/e-suite.Workflow.Core/Attributes/GeneralTaskAttribute.cs
@@ -1,19 +1,19 @@
-namespace e_suite.Workflow.Core;
-
-public abstract class TaskTypeAttribute : Attribute
-{
-}
-
-public class GeneralTaskAttribute : TaskTypeAttribute
-{
- public bool AllowMultiple { get; }
-
- public GeneralTaskAttribute(bool allowMultiple = true)
- {
- AllowMultiple = allowMultiple;
- }
-}
-
-public class ApprovalTaskAttribute : TaskTypeAttribute
-{
+namespace e_suite.Workflow.Core.Attributes;
+
+public abstract class TaskTypeAttribute : Attribute
+{
+}
+
+public class GeneralTaskAttribute : TaskTypeAttribute
+{
+ public bool AllowMultiple { get; }
+
+ public GeneralTaskAttribute(bool allowMultiple = true)
+ {
+ AllowMultiple = allowMultiple;
+ }
+}
+
+public class ApprovalTaskAttribute : TaskTypeAttribute
+{
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Attributes/RuntimeOnlyAttribute.cs b/e-suite.Workflow.Core/Attributes/RuntimeOnlyAttribute.cs
index da2b71d..785cf63 100644
--- a/e-suite.Workflow.Core/Attributes/RuntimeOnlyAttribute.cs
+++ b/e-suite.Workflow.Core/Attributes/RuntimeOnlyAttribute.cs
@@ -1,6 +1,6 @@
-namespace e_suite.Workflow.Core;
-
-internal class RuntimeOnlyAttribute : Attribute
-{
-
+namespace e_suite.Workflow.Core.Attributes;
+
+internal class RuntimeOnlyAttribute : Attribute
+{
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Enums/BudgetOption.cs b/e-suite.Workflow.Core/Enums/BudgetOption.cs
index 883ebf9..e0b36fe 100644
--- a/e-suite.Workflow.Core/Enums/BudgetOption.cs
+++ b/e-suite.Workflow.Core/Enums/BudgetOption.cs
@@ -1,8 +1,8 @@
-namespace e_suite.Workflow.Core;
-
-public enum BudgetOption
-{
- DoNotShow,
- ShowOnly,
- ShowAndEdit
+namespace e_suite.Workflow.Core.Enums;
+
+public enum BudgetOption
+{
+ DoNotShow,
+ ShowOnly,
+ ShowAndEdit
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Enums/Priority.cs b/e-suite.Workflow.Core/Enums/Priority.cs
index 1d930db..f6b0901 100644
--- a/e-suite.Workflow.Core/Enums/Priority.cs
+++ b/e-suite.Workflow.Core/Enums/Priority.cs
@@ -1,8 +1,8 @@
-namespace e_suite.Workflow.Core;
-
-public enum Priority
-{
- Normal,
- High,
- Low
+namespace e_suite.Workflow.Core.Enums;
+
+public enum Priority
+{
+ Normal,
+ High,
+ Low
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Enums/Raci.cs b/e-suite.Workflow.Core/Enums/Raci.cs
index b1fecfc..2970694 100644
--- a/e-suite.Workflow.Core/Enums/Raci.cs
+++ b/e-suite.Workflow.Core/Enums/Raci.cs
@@ -1,9 +1,9 @@
-namespace e_suite.Workflow.Core;
-
-public enum Raci
-{
- Responsible,
- Accountable,
- Consulted,
- Informed
+namespace e_suite.Workflow.Core.Enums;
+
+public enum Raci
+{
+ Responsible,
+ Accountable,
+ Consulted,
+ Informed
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Enums/TaskStatus.cs b/e-suite.Workflow.Core/Enums/TaskStatus.cs
index 82dcd9a..d5e7ac2 100644
--- a/e-suite.Workflow.Core/Enums/TaskStatus.cs
+++ b/e-suite.Workflow.Core/Enums/TaskStatus.cs
@@ -1,17 +1,17 @@
-using System.ComponentModel;
-
-namespace e_suite.Workflow.Core;
-
-public enum TaskState
-{
- [Description("The task is waiting to start")]
- Pending,
- [Description("The task has been cancelled")]
- Cancelled,
- [Description("The task is active for user/system interaction and processing")]
- Active,
- [Description("The active portion of the task has finished and the task is ready to complete")]
- ReadyToComplete,
- [Description("The task has been completed")]
- Completed
+using System.ComponentModel;
+
+namespace e_suite.Workflow.Core.Enums;
+
+public enum TaskState
+{
+ [Description("The task is waiting to start")]
+ Pending,
+ [Description("The task has been cancelled")]
+ Cancelled,
+ [Description("The task is active for user/system interaction and processing")]
+ Active,
+ [Description("The active portion of the task has finished and the task is ready to complete")]
+ ReadyToComplete,
+ [Description("The task has been completed")]
+ Completed
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Enums/WorkflowState.cs b/e-suite.Workflow.Core/Enums/WorkflowState.cs
index 007298f..41a0b4c 100644
--- a/e-suite.Workflow.Core/Enums/WorkflowState.cs
+++ b/e-suite.Workflow.Core/Enums/WorkflowState.cs
@@ -1,17 +1,17 @@
-using System.ComponentModel;
-
-namespace e_suite.Workflow.Core;
-
-public enum WorkflowState
-{
- [Description("The workflow has not yet started")]
- Pending,
- [Description("The workflow has been cancelled abd wukk bit be processed")]
- Cancelled,
- [Description("The workflow is currently active for user/system interaction and processing")]
- Active,
- [Description("The active portion of the workflow has finished and the workflow is ready to complete")]
- ReadyToComplete,
- [Description("Processing of this item has finished the ")]
- Completed
+using System.ComponentModel;
+
+namespace e_suite.Workflow.Core.Enums;
+
+public enum WorkflowState
+{
+ [Description("The workflow has not yet started")]
+ Pending,
+ [Description("The workflow has been cancelled abd wukk bit be processed")]
+ Cancelled,
+ [Description("The workflow is currently active for user/system interaction and processing")]
+ Active,
+ [Description("The active portion of the workflow has finished and the workflow is ready to complete")]
+ ReadyToComplete,
+ [Description("Processing of this item has finished the ")]
+ Completed
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Extensions/ObjectExtensions.cs b/e-suite.Workflow.Core/Extensions/ObjectExtensions.cs
index 79c43d4..37bdfea 100644
--- a/e-suite.Workflow.Core/Extensions/ObjectExtensions.cs
+++ b/e-suite.Workflow.Core/Extensions/ObjectExtensions.cs
@@ -1,9 +1,9 @@
-namespace e_suite.Workflow.Core;
-
-public static class ObjectExtensions
-{
- public static bool In(this T obj, params T[] args)
- {
- return args.Contains(obj);
- }
+namespace e_suite.Workflow.Core.Extensions;
+
+public static class ObjectExtensions
+{
+ public static bool In(this T obj, params T[] args)
+ {
+ return args.Contains(obj);
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Extensions/StageExtensions.cs b/e-suite.Workflow.Core/Extensions/StageExtensions.cs
index af60648..da977b8 100644
--- a/e-suite.Workflow.Core/Extensions/StageExtensions.cs
+++ b/e-suite.Workflow.Core/Extensions/StageExtensions.cs
@@ -1,39 +1,45 @@
-using System.Collections.Concurrent;
-
-namespace e_suite.Workflow.Core;
-
-public static class StageExtensions
-{
- public static bool CanComplete(this IStage stage)
- where T : TaskTypeAttribute
- {
- return stage.Tasks.All(x =>
- x.IsCompleted());
- }
-
- private static readonly ConcurrentDictionary> AllowedTasksCache = new();
-
- public static IEnumerable AllowedTasks(this IStage stage)
- where T : TaskTypeAttribute
- {
- var attributeType = typeof(T);
-
- return AllowedTasksCache.GetOrAdd(attributeType, _ =>
- {
- return AppDomain.CurrentDomain
- .GetAssemblies()
- .SelectMany(a =>
- {
- try { return a.GetTypes(); }
- catch { return Array.Empty(); }
- })
- .Where(t =>
- t.IsClass &&
- !t.IsAbstract &&
- t.GetCustomAttributes(attributeType, inherit: true).Any())
- .ToArray();
- });
-
- }
-
+using System.Collections.Concurrent;
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Extensions;
+
+public static class StageExtensions
+{
+ public static bool CanComplete(this IStage stage)
+ where T : TaskTypeAttribute
+ {
+ return stage.Tasks.All(x =>
+ x.IsCompleted());
+ }
+
+ private static readonly ConcurrentDictionary> AllowedTasksCache = new();
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage(
+ "Style", "IDE0305:Collection initialization can be simplified",
+ Justification = "Materialization required for caching")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage(
+ "Style", "IDE0060:Removed unused parameter 'stage' if it is not part of a shipped public API",
+ Justification = "parameter required for extension method definition")]
+ public static IEnumerable AllowedTasks(this IStage stage)
+ where T : TaskTypeAttribute
+ {
+ var attributeType = typeof(T);
+
+ return AllowedTasksCache.GetOrAdd(attributeType, _ =>
+ {
+ return AppDomain.CurrentDomain
+ .GetAssemblies()
+ .SelectMany(a =>
+ {
+ try { return a.GetTypes(); }
+ catch { return []; }
+ })
+ .Where(t =>
+ t.IsClass &&
+ !t.IsAbstract &&
+ t.GetCustomAttributes(attributeType, inherit: true).Length != 0)
+ .ToArray();
+ });
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Extensions/TaskExtensions.cs b/e-suite.Workflow.Core/Extensions/TaskExtensions.cs
index 47a052c..92b7858 100644
--- a/e-suite.Workflow.Core/Extensions/TaskExtensions.cs
+++ b/e-suite.Workflow.Core/Extensions/TaskExtensions.cs
@@ -1,116 +1,121 @@
-namespace e_suite.Workflow.Core;
-
-//copied from Database.core.
-public class TaskDefinition
-{
- public string Type { get; set; } = string.Empty;
- public int Order { get; set; }
- public Dictionary? Config { get; set; }
-}
-
-public static class TaskExtensions
-{
- public static TaskDefinition ToDefinition(this ITask task, int order)
- {
- if (task is ITemplateValidatable v)
- {
- var errors = v.ValidateForTemplate().ToList();
- if (errors.Any())
- throw new InvalidOperationException(
- $"Task {task.GetType().Name} is invalid: {string.Join("; ", errors)}");
- }
-
- return new TaskDefinition
- {
- Type = task.GetType().AssemblyQualifiedName!,
- Order = order,
- Config = ExtractConfig(task)
- };
- }
-
- private static Dictionary ExtractConfig(object task)
- {
- var dict = new Dictionary();
-
- foreach (var prop in task.GetType().GetProperties())
- {
- if (!prop.CanRead) continue;
- if (prop.GetIndexParameters().Length > 0) continue; // skip indexers
- if (prop.IsDefined(typeof(RuntimeOnlyAttribute), inherit: true))
- continue;
-
- var value = prop.GetValue(task);
- if (value != null)
- dict[prop.Name] = value;
- }
-
- return dict;
- }
-
- public static ITask ToTask(this TaskDefinition def)
- {
- var type = Type.GetType(def.Type, throwOnError: true)!;
- var task = (ITask)Activator.CreateInstance(type)!;
-
- foreach (var kvp in def.Config)
- {
- var prop = type.GetProperty(kvp.Key);
- if (prop == null || !prop.CanWrite) continue;
- if (prop.IsDefined(typeof(RuntimeOnlyAttribute), inherit: true))
- continue;
-
-
- object? converted = ConvertValue(kvp.Value, prop.PropertyType);
- prop.SetValue(task, converted);
- }
-
- if (task is ITemplateValidatable v)
- {
- var errors = v.ValidateForTemplate().ToList();
- if (errors.Any())
- throw new InvalidOperationException(
- $"Task {task.GetType().Name} is invalid: {string.Join("; ", errors)}");
- }
-
- return task;
- }
-
- private static object? ConvertValue(object? value, Type targetType)
- {
- if (value == null) return null;
-
- // Handle enums
- if (targetType.IsEnum)
- return Enum.Parse(targetType, value.ToString()!);
-
- // Handle Guid
- if (targetType == typeof(Guid))
- return Guid.Parse(value.ToString()!);
-
- // Handle nullable types
- var underlying = Nullable.GetUnderlyingType(targetType);
- if (underlying != null)
- return Convert.ChangeType(value, underlying);
-
- return Convert.ChangeType(value, targetType);
- }
-
-
- public static bool IsCompleted(this ITask task)
- {
- return task.TaskState.In(TaskState.Completed, TaskState.Cancelled);
- }
-
- public static bool ReadyToActivate(this ITask task)
- {
- foreach (var predecessor in task.Predecessors)
- {
- if (!predecessor.IsCompleted())
- {
- return false;
- }
- }
-
- return true;
- }
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Enums;
+using e_suite.Workflow.Core.Interfaces;
+using e_suite.Workflow.Core.Tasks;
+
+namespace e_suite.Workflow.Core.Extensions;
+
+//copied from Database.core.
+public class TaskDefinition
+{
+ public string Type { get; set; } = string.Empty;
+ public int Order { get; set; }
+ public Dictionary? Config { get; set; }
+}
+
+public static class TaskExtensions
+{
+ public static TaskDefinition ToDefinition(this ITask task, int order)
+ {
+ if (task is ITemplateValidatable v)
+ {
+ var errors = v.ValidateForTemplate().ToList();
+ if (errors.Count != 0)
+ throw new InvalidOperationException(
+ $"Task {task.GetType().Name} is invalid: {string.Join("; ", errors)}");
+ }
+
+ return new TaskDefinition
+ {
+ Type = task.GetType().AssemblyQualifiedName!,
+ Order = order,
+ Config = ExtractConfig(task)
+ };
+ }
+
+ private static Dictionary ExtractConfig(object task)
+ {
+ var dict = new Dictionary();
+
+ foreach (var prop in task.GetType().GetProperties())
+ {
+ if (!prop.CanRead) continue;
+ if (prop.GetIndexParameters().Length > 0) continue; // skip indexers
+ if (prop.IsDefined(typeof(RuntimeOnlyAttribute), inherit: true))
+ continue;
+
+ var value = prop.GetValue(task);
+ if (value != null)
+ dict[prop.Name] = value;
+ }
+
+ return dict;
+ }
+
+ public static ITask ToTask(this TaskDefinition def)
+ {
+ var type = Type.GetType(def.Type, throwOnError: true)!;
+ var task = (ITask)Activator.CreateInstance(type)!;
+
+ if (def.Config != null)
+ foreach (var kvp in def.Config)
+ {
+ var prop = type.GetProperty(kvp.Key);
+ if (prop == null || !prop.CanWrite) continue;
+ if (prop.IsDefined(typeof(RuntimeOnlyAttribute), inherit: true))
+ continue;
+
+ object? converted = ConvertValue(kvp.Value, prop.PropertyType);
+ prop.SetValue(task, converted);
+ }
+
+ if (task is ITemplateValidatable v)
+ {
+ var errors = v.ValidateForTemplate().ToList();
+ if (errors.Count != 0)
+ throw new InvalidOperationException(
+ $"Task {task.GetType().Name} is invalid: {string.Join("; ", errors)}");
+ }
+
+ return task;
+ }
+
+ private static object? ConvertValue(object? value, Type targetType)
+ {
+ if (value == null) return null;
+
+ // Handle enums
+ if (targetType.IsEnum)
+ return Enum.Parse(targetType, value.ToString()!);
+
+ // Handle Guid
+ if (targetType == typeof(Guid))
+ return Guid.Parse(value.ToString()!);
+
+ // Handle nullable types
+ var underlying = Nullable.GetUnderlyingType(targetType);
+ if (underlying != null)
+ return Convert.ChangeType(value, underlying);
+
+ return Convert.ChangeType(value, targetType);
+ }
+
+
+ public static bool IsCompleted(this ITask task)
+ {
+ return task.TaskState.In(TaskState.Completed, TaskState.Cancelled);
+ }
+
+ public static bool ReadyToActivate(this ITask task)
+ {
+ foreach (var predecessor in task.Predecessors)
+ {
+ if (!predecessor.IsCompleted())
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Extensions/WorkflowExtensions.cs b/e-suite.Workflow.Core/Extensions/WorkflowExtensions.cs
index c44468c..0c81ca3 100644
--- a/e-suite.Workflow.Core/Extensions/WorkflowExtensions.cs
+++ b/e-suite.Workflow.Core/Extensions/WorkflowExtensions.cs
@@ -1,15 +1,17 @@
-namespace e_suite.Workflow.Core;
-
-public static class WorkflowExtensions
-{
- ///
- /// Returns true once the workflow has met any requirements that are needed to change the state to active.
- /// For example, earliest start time has passed.
- /// Or required starting information is now available.
- ///
- public static bool ReadyToActivate(this IWorkflow workflow)
- {
- //todo Check to see if the StartDate has passed.
- return true;
- }
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Extensions;
+
+public static class WorkflowExtensions
+{
+ ///
+ /// Returns true once the workflow has met any requirements that are needed to change the state to active.
+ /// For example, earliest start time has passed.
+ /// Or required starting information is now available.
+ ///
+ public static bool ReadyToActivate(this IWorkflow workflow)
+ {
+ //todo Check to see if the StartDate has passed.
+ return true;
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/IApprovalTaskAssignee.cs b/e-suite.Workflow.Core/Interfaces/IApprovalTaskAssignee.cs
index d645e49..92f5785 100644
--- a/e-suite.Workflow.Core/Interfaces/IApprovalTaskAssignee.cs
+++ b/e-suite.Workflow.Core/Interfaces/IApprovalTaskAssignee.cs
@@ -1,6 +1,6 @@
-namespace e_suite.Workflow.Core;
-
-public interface IApprovalTaskAssignee : ITaskAssignee, IBypassable
-{
- public bool AllowNoVerdict { get; set; }
+namespace e_suite.Workflow.Core.Interfaces;
+
+public interface IApprovalTaskAssignee : ITaskAssignee, IBypassable
+{
+ public bool AllowNoVerdict { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/IAssignees.cs b/e-suite.Workflow.Core/Interfaces/IAssignees.cs
index dd5e9d2..413469b 100644
--- a/e-suite.Workflow.Core/Interfaces/IAssignees.cs
+++ b/e-suite.Workflow.Core/Interfaces/IAssignees.cs
@@ -1,10 +1,10 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace e_suite.Workflow.Core;
-
-public interface IAssignees where T : ITaskAssignee
-{
- [Required]
- IList Assignees { get; }
-
+using System.ComponentModel.DataAnnotations;
+
+namespace e_suite.Workflow.Core.Interfaces;
+
+public interface IAssignees where T : ITaskAssignee
+{
+ [Required]
+ IList Assignees { get; }
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/IBypassable.cs b/e-suite.Workflow.Core/Interfaces/IBypassable.cs
index 202b9d4..14df8d1 100644
--- a/e-suite.Workflow.Core/Interfaces/IBypassable.cs
+++ b/e-suite.Workflow.Core/Interfaces/IBypassable.cs
@@ -1,6 +1,6 @@
-namespace e_suite.Workflow.Core;
-
-public interface IBypassable
-{
- public bool Bypassable { get; set; }
+namespace e_suite.Workflow.Core.Interfaces;
+
+public interface IBypassable
+{
+ public bool Bypassable { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs b/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs
index 0d2517a..a9d32da 100644
--- a/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs
+++ b/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs
@@ -1,12 +1,12 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace e_suite.Workflow.Core;
-
-public interface IFailedLoopback
-{
- ///
- /// ITask OnCompleteAsync returns false, the workflow processor will initiate a loopback to this item.
- ///
- [Required]
- public Task Loopback { get; set; }
+using System.ComponentModel.DataAnnotations;
+
+namespace e_suite.Workflow.Core.Interfaces;
+
+public interface IFailedLoopback
+{
+ ///
+ /// ITask OnCompleteAsync returns false, the workflow processor will initiate a loopback to this item.
+ ///
+ [Required]
+ public Task Loopback { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/IStage.cs b/e-suite.Workflow.Core/Interfaces/IStage.cs
index c1ed160..b204409 100644
--- a/e-suite.Workflow.Core/Interfaces/IStage.cs
+++ b/e-suite.Workflow.Core/Interfaces/IStage.cs
@@ -1,12 +1,13 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace e_suite.Workflow.Core;
-
-public interface IStage where T : TaskTypeAttribute
-{
- ///
- /// Tasks that need to be completed before this stage of a workflow is considered complete.
- ///
- [Required]
- ICollection Tasks { get; }
+using System.ComponentModel.DataAnnotations;
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Interfaces;
+
+public interface IStage where T : TaskTypeAttribute
+{
+ ///
+ /// Tasks that need to be completed before this stage of a workflow is considered complete.
+ ///
+ [Required]
+ ICollection Tasks { get; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/ITask.cs b/e-suite.Workflow.Core/Interfaces/ITask.cs
index 813b67a..fe45b73 100644
--- a/e-suite.Workflow.Core/Interfaces/ITask.cs
+++ b/e-suite.Workflow.Core/Interfaces/ITask.cs
@@ -1,4 +1,6 @@
-namespace e_suite.Workflow.Core;
+using e_suite.Workflow.Core.Enums;
+
+namespace e_suite.Workflow.Core.Interfaces;
public interface ITask
{
diff --git a/e-suite.Workflow.Core/Interfaces/ITaskAssignee.cs b/e-suite.Workflow.Core/Interfaces/ITaskAssignee.cs
index d318ec9..87bd146 100644
--- a/e-suite.Workflow.Core/Interfaces/ITaskAssignee.cs
+++ b/e-suite.Workflow.Core/Interfaces/ITaskAssignee.cs
@@ -1,12 +1,13 @@
-using e_suite.Database.Core.Tables.Contacts;
-using e_suite.Database.Core.Tables.Domain;
-
-namespace e_suite.Workflow.Core;
-
-public interface ITaskAssignee
-{
- public Role? Role { get; set; }
- public Contact? Contact { get; set; }
-
- public Raci Raci { get; set; }
+using e_suite.Database.Core.Tables.Contacts;
+using e_suite.Database.Core.Tables.Domain;
+using e_suite.Workflow.Core.Enums;
+
+namespace e_suite.Workflow.Core.Interfaces;
+
+public interface ITaskAssignee
+{
+ public Role? Role { get; set; }
+ public Contact? Contact { get; set; }
+
+ public Raci Raci { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Interfaces/IWorkflow.cs b/e-suite.Workflow.Core/Interfaces/IWorkflow.cs
index 1d810ad..180a864 100644
--- a/e-suite.Workflow.Core/Interfaces/IWorkflow.cs
+++ b/e-suite.Workflow.Core/Interfaces/IWorkflow.cs
@@ -1,6 +1,8 @@
-using eSuite.Core.Miscellaneous;
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Enums;
+using eSuite.Core.Miscellaneous;
-namespace e_suite.Workflow.Core;
+namespace e_suite.Workflow.Core.Interfaces;
public interface IWorkflow : IStage
{
@@ -23,6 +25,7 @@ public interface IWorkflow : IStage
///
string Description { get; set; }
+ //todo Move this out to runtime only.
///
/// If the workflow has been paused, will be true.
///
diff --git a/e-suite.Workflow.Core/TaskAssignee.cs b/e-suite.Workflow.Core/TaskAssignee.cs
index 774d103..977a9fb 100644
--- a/e-suite.Workflow.Core/TaskAssignee.cs
+++ b/e-suite.Workflow.Core/TaskAssignee.cs
@@ -1,24 +1,26 @@
-using e_suite.Database.Core.Tables.Contacts;
-using e_suite.Database.Core.Tables.Domain;
-using System.ComponentModel.DataAnnotations;
-
-namespace e_suite.Workflow.Core;
-
-public class TaskAssignee : ITaskAssignee, IValidatableObject
-{
- public Role? Role { get; set; }
- public Contact? Contact { get; set; }
- public Raci Raci { get; set; }
-
- public IEnumerable Validate(ValidationContext validationContext)
- {
- if (!((Role != null) ^ (Contact != null))) //Role Xor Contact means either must be set, but not both the same
- {
- yield return new ValidationResult(
- "Either Role or Contact must be set, but not both.",
- [nameof(Role), nameof(Contact)]
- );
- }
- }
-
+using e_suite.Database.Core.Tables.Contacts;
+using e_suite.Database.Core.Tables.Domain;
+using System.ComponentModel.DataAnnotations;
+using e_suite.Workflow.Core.Enums;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core;
+
+public class TaskAssignee : ITaskAssignee, IValidatableObject
+{
+ public Role? Role { get; set; }
+ public Contact? Contact { get; set; }
+ public Raci Raci { get; set; }
+
+ public IEnumerable Validate(ValidationContext validationContext)
+ {
+ if (!((Role != null) ^ (Contact != null))) //Role Xor Contact means either must be set, but not both the same
+ {
+ yield return new ValidationResult(
+ "Either Role or Contact must be set, but not both.",
+ [nameof(Role), nameof(Contact)]
+ );
+ }
+ }
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/TaskBase.cs b/e-suite.Workflow.Core/TaskBase.cs
index dcbb9b4..5dd562f 100644
--- a/e-suite.Workflow.Core/TaskBase.cs
+++ b/e-suite.Workflow.Core/TaskBase.cs
@@ -1,4 +1,7 @@
-namespace e_suite.Workflow.Core;
+using e_suite.Workflow.Core.Enums;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core;
public abstract class TaskBase : ITask
{
diff --git a/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs b/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs
index 10fc2ad..36565cc 100644
--- a/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs
+++ b/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs
@@ -1,4 +1,7 @@
-namespace e_suite.Workflow.Core;
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Tasks;
[GeneralTask]
public class AdhocApprovalTask : TaskBase, IAssignees, IFailedLoopback
diff --git a/e-suite.Workflow.Core/Tasks/ApprovalStep.cs b/e-suite.Workflow.Core/Tasks/ApprovalStep.cs
index 5fabeb5..9f816f0 100644
--- a/e-suite.Workflow.Core/Tasks/ApprovalStep.cs
+++ b/e-suite.Workflow.Core/Tasks/ApprovalStep.cs
@@ -1,8 +1,11 @@
-namespace e_suite.Workflow.Core;
-
-[ApprovalTask]
-public class ApprovalStep : TaskBase, IAssignees
-{
- public IList Assignees { get; } = [];
-
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[ApprovalTask]
+public class ApprovalStep : TaskBase, IAssignees
+{
+ public IList Assignees { get; } = [];
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/ApprovalTask.cs b/e-suite.Workflow.Core/Tasks/ApprovalTask.cs
index 8025599..b9f8e12 100644
--- a/e-suite.Workflow.Core/Tasks/ApprovalTask.cs
+++ b/e-suite.Workflow.Core/Tasks/ApprovalTask.cs
@@ -1,15 +1,18 @@
-namespace e_suite.Workflow.Core;
-
-[GeneralTask]
-public class ApprovalTask : TaskBase, IStage, IFailedLoopback
-{
- public required Task Loopback { get; set; }
-
- public ICollection Tasks { get; } = new List();
-
- public override Task OnCompleteAsync()
- {
-
- return Task.FromResult(true);
- }
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[GeneralTask]
+public class ApprovalTask : TaskBase, IStage, IFailedLoopback
+{
+ public required Task Loopback { get; set; }
+
+ public ICollection Tasks { get; } = new List();
+
+ public override Task OnCompleteAsync()
+ {
+
+ return Task.FromResult(true);
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/AssetUploadTask.cs b/e-suite.Workflow.Core/Tasks/AssetUploadTask.cs
index 70b42a5..89a6075 100644
--- a/e-suite.Workflow.Core/Tasks/AssetUploadTask.cs
+++ b/e-suite.Workflow.Core/Tasks/AssetUploadTask.cs
@@ -1,6 +1,8 @@
-namespace e_suite.Workflow.Core;
-
-[GeneralTask]
-public class AssetUploadTask : TaskBase
-{
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[GeneralTask]
+public class AssetUploadTask : TaskBase
+{
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/BasicTask.cs b/e-suite.Workflow.Core/Tasks/BasicTask.cs
index 84e1b49..ae18d19 100644
--- a/e-suite.Workflow.Core/Tasks/BasicTask.cs
+++ b/e-suite.Workflow.Core/Tasks/BasicTask.cs
@@ -1,10 +1,12 @@
-namespace e_suite.Workflow.Core;
-
-///
-/// A user has to open this task, manually set it to ready to complete
-///
-[GeneralTask]
-public class BasicTask : TaskBase
-{
-
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+///
+/// A user has to open this task, manually set it to ready to complete
+///
+[GeneralTask]
+public class BasicTask : TaskBase
+{
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/ContentCollationTask.cs b/e-suite.Workflow.Core/Tasks/ContentCollationTask.cs
index b42bf03..dc07b9e 100644
--- a/e-suite.Workflow.Core/Tasks/ContentCollationTask.cs
+++ b/e-suite.Workflow.Core/Tasks/ContentCollationTask.cs
@@ -1,10 +1,13 @@
-namespace e_suite.Workflow.Core;
-
-///
-/// Create a table of field data for output to PDF or AdobeIllustrator
-///
-[GeneralTask]
-public class ContentCollationTask : TaskBase, IAssignees
-{
- public IList Assignees { get; } = [];
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+///
+/// Create a table of field data for output to PDF or AdobeIllustrator
+///
+[GeneralTask]
+public class ContentCollationTask : TaskBase, IAssignees
+{
+ public IList Assignees { get; } = [];
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/FileReleaseTask.cs b/e-suite.Workflow.Core/Tasks/FileReleaseTask.cs
index ab2280b..9d5792d 100644
--- a/e-suite.Workflow.Core/Tasks/FileReleaseTask.cs
+++ b/e-suite.Workflow.Core/Tasks/FileReleaseTask.cs
@@ -1,10 +1,12 @@
-namespace e_suite.Workflow.Core;
-
-///
-/// This task will allow Asset files to be released, and automatically uploaded to an external source
-///
-[GeneralTask(allowMultiple: false)]
-public class FileReleaseTask : TaskBase
-{
-
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+///
+/// This task will allow Asset files to be released, and automatically uploaded to an external source
+///
+[GeneralTask(allowMultiple: false)]
+public class FileReleaseTask : TaskBase
+{
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/FormDataInputTask.cs b/e-suite.Workflow.Core/Tasks/FormDataInputTask.cs
index 0708929..0452175 100644
--- a/e-suite.Workflow.Core/Tasks/FormDataInputTask.cs
+++ b/e-suite.Workflow.Core/Tasks/FormDataInputTask.cs
@@ -1,25 +1,27 @@
-using eSuite.Core.Miscellaneous;
-
-namespace e_suite.Workflow.Core;
-
-public interface ITemplateValidatable
-{
- IEnumerable ValidateForTemplate();
-}
-
-
-
-[GeneralTask]
-public class FormDataInputTask : TaskBase, IAssignees, ITemplateValidatable
-{
- public IList Assignees { get; } = new List();
- public bool IsMultiple { get; set; }
- public bool ContainsDecision { get; set; }
- public required IGeneralIdRef FormIdRef { get; set; }
-
- public IEnumerable ValidateForTemplate()
- {
- if (FormIdRef == null)
- yield return "FormIdRef is required.";
- }
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+using eSuite.Core.Miscellaneous;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+public interface ITemplateValidatable
+{
+ IEnumerable ValidateForTemplate();
+}
+
+
+
+[GeneralTask]
+public class FormDataInputTask : TaskBase, IAssignees, ITemplateValidatable
+{
+ public IList Assignees { get; } = new List();
+ public bool IsMultiple { get; set; }
+ public bool ContainsDecision { get; set; }
+ public required IGeneralIdRef FormIdRef { get; set; }
+
+ public IEnumerable ValidateForTemplate()
+ {
+ if (FormIdRef == null)
+ yield return "FormIdRef is required.";
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/LinkActivityTask.cs b/e-suite.Workflow.Core/Tasks/LinkActivityTask.cs
index a61a913..072bba2 100644
--- a/e-suite.Workflow.Core/Tasks/LinkActivityTask.cs
+++ b/e-suite.Workflow.Core/Tasks/LinkActivityTask.cs
@@ -1,7 +1,9 @@
-namespace e_suite.Workflow.Core;
-
-[GeneralTask]
-public class LinkActivityTask : TaskBase
-{
-
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[GeneralTask]
+public class LinkActivityTask : TaskBase
+{
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/MilestoneTask.cs b/e-suite.Workflow.Core/Tasks/MilestoneTask.cs
index 17ab5e3..0c788e5 100644
--- a/e-suite.Workflow.Core/Tasks/MilestoneTask.cs
+++ b/e-suite.Workflow.Core/Tasks/MilestoneTask.cs
@@ -1,14 +1,17 @@
-namespace e_suite.Workflow.Core;
-
-///
-/// A Milestone task does not have any specific processing, so is ready to complete as soon at it starts.
-///
-[GeneralTask]
-public class MilestoneTask : TaskBase
-{
- public override async Task OnActivateAsync()
- {
- await base.OnActivateAsync();
- TaskState = TaskState.ReadyToComplete;
- }
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Enums;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+///
+/// A Milestone task does not have any specific processing, so is ready to complete as soon at it starts.
+///
+[GeneralTask]
+public class MilestoneTask : TaskBase
+{
+ public override async Task OnActivateAsync()
+ {
+ await base.OnActivateAsync();
+ TaskState = TaskState.ReadyToComplete;
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/StageTask.cs b/e-suite.Workflow.Core/Tasks/StageTask.cs
index 8e32699..7e6a7f0 100644
--- a/e-suite.Workflow.Core/Tasks/StageTask.cs
+++ b/e-suite.Workflow.Core/Tasks/StageTask.cs
@@ -1,9 +1,12 @@
-namespace e_suite.Workflow.Core;
-
-[GeneralTask]
-public class StageTask : TaskBase, IStage, IBypassable
-{
- public ICollection Tasks { get; } = new List();
-
- public bool Bypassable { get; set; }
+using e_suite.Workflow.Core.Attributes;
+using e_suite.Workflow.Core.Interfaces;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[GeneralTask]
+public class StageTask : TaskBase, IStage, IBypassable
+{
+ public ICollection Tasks { get; } = new List();
+
+ public bool Bypassable { get; set; }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/VisualBriefReviewTask.cs b/e-suite.Workflow.Core/Tasks/VisualBriefReviewTask.cs
index 024ed8c..5916c6f 100644
--- a/e-suite.Workflow.Core/Tasks/VisualBriefReviewTask.cs
+++ b/e-suite.Workflow.Core/Tasks/VisualBriefReviewTask.cs
@@ -1,7 +1,9 @@
-namespace e_suite.Workflow.Core;
-
-[GeneralTask]
-public class VisualBriefReviewTask : TaskBase
-{
-
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[GeneralTask]
+public class VisualBriefReviewTask : TaskBase
+{
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Tasks/VisualBriefUploadTask.cs b/e-suite.Workflow.Core/Tasks/VisualBriefUploadTask.cs
index 538bf93..693be51 100644
--- a/e-suite.Workflow.Core/Tasks/VisualBriefUploadTask.cs
+++ b/e-suite.Workflow.Core/Tasks/VisualBriefUploadTask.cs
@@ -1,7 +1,9 @@
-namespace e_suite.Workflow.Core;
-
-[GeneralTask]
-public class VisualBriefUploadTask : TaskBase
-{
-
+using e_suite.Workflow.Core.Attributes;
+
+namespace e_suite.Workflow.Core.Tasks;
+
+[GeneralTask]
+public class VisualBriefUploadTask : TaskBase
+{
+
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/Workflow.cs b/e-suite.Workflow.Core/Workflow.cs
index 7f64a55..8856bda 100644
--- a/e-suite.Workflow.Core/Workflow.cs
+++ b/e-suite.Workflow.Core/Workflow.cs
@@ -1,30 +1,32 @@
-using eSuite.Core.Miscellaneous;
-
-namespace e_suite.Workflow.Core;
-
-public class WorkflowTemplate
-{
- ///
- /// Name of the workflow as seen by users, must be unique.
- ///
- public required string Name { get; set; }
-
-}
-
-public class WorkflowVersion : IWorkflow
-{
- public required WorkflowTemplate Template { get; set; }
- public ICollection Tasks { get; } = new List(); //Serialise to Json.
- public required IGeneralIdRef Domain { get; set; }
- public WorkflowState CurrentState { get; set; } = WorkflowState.Pending;
- public required string ActivityNameTemplate { get; set; }
- public string Description { get; set; } = string.Empty;
- public bool Paused { get; } = false;
- public async Task OnActivateAsync()
- {
- }
-
- public async Task OnCompleteAsync()
- {
- }
+using e_suite.Workflow.Core.Enums;
+using e_suite.Workflow.Core.Interfaces;
+using eSuite.Core.Miscellaneous;
+
+namespace e_suite.Workflow.Core;
+
+public class WorkflowTemplate
+{
+ ///
+ /// Name of the workflow as seen by users, must be unique.
+ ///
+ public required string Name { get; set; }
+
+}
+
+public class WorkflowVersion : IWorkflow
+{
+ public required WorkflowTemplate Template { get; set; }
+ public ICollection Tasks { get; } = new List(); //Serialise to Json.
+ public required IGeneralIdRef Domain { get; set; }
+ public WorkflowState CurrentState { get; set; } = WorkflowState.Pending;
+ public required string ActivityNameTemplate { get; set; }
+ public string Description { get; set; } = string.Empty;
+ public bool Paused { get; } = false;
+ public async Task OnActivateAsync()
+ {
+ }
+
+ public async Task OnCompleteAsync()
+ {
+ }
}
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.dll b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.dll
index 0c1a5a5..0a4ff2d 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.dll and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.dll differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.pdb b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.pdb
index 331774c..7a8cd07 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.pdb and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Audit.pdb differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.dll b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.dll
index 3739327..d8fb0ce 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.dll and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.dll differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.pdb b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.pdb
index c4bf7bf..8c9d1c7 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.pdb and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Database.Core.pdb differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll
index b9e7562..30c1afd 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.dll differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb
index 3b511f7..186975e 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Nuget.PasswordHasher.pdb differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.dll b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.dll
index 49498cf..e3940a3 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.dll and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.dll differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.pdb b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.pdb
index f507421..3926398 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.pdb and b/e-suite.Workflow.Core/bin/Debug/net10.0/e-suite.Workflow.Core.pdb differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.dll b/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.dll
index 537d423..96372c0 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.dll and b/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.dll differ
diff --git a/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.pdb b/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.pdb
index dbcfb9e..808f765 100644
Binary files a/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.pdb and b/e-suite.Workflow.Core/bin/Debug/net10.0/eSuite.Core.pdb differ
diff --git a/e-suite.Workflow.Core/e-suite.Workflow.Core.csproj.DotSettings b/e-suite.Workflow.Core/e-suite.Workflow.Core.csproj.DotSettings
index 0082c75..455d8ff 100644
--- a/e-suite.Workflow.Core/e-suite.Workflow.Core.csproj.DotSettings
+++ b/e-suite.Workflow.Core/e-suite.Workflow.Core.csproj.DotSettings
@@ -1,6 +1,6 @@
- True
- True
- True
- True
- True
\ No newline at end of file
+ False
+ False
+ False
+ False
+ False
\ No newline at end of file
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfo.cs b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfo.cs
index 95cfa95..841de78 100644
--- a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfo.cs
+++ b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("e-suite.Workflow.Core")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5aa0151c59e2666c508b96df9e92dabf83e500c9")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e0510eeef5786b3814db949f18e6ff637e7b43f3")]
[assembly: System.Reflection.AssemblyProductAttribute("e-suite.Workflow.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("e-suite.Workflow.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfoInputs.cache b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfoInputs.cache
index 98cec69..6dda0d6 100644
--- a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfoInputs.cache
+++ b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.AssemblyInfoInputs.cache
@@ -1 +1 @@
-401d80c848c6581f40e8a691ecc83524e9c984106b2aac0cef841233e271a764
+f2c1310327c63601826ed9b475aa2fe537225a09eca38a23c90f65e6fa275d1f
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.AssemblyReference.cache b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.AssemblyReference.cache
index d983b6a..29abc16 100644
Binary files a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.AssemblyReference.cache and b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.AssemblyReference.cache differ
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.CoreCompileInputs.cache b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.CoreCompileInputs.cache
index 44a8a46..59651d1 100644
--- a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.CoreCompileInputs.cache
+++ b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-928260e514d8eec0d90d08f04f12cd44d9b357e584d0360663b3ba103d8f51f4
+0770c3c61d9b44788ab74a85607c79262009017978e8742fd55897e4443388a9
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.FileListAbsolute.txt b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.FileListAbsolute.txt
index 8373d67..eebd775 100644
--- a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.FileListAbsolute.txt
+++ b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.csproj.FileListAbsolute.txt
@@ -1,22 +1,44 @@
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.deps.json
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Audit.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.dll.config
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Core.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Audit.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.csproj.AssemblyReference.cache
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.GeneratedMSBuildEditorConfig.editorconfig
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.AssemblyInfoInputs.cache
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.AssemblyInfo.cs
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.csproj.CoreCompileInputs.cache
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite..EEFC2709.Up2Date
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\refint\e-suite.Workflow.Core.dll
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.pdb
-C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\ref\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.deps.json
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Audit.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.dll.config
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Core.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Audit.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.csproj.AssemblyReference.cache
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.AssemblyInfoInputs.cache
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.AssemblyInfo.cs
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.csproj.CoreCompileInputs.cache
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite..EEFC2709.Up2Date
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\refint\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.pdb
+C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Workflow.Core\obj\Debug\net10.0\ref\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.deps.json
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Workflow.Core.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Audit.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\eSuite.Core.dll.config
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Core.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Database.Audit.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.csproj.AssemblyReference.cache
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.AssemblyInfoInputs.cache
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.AssemblyInfo.cs
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.csproj.CoreCompileInputs.cache
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite..EEFC2709.Up2Date
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\refint\e-suite.Workflow.Core.dll
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\e-suite.Workflow.Core.pdb
+C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Workflow.Core\obj\Debug\net10.0\ref\e-suite.Workflow.Core.dll
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.dll b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.dll
index 49498cf..e3940a3 100644
Binary files a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.dll and b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.dll differ
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.pdb b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.pdb
index f507421..3926398 100644
Binary files a/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.pdb and b/e-suite.Workflow.Core/obj/Debug/net10.0/e-suite.Workflow.Core.pdb differ
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/ref/e-suite.Workflow.Core.dll b/e-suite.Workflow.Core/obj/Debug/net10.0/ref/e-suite.Workflow.Core.dll
index 260bdaf..d51d6ce 100644
Binary files a/e-suite.Workflow.Core/obj/Debug/net10.0/ref/e-suite.Workflow.Core.dll and b/e-suite.Workflow.Core/obj/Debug/net10.0/ref/e-suite.Workflow.Core.dll differ
diff --git a/e-suite.Workflow.Core/obj/Debug/net10.0/refint/e-suite.Workflow.Core.dll b/e-suite.Workflow.Core/obj/Debug/net10.0/refint/e-suite.Workflow.Core.dll
index 260bdaf..d51d6ce 100644
Binary files a/e-suite.Workflow.Core/obj/Debug/net10.0/refint/e-suite.Workflow.Core.dll and b/e-suite.Workflow.Core/obj/Debug/net10.0/refint/e-suite.Workflow.Core.dll differ
diff --git a/e-suite.argr b/e-suite.argr
new file mode 100644
index 0000000..383a67f
--- /dev/null
+++ b/e-suite.argr
@@ -0,0 +1,571 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eSuite.sln b/eSuite.sln
index b198b44..b1d9b16 100644
--- a/eSuite.sln
+++ b/eSuite.sln
@@ -1,516 +1,523 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 18
-VisualStudioVersion = 18.2.11408.102
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "eSuite.API", "e-suite.API\eSuite.API\eSuite.API.csproj", "{4A704FA7-4E3A-4CFA-B043-434A0C49AF89}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Test", "_Test", "{9B943FFF-4CEA-4206-BFD4-2450317733C1}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "eSuite.API.UnitTests", "e-suite.API\eSuite.API.UnitTests\eSuite.API.UnitTests.csproj", "{D64B6107-D791-4B90-BB3E-020DB5E77FC5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Database.Migrator", "e-suite.API\e-suite.Database.Migrator\e-suite.Database.Migrator.csproj", "{734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Scheduler", "e-suite.Scheduler\e-suite.Scheduler\e-suite.Scheduler.csproj", "{B3066274-4804-4BF3-B531-5CF0EAEED998}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.MessageProcessor", "e-suite.MessageProcessor\e-suite.MessageProcessor\e-suite.MessageProcessor.csproj", "{5419EC24-755C-4D26-A6F1-90F478734EC3}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.MessageProcessor.UnitTests", "e-suite.MessageProcessor\e-suite.MessageProcessor.UnitTests\e-suite.MessageProcessor.UnitTests.csproj", "{1C7935CA-D27D-4C6E-8211-4902093EBADE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Scheduler.UnitTests", "e-suite.Scheduler\e-suite.Scheduler.UnitTests\e-suite.Scheduler.UnitTests.csproj", "{E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Modules.UserManager", "e-suite.Modules.UserManager\e-suite.Modules.UserManager\e-suite.Modules.UserManager.csproj", "{A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Modules.RoleManager", "e-suite.Modules.RoleManager\e-suite.Modules.RoleManager\e-suite.Modules.RoleManager.csproj", "{98118595-EA61-4B02-86A9-0AFD16F84154}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{B0DE567F-EA4E-43FA-8A16-A0D571852024}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Workflow.Core", "e-suite.Workflow.Core\e-suite.Workflow.Core.csproj", "{92811343-6BCB-D7E5-63D9-2F6A56AE182C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.API.Common.UnitTests", "e-suite.API.Common\e-suite.API.Common.UnitTests\e-suite.API.Common.UnitTests.csproj", "{7DC1F493-76A5-3740-E774-C8DAA51ED83A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.API.Common", "e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj", "{974467C0-14E3-D020-066A-74EDE1567927}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eSuite.Core", "e-suite.Core\eSuite.Core\eSuite.Core.csproj", "{6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eSuite.Core.UnitTests", "e-suite.Core\eSuite.Core.UnitTests\eSuite.Core.UnitTests.csproj", "{301C8257-F782-D760-C9C9-1ECB6D16A40F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Audit", "e-suite.Database.Audit\e-suite.Database.Audit\e-suite.Database.Audit.csproj", "{912B58AC-5208-0593-50F4-3266B8215ADF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Audit.UnitTests", "e-suite.Database.Audit\e-suite.Database.Audit.UnitTests\e-suite.Database.Audit.UnitTests.csproj", "{9FF5E580-363C-02D5-4D4D-840BEC438024}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Core", "e-suite.Database.Core\e-suite.Database.Core\e-suite.Database.Core.csproj", "{BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Core.UnitTests", "e-suite.Database.Core\e-suite.Database.Core.UnitTests\e-suite.Database.Core.UnitTests.csproj", "{1010CF64-11D6-2419-7116-50BBB0036269}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.MigrationBuilder", "e-suite.Database.SqlServer\e-suite.Database.MigrationBuilder\e-suite.Database.MigrationBuilder.csproj", "{1304ECBF-49B4-FE11-91DD-E8117FBD4B53}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.SqlServer", "e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj", "{ABBA144D-0FC3-DC41-714B-F2979135ED03}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.SqlServer.UnitTests", "e-suite.Database.SqlServer\e-suite.Database.SqlServer.UnitTests\e-suite.Database.SqlServer.UnitTests.csproj", "{DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.BlockedIPsManager", "e-suite.Manager.BlockedIPs\e-suite.Modules.BlockedIPsManager\e-suite.Modules.BlockedIPsManager.csproj", "{200BE400-74BC-12E2-C93B-72CFBF519BA7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.BlockedIPsManager.UnitTests", "e-suite.Manager.BlockedIPs\e-suite.Modules.BlockedIPsManager.UnitTests\e-suite.Modules.BlockedIPsManager.UnitTests.csproj", "{D7D9090B-A599-BD4D-67DE-2B90E1360455}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Messaging.Common", "e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj", "{5BFFA4A6-FCF6-C849-A843-3654413FE2B9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Messaging.Common.UnitTests", "e-suite.Messaging.Common\e-suite.Messaging.Common.UnitTests\e-suite.Messaging.Common.UnitTests.csproj", "{A361DCD2-9105-8062-0F7A-DA981604AE0F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.AuditLog", "e-suite.Modules.AuditLog\e-suite.Modules.AuditLog\e-suite.Modules.AuditLog.csproj", "{C5DF6786-BCFE-26B1-E392-F0031BB7631C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuditLog.UnitTests", "e-suite.Modules.AuditLog\AuditLog.UnitTests\AuditLog.UnitTests.csproj", "{D2B1CBFA-0EB0-A918-D10C-C29461F3E569}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.CustomFieldsManager", "e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager.csproj", "{76876AB4-0D53-E9E4-1DBF-180B680F6712}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e_suite.Modules.CustomFieldManagerUnitTests", "e-suite.Modules.CustomFieldsManager\e_suite.Modules.CusomFieldManagerUnitTest\e_suite.Modules.CustomFieldManagerUnitTests.csproj", "{73E50199-E462-B108-664A-1921E56D60A7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.DomainManager", "e-suite.Modules.DomainManager\e-suite.Modules.DomainManager\e-suite.Modules.DomainManager.csproj", "{BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.DomainManager.UnitTests", "e-suite.Modules.DomainManager\e-suite.Modules.DomainManager.UnitTests\e-suite.Modules.DomainManager.UnitTests.csproj", "{F88289B2-89E7-34E1-7A2E-063592A27946}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.ExceptionLogManager", "e-suite.Modules.ExceptionLogManager\e-suite.Modules.ExceptionLogManager\e-suite.Modules.ExceptionLogManager.csproj", "{01A0802E-33A3-DBDB-963D-A90740C9FABF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.ExceptionLogManager.UnitTests", "e-suite.Modules.ExceptionLogManager\e-suite.Modules.ExceptionLogManager.UnitTests\e-suite.Modules.ExceptionLogManager.UnitTests.csproj", "{353E395A-B7CD-356D-49A1-6A15B72BAC0A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.FormsManager", "e-suite.Modules.FormsManager\e-suite.Modules.FormsManager\e-suite.Modules.FormsManager.csproj", "{98B4DEE1-56AF-DEB7-9725-59CF770BA430}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e_suite.Modules.FormsManagerUnitTests", "e-suite.Modules.FormsManager\e_suite.Modules.Form.ManagerUnitTest\e_suite.Modules.FormsManagerUnitTests.csproj", "{F3A13EA7-AB5F-977E-3F71-82C5341119CD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.GlossariesManager", "e-suite.Modules.GlossariesManager\e-suite.Modules.GlossariesManager\e-suite.Modules.GlossariesManager.csproj", "{412B0BD7-CDDC-E992-B8C5-862EEEB752BF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GlossariesManager.UnitTests", "e-suite.Modules.GlossariesManager\GlossariesManager.UnitTests\GlossariesManager.UnitTests.csproj", "{19C9D511-9C0A-2F31-3026-05EEFB585657}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.MailTemplatesManager.UnitTests", "e-suite.Modules.MailTemplatesManager\e-suite.Modules.MailTemplatesManager.UnitTests\e-suite.Modules.MailTemplatesManager.UnitTests.csproj", "{C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.MailTemplatesManager", "e-suite.Modules.MailTemplatesManager\e-suite.Modules.MailTemplatesManager\e-suite.Modules.MailTemplatesManager.csproj", "{D59059B5-9D49-0228-B9E1-994F2B6E5A58}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.OrganisationsManager.UnitTests", "e-suite.Modules.OrganisationManager\e-Suite.Modules.OrganisationManger.UnitTests\e-suite.Modules.OrganisationsManager.UnitTests.csproj", "{B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.OrganisationsManager", "e-suite.Modules.OrganisationManager\e-Suite.Modules.OrganisationsManager\e-suite.Modules.OrganisationsManager.csproj", "{A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.PerformanceManager", "e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager.csproj", "{ABA889AD-4D7F-45BF-8968-8BD388F33849}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.RoleManager.UnitTests", "e-suite.Modules.RoleManager\e-suite.Modules.RoleManager.UnitTests\e-suite.Modules.RoleManager.UnitTests.csproj", "{228D7254-773D-E96C-AD9E-E5B80034AE9C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SequenceManager", "e-suite.Modules.SequenceManager\e-Suite.Modules.SequenceManager\e-suite.Modules.SequenceManager.csproj", "{503BBDF4-C4A8-5024-517E-B72786E36D9F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SequenceManager.UnitTests", "e-suite.Modules.SequenceManager\SequenceManager.UnitTests\SequenceManager.UnitTests.csproj", "{FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SpecificationManager", "e-suite.Modules.SpecificationManager\e-suite.Modules.SpecificationManager\e-suite.Modules.SpecificationManager.csproj", "{5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SpecificationManager.UnitTests", "e-suite.Modules.SpecificationManager\e-suite.Modules.SpecificationManager.UnitTests\e-suite.Modules.SpecificationManager.UnitTests.csproj", "{CE69D868-8B81-B043-A340-E8F23683C0A2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SiteManager", "e-suite.Modules.SiteManager\e-suite.Modules.SiteManager\e-suite.Modules.SiteManager.csproj", "{25321273-1CF4-7673-647C-7F27865414EA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SiteManager.UnitTests", "e-suite.Modules.SiteManager\e-suite.Modules.SiteManager.UnitTests\e-suite.Modules.SiteManager.UnitTests.csproj", "{96182A02-C326-5A4E-0A50-38B5679CBBB1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SSOManager", "e-suite.Modules.SSOManager\e-suite.Modules.SSOManager\e-suite.Modules.SSOManager.csproj", "{C941D36D-64AC-4814-5E8C-ABB8F7772E06}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSOManager.UnitTests", "e-suite.Modules.SSOManager\SSOManager.UnitTests\SSOManager.UnitTests.csproj", "{2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserManager.UnitTests", "e-suite.Modules.UserManager\UserManager.UnitTests\UserManager.UnitTests.csproj", "{2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Nuget.PasswordHasher", "e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher.csproj", "{FF9979D2-55B1-A4D9-E7E2-A50121712BCB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Nuget.PasswordHasher.UnitTests", "e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher.UnitTests\e-suite.Nuget.PasswordHasher.UnitTests.csproj", "{59BD3888-66D4-6067-8301-4BC7F7B22566}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Services", "Services", "{726E46E8-E6E2-44D1-AB3B-85481330A84E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.CustomFieldValidation", "e-suite.Service.CustomFieldValidation\e-suite.Service.CustomFieldValidation\e-suite.Service.CustomFieldValidation.csproj", "{B29CB827-E1DE-2558-7683-F1ED759A15C3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.CustomFieldValidation.UnitTests", "e-suite.Service.CustomFieldValidation\e-suite.Service.CustomFieldValidationUnitTests\e-suite.Service.CustomFieldValidation.UnitTests.csproj", "{6EE2E4E1-E9D2-025B-4079-6B11140109B8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Mail", "e-suite.Service.Mail\e-suite.Service.Mail\e-suite.Service.Mail.csproj", "{17BD9127-6F91-05ED-D2D3-A78E90CB2063}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Mail.UnitTests", "e-suite.Service.Mail\e-suite.Service.Mail.UnitTests\e-suite.Service.Mail.UnitTests.csproj", "{18520391-4F74-AF9C-46CE-03068BCF5627}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Performance", "e-suite.Service.Performance\e-suite.Service.Performance\e-suite.Service.Performance.csproj", "{C09A373F-A9A1-F56C-FC5C-C1416E8CD609}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Performance.UnitTests", "e-suite.Service.Performance\e-suite.Service.Performance.UnitTests\e-suite.Service.Performance.UnitTests.csproj", "{9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Sentinel", "e-suite.Service.Sentinel\e-suite.Service.Sentinel\e-suite.Service.Sentinel.csproj", "{4FF99885-30D9-C04C-3F42-BD6400AA5799}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentinel.UnitTests", "e-suite.Service.Sentinel\Sentinel.UnitTests\Sentinel.UnitTests.csproj", "{0C123A37-2E4B-B292-2D27-FC6660A80ABE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.UnitTestCore", "e-suite.UnitTest.Core\e-suite.UnitTestCore\e-suite.UnitTestCore.csproj", "{EFF73E3E-CC5C-30A7-D082-7782EB3570BD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Utilities.Pagination", "e-suite.Utilities.Pagination\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.csproj", "{F02F93D4-2CF6-6486-46F0-8993A364BCAD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Utilities.Pagination.UnitTests", "e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.UnitTests\e-suite.Utilities.Pagination.UnitTests.csproj", "{8B156D8E-1C51-80A0-476F-E786C4CDF3A6}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{E3B4B8F1-1710-4C6A-98A8-79B09DB53AEC}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Database", "Database", "{8AA53869-5CCF-482E-999C-F4E49D63EF5D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{E4D595A3-957E-40D0-A7F2-AB8852BDF22C}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{A0787221-622B-4D00-A566-BF7297378322}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.EFlowSync", "e-suite.Service.EFlowSync\e-suite.Service.EFlowSync\e-suite.Service.EFlowSync.csproj", "{D3D13B1F-D83A-59ED-54E1-8D38C5302B00}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.EFlowSync.UnitTests", "e-suite.Service.EFlowSync\e-suite.Service.EFlowSync.UnitTests\e-suite.Service.EFlowSync.UnitTests.csproj", "{A3A65D33-B1BA-4F89-4567-B45103987C1E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SigmaImporter.UnitTests", "e-suite.Service.SigmaImporter\SigmaImporter.UnitTests\SigmaImporter.UnitTests.csproj", "{63981A57-8140-CE4B-DFFC-00C31058CDB2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.SigmaImporter", "e-suite.Service.SigmaImporter\e-suite.Service.SigmaImporter\e-suite.Service.SigmaImporter.csproj", "{068C2F1E-9DF0-34DC-159D-E75FB31849E4}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Release|Any CPU.Build.0 = Release|Any CPU
- {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Release|Any CPU.Build.0 = Release|Any CPU
- {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Release|Any CPU.Build.0 = Release|Any CPU
- {B3066274-4804-4BF3-B531-5CF0EAEED998}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B3066274-4804-4BF3-B531-5CF0EAEED998}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B3066274-4804-4BF3-B531-5CF0EAEED998}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B3066274-4804-4BF3-B531-5CF0EAEED998}.Release|Any CPU.Build.0 = Release|Any CPU
- {5419EC24-755C-4D26-A6F1-90F478734EC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5419EC24-755C-4D26-A6F1-90F478734EC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5419EC24-755C-4D26-A6F1-90F478734EC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5419EC24-755C-4D26-A6F1-90F478734EC3}.Release|Any CPU.Build.0 = Release|Any CPU
- {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Release|Any CPU.Build.0 = Release|Any CPU
- {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Release|Any CPU.Build.0 = Release|Any CPU
- {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Release|Any CPU.Build.0 = Release|Any CPU
- {98118595-EA61-4B02-86A9-0AFD16F84154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {98118595-EA61-4B02-86A9-0AFD16F84154}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {98118595-EA61-4B02-86A9-0AFD16F84154}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {98118595-EA61-4B02-86A9-0AFD16F84154}.Release|Any CPU.Build.0 = Release|Any CPU
- {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Release|Any CPU.Build.0 = Release|Any CPU
- {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Release|Any CPU.Build.0 = Release|Any CPU
- {974467C0-14E3-D020-066A-74EDE1567927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {974467C0-14E3-D020-066A-74EDE1567927}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {974467C0-14E3-D020-066A-74EDE1567927}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {974467C0-14E3-D020-066A-74EDE1567927}.Release|Any CPU.Build.0 = Release|Any CPU
- {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Release|Any CPU.Build.0 = Release|Any CPU
- {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Release|Any CPU.Build.0 = Release|Any CPU
- {912B58AC-5208-0593-50F4-3266B8215ADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {912B58AC-5208-0593-50F4-3266B8215ADF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {912B58AC-5208-0593-50F4-3266B8215ADF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {912B58AC-5208-0593-50F4-3266B8215ADF}.Release|Any CPU.Build.0 = Release|Any CPU
- {9FF5E580-363C-02D5-4D4D-840BEC438024}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9FF5E580-363C-02D5-4D4D-840BEC438024}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9FF5E580-363C-02D5-4D4D-840BEC438024}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9FF5E580-363C-02D5-4D4D-840BEC438024}.Release|Any CPU.Build.0 = Release|Any CPU
- {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Release|Any CPU.Build.0 = Release|Any CPU
- {1010CF64-11D6-2419-7116-50BBB0036269}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1010CF64-11D6-2419-7116-50BBB0036269}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1010CF64-11D6-2419-7116-50BBB0036269}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1010CF64-11D6-2419-7116-50BBB0036269}.Release|Any CPU.Build.0 = Release|Any CPU
- {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Release|Any CPU.Build.0 = Release|Any CPU
- {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Release|Any CPU.Build.0 = Release|Any CPU
- {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Release|Any CPU.Build.0 = Release|Any CPU
- {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Release|Any CPU.Build.0 = Release|Any CPU
- {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Release|Any CPU.Build.0 = Release|Any CPU
- {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Release|Any CPU.Build.0 = Release|Any CPU
- {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Release|Any CPU.Build.0 = Release|Any CPU
- {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Release|Any CPU.Build.0 = Release|Any CPU
- {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Release|Any CPU.Build.0 = Release|Any CPU
- {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Release|Any CPU.Build.0 = Release|Any CPU
- {73E50199-E462-B108-664A-1921E56D60A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {73E50199-E462-B108-664A-1921E56D60A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {73E50199-E462-B108-664A-1921E56D60A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {73E50199-E462-B108-664A-1921E56D60A7}.Release|Any CPU.Build.0 = Release|Any CPU
- {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Release|Any CPU.Build.0 = Release|Any CPU
- {F88289B2-89E7-34E1-7A2E-063592A27946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F88289B2-89E7-34E1-7A2E-063592A27946}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F88289B2-89E7-34E1-7A2E-063592A27946}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F88289B2-89E7-34E1-7A2E-063592A27946}.Release|Any CPU.Build.0 = Release|Any CPU
- {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Release|Any CPU.Build.0 = Release|Any CPU
- {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Release|Any CPU.Build.0 = Release|Any CPU
- {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Release|Any CPU.Build.0 = Release|Any CPU
- {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Release|Any CPU.Build.0 = Release|Any CPU
- {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Release|Any CPU.Build.0 = Release|Any CPU
- {19C9D511-9C0A-2F31-3026-05EEFB585657}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {19C9D511-9C0A-2F31-3026-05EEFB585657}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {19C9D511-9C0A-2F31-3026-05EEFB585657}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {19C9D511-9C0A-2F31-3026-05EEFB585657}.Release|Any CPU.Build.0 = Release|Any CPU
- {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Release|Any CPU.Build.0 = Release|Any CPU
- {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Release|Any CPU.Build.0 = Release|Any CPU
- {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Release|Any CPU.Build.0 = Release|Any CPU
- {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Release|Any CPU.Build.0 = Release|Any CPU
- {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Release|Any CPU.Build.0 = Release|Any CPU
- {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Release|Any CPU.Build.0 = Release|Any CPU
- {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Release|Any CPU.Build.0 = Release|Any CPU
- {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Release|Any CPU.Build.0 = Release|Any CPU
- {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Release|Any CPU.Build.0 = Release|Any CPU
- {CE69D868-8B81-B043-A340-E8F23683C0A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CE69D868-8B81-B043-A340-E8F23683C0A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CE69D868-8B81-B043-A340-E8F23683C0A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CE69D868-8B81-B043-A340-E8F23683C0A2}.Release|Any CPU.Build.0 = Release|Any CPU
- {25321273-1CF4-7673-647C-7F27865414EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {25321273-1CF4-7673-647C-7F27865414EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {25321273-1CF4-7673-647C-7F27865414EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {25321273-1CF4-7673-647C-7F27865414EA}.Release|Any CPU.Build.0 = Release|Any CPU
- {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Release|Any CPU.Build.0 = Release|Any CPU
- {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Release|Any CPU.Build.0 = Release|Any CPU
- {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Release|Any CPU.Build.0 = Release|Any CPU
- {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Release|Any CPU.Build.0 = Release|Any CPU
- {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Release|Any CPU.Build.0 = Release|Any CPU
- {59BD3888-66D4-6067-8301-4BC7F7B22566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {59BD3888-66D4-6067-8301-4BC7F7B22566}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {59BD3888-66D4-6067-8301-4BC7F7B22566}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {59BD3888-66D4-6067-8301-4BC7F7B22566}.Release|Any CPU.Build.0 = Release|Any CPU
- {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Release|Any CPU.Build.0 = Release|Any CPU
- {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Release|Any CPU.Build.0 = Release|Any CPU
- {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Release|Any CPU.Build.0 = Release|Any CPU
- {18520391-4F74-AF9C-46CE-03068BCF5627}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {18520391-4F74-AF9C-46CE-03068BCF5627}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {18520391-4F74-AF9C-46CE-03068BCF5627}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {18520391-4F74-AF9C-46CE-03068BCF5627}.Release|Any CPU.Build.0 = Release|Any CPU
- {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Release|Any CPU.Build.0 = Release|Any CPU
- {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Release|Any CPU.Build.0 = Release|Any CPU
- {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Release|Any CPU.Build.0 = Release|Any CPU
- {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Release|Any CPU.Build.0 = Release|Any CPU
- {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Release|Any CPU.Build.0 = Release|Any CPU
- {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Release|Any CPU.Build.0 = Release|Any CPU
- {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Release|Any CPU.Build.0 = Release|Any CPU
- {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Release|Any CPU.Build.0 = Release|Any CPU
- {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Release|Any CPU.Build.0 = Release|Any CPU
- {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Release|Any CPU.Build.0 = Release|Any CPU
- {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC} = {9B943FFF-4CEA-4206-BFD4-2450317733C1}
- {D64B6107-D791-4B90-BB3E-020DB5E77FC5} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {1C7935CA-D27D-4C6E-8211-4902093EBADE} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {98118595-EA61-4B02-86A9-0AFD16F84154} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {92811343-6BCB-D7E5-63D9-2F6A56AE182C} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {7DC1F493-76A5-3740-E774-C8DAA51ED83A} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {974467C0-14E3-D020-066A-74EDE1567927} = {A0787221-622B-4D00-A566-BF7297378322}
- {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5} = {E4D595A3-957E-40D0-A7F2-AB8852BDF22C}
- {301C8257-F782-D760-C9C9-1ECB6D16A40F} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {912B58AC-5208-0593-50F4-3266B8215ADF} = {8AA53869-5CCF-482E-999C-F4E49D63EF5D}
- {9FF5E580-363C-02D5-4D4D-840BEC438024} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1} = {8AA53869-5CCF-482E-999C-F4E49D63EF5D}
- {1010CF64-11D6-2419-7116-50BBB0036269} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {ABBA144D-0FC3-DC41-714B-F2979135ED03} = {8AA53869-5CCF-482E-999C-F4E49D63EF5D}
- {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {200BE400-74BC-12E2-C93B-72CFBF519BA7} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {D7D9090B-A599-BD4D-67DE-2B90E1360455} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {5BFFA4A6-FCF6-C849-A843-3654413FE2B9} = {A0787221-622B-4D00-A566-BF7297378322}
- {A361DCD2-9105-8062-0F7A-DA981604AE0F} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {C5DF6786-BCFE-26B1-E392-F0031BB7631C} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {D2B1CBFA-0EB0-A918-D10C-C29461F3E569} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {76876AB4-0D53-E9E4-1DBF-180B680F6712} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {73E50199-E462-B108-664A-1921E56D60A7} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {F88289B2-89E7-34E1-7A2E-063592A27946} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {01A0802E-33A3-DBDB-963D-A90740C9FABF} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {353E395A-B7CD-356D-49A1-6A15B72BAC0A} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {98B4DEE1-56AF-DEB7-9725-59CF770BA430} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {F3A13EA7-AB5F-977E-3F71-82C5341119CD} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {412B0BD7-CDDC-E992-B8C5-862EEEB752BF} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {19C9D511-9C0A-2F31-3026-05EEFB585657} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {D59059B5-9D49-0228-B9E1-994F2B6E5A58} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {ABA889AD-4D7F-45BF-8968-8BD388F33849} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {228D7254-773D-E96C-AD9E-E5B80034AE9C} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {503BBDF4-C4A8-5024-517E-B72786E36D9F} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {CE69D868-8B81-B043-A340-E8F23683C0A2} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {25321273-1CF4-7673-647C-7F27865414EA} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {96182A02-C326-5A4E-0A50-38B5679CBBB1} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {C941D36D-64AC-4814-5E8C-ABB8F7772E06} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
- {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {FF9979D2-55B1-A4D9-E7E2-A50121712BCB} = {E3B4B8F1-1710-4C6A-98A8-79B09DB53AEC}
- {59BD3888-66D4-6067-8301-4BC7F7B22566} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {B29CB827-E1DE-2558-7683-F1ED759A15C3} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
- {6EE2E4E1-E9D2-025B-4079-6B11140109B8} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {17BD9127-6F91-05ED-D2D3-A78E90CB2063} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
- {18520391-4F74-AF9C-46CE-03068BCF5627} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {C09A373F-A9A1-F56C-FC5C-C1416E8CD609} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
- {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {4FF99885-30D9-C04C-3F42-BD6400AA5799} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
- {0C123A37-2E4B-B292-2D27-FC6660A80ABE} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {EFF73E3E-CC5C-30A7-D082-7782EB3570BD} = {E4D595A3-957E-40D0-A7F2-AB8852BDF22C}
- {F02F93D4-2CF6-6486-46F0-8993A364BCAD} = {E3B4B8F1-1710-4C6A-98A8-79B09DB53AEC}
- {8B156D8E-1C51-80A0-476F-E786C4CDF3A6} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {D3D13B1F-D83A-59ED-54E1-8D38C5302B00} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
- {A3A65D33-B1BA-4F89-4567-B45103987C1E} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {63981A57-8140-CE4B-DFFC-00C31058CDB2} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
- {068C2F1E-9DF0-34DC-159D-E75FB31849E4} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {C5175258-F776-4FF9-A9EE-386312E47061}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 18
+VisualStudioVersion = 18.2.11408.102
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "eSuite.API", "e-suite.API\eSuite.API\eSuite.API.csproj", "{4A704FA7-4E3A-4CFA-B043-434A0C49AF89}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Test", "_Test", "{9B943FFF-4CEA-4206-BFD4-2450317733C1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "eSuite.API.UnitTests", "e-suite.API\eSuite.API.UnitTests\eSuite.API.UnitTests.csproj", "{D64B6107-D791-4B90-BB3E-020DB5E77FC5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Database.Migrator", "e-suite.API\e-suite.Database.Migrator\e-suite.Database.Migrator.csproj", "{734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Scheduler", "e-suite.Scheduler\e-suite.Scheduler\e-suite.Scheduler.csproj", "{B3066274-4804-4BF3-B531-5CF0EAEED998}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.MessageProcessor", "e-suite.MessageProcessor\e-suite.MessageProcessor\e-suite.MessageProcessor.csproj", "{5419EC24-755C-4D26-A6F1-90F478734EC3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.MessageProcessor.UnitTests", "e-suite.MessageProcessor\e-suite.MessageProcessor.UnitTests\e-suite.MessageProcessor.UnitTests.csproj", "{1C7935CA-D27D-4C6E-8211-4902093EBADE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Scheduler.UnitTests", "e-suite.Scheduler\e-suite.Scheduler.UnitTests\e-suite.Scheduler.UnitTests.csproj", "{E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Modules.UserManager", "e-suite.Modules.UserManager\e-suite.Modules.UserManager\e-suite.Modules.UserManager.csproj", "{A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "e-suite.Modules.RoleManager", "e-suite.Modules.RoleManager\e-suite.Modules.RoleManager\e-suite.Modules.RoleManager.csproj", "{98118595-EA61-4B02-86A9-0AFD16F84154}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{B0DE567F-EA4E-43FA-8A16-A0D571852024}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Workflow.Core", "e-suite.Workflow.Core\e-suite.Workflow.Core.csproj", "{92811343-6BCB-D7E5-63D9-2F6A56AE182C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.API.Common.UnitTests", "e-suite.API.Common\e-suite.API.Common.UnitTests\e-suite.API.Common.UnitTests.csproj", "{7DC1F493-76A5-3740-E774-C8DAA51ED83A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.API.Common", "e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj", "{974467C0-14E3-D020-066A-74EDE1567927}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eSuite.Core", "e-suite.Core\eSuite.Core\eSuite.Core.csproj", "{6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eSuite.Core.UnitTests", "e-suite.Core\eSuite.Core.UnitTests\eSuite.Core.UnitTests.csproj", "{301C8257-F782-D760-C9C9-1ECB6D16A40F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Audit", "e-suite.Database.Audit\e-suite.Database.Audit\e-suite.Database.Audit.csproj", "{912B58AC-5208-0593-50F4-3266B8215ADF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Audit.UnitTests", "e-suite.Database.Audit\e-suite.Database.Audit.UnitTests\e-suite.Database.Audit.UnitTests.csproj", "{9FF5E580-363C-02D5-4D4D-840BEC438024}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Core", "e-suite.Database.Core\e-suite.Database.Core\e-suite.Database.Core.csproj", "{BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.Core.UnitTests", "e-suite.Database.Core\e-suite.Database.Core.UnitTests\e-suite.Database.Core.UnitTests.csproj", "{1010CF64-11D6-2419-7116-50BBB0036269}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.MigrationBuilder", "e-suite.Database.SqlServer\e-suite.Database.MigrationBuilder\e-suite.Database.MigrationBuilder.csproj", "{1304ECBF-49B4-FE11-91DD-E8117FBD4B53}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.SqlServer", "e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj", "{ABBA144D-0FC3-DC41-714B-F2979135ED03}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Database.SqlServer.UnitTests", "e-suite.Database.SqlServer\e-suite.Database.SqlServer.UnitTests\e-suite.Database.SqlServer.UnitTests.csproj", "{DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.BlockedIPsManager", "e-suite.Manager.BlockedIPs\e-suite.Modules.BlockedIPsManager\e-suite.Modules.BlockedIPsManager.csproj", "{200BE400-74BC-12E2-C93B-72CFBF519BA7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.BlockedIPsManager.UnitTests", "e-suite.Manager.BlockedIPs\e-suite.Modules.BlockedIPsManager.UnitTests\e-suite.Modules.BlockedIPsManager.UnitTests.csproj", "{D7D9090B-A599-BD4D-67DE-2B90E1360455}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Messaging.Common", "e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj", "{5BFFA4A6-FCF6-C849-A843-3654413FE2B9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Messaging.Common.UnitTests", "e-suite.Messaging.Common\e-suite.Messaging.Common.UnitTests\e-suite.Messaging.Common.UnitTests.csproj", "{A361DCD2-9105-8062-0F7A-DA981604AE0F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.AuditLog", "e-suite.Modules.AuditLog\e-suite.Modules.AuditLog\e-suite.Modules.AuditLog.csproj", "{C5DF6786-BCFE-26B1-E392-F0031BB7631C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuditLog.UnitTests", "e-suite.Modules.AuditLog\AuditLog.UnitTests\AuditLog.UnitTests.csproj", "{D2B1CBFA-0EB0-A918-D10C-C29461F3E569}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.CustomFieldsManager", "e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager.csproj", "{76876AB4-0D53-E9E4-1DBF-180B680F6712}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e_suite.Modules.CustomFieldManagerUnitTests", "e-suite.Modules.CustomFieldsManager\e_suite.Modules.CusomFieldManagerUnitTest\e_suite.Modules.CustomFieldManagerUnitTests.csproj", "{73E50199-E462-B108-664A-1921E56D60A7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.DomainManager", "e-suite.Modules.DomainManager\e-suite.Modules.DomainManager\e-suite.Modules.DomainManager.csproj", "{BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.DomainManager.UnitTests", "e-suite.Modules.DomainManager\e-suite.Modules.DomainManager.UnitTests\e-suite.Modules.DomainManager.UnitTests.csproj", "{F88289B2-89E7-34E1-7A2E-063592A27946}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.ExceptionLogManager", "e-suite.Modules.ExceptionLogManager\e-suite.Modules.ExceptionLogManager\e-suite.Modules.ExceptionLogManager.csproj", "{01A0802E-33A3-DBDB-963D-A90740C9FABF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.ExceptionLogManager.UnitTests", "e-suite.Modules.ExceptionLogManager\e-suite.Modules.ExceptionLogManager.UnitTests\e-suite.Modules.ExceptionLogManager.UnitTests.csproj", "{353E395A-B7CD-356D-49A1-6A15B72BAC0A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.FormsManager", "e-suite.Modules.FormsManager\e-suite.Modules.FormsManager\e-suite.Modules.FormsManager.csproj", "{98B4DEE1-56AF-DEB7-9725-59CF770BA430}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e_suite.Modules.FormsManagerUnitTests", "e-suite.Modules.FormsManager\e_suite.Modules.Form.ManagerUnitTest\e_suite.Modules.FormsManagerUnitTests.csproj", "{F3A13EA7-AB5F-977E-3F71-82C5341119CD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.GlossariesManager", "e-suite.Modules.GlossariesManager\e-suite.Modules.GlossariesManager\e-suite.Modules.GlossariesManager.csproj", "{412B0BD7-CDDC-E992-B8C5-862EEEB752BF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GlossariesManager.UnitTests", "e-suite.Modules.GlossariesManager\GlossariesManager.UnitTests\GlossariesManager.UnitTests.csproj", "{19C9D511-9C0A-2F31-3026-05EEFB585657}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.MailTemplatesManager.UnitTests", "e-suite.Modules.MailTemplatesManager\e-suite.Modules.MailTemplatesManager.UnitTests\e-suite.Modules.MailTemplatesManager.UnitTests.csproj", "{C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.MailTemplatesManager", "e-suite.Modules.MailTemplatesManager\e-suite.Modules.MailTemplatesManager\e-suite.Modules.MailTemplatesManager.csproj", "{D59059B5-9D49-0228-B9E1-994F2B6E5A58}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.OrganisationsManager.UnitTests", "e-suite.Modules.OrganisationManager\e-Suite.Modules.OrganisationManger.UnitTests\e-suite.Modules.OrganisationsManager.UnitTests.csproj", "{B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.OrganisationsManager", "e-suite.Modules.OrganisationManager\e-Suite.Modules.OrganisationsManager\e-suite.Modules.OrganisationsManager.csproj", "{A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.PerformanceManager", "e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager.csproj", "{ABA889AD-4D7F-45BF-8968-8BD388F33849}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.RoleManager.UnitTests", "e-suite.Modules.RoleManager\e-suite.Modules.RoleManager.UnitTests\e-suite.Modules.RoleManager.UnitTests.csproj", "{228D7254-773D-E96C-AD9E-E5B80034AE9C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SequenceManager", "e-suite.Modules.SequenceManager\e-Suite.Modules.SequenceManager\e-suite.Modules.SequenceManager.csproj", "{503BBDF4-C4A8-5024-517E-B72786E36D9F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SequenceManager.UnitTests", "e-suite.Modules.SequenceManager\SequenceManager.UnitTests\SequenceManager.UnitTests.csproj", "{FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SpecificationManager", "e-suite.Modules.SpecificationManager\e-suite.Modules.SpecificationManager\e-suite.Modules.SpecificationManager.csproj", "{5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SpecificationManager.UnitTests", "e-suite.Modules.SpecificationManager\e-suite.Modules.SpecificationManager.UnitTests\e-suite.Modules.SpecificationManager.UnitTests.csproj", "{CE69D868-8B81-B043-A340-E8F23683C0A2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SiteManager", "e-suite.Modules.SiteManager\e-suite.Modules.SiteManager\e-suite.Modules.SiteManager.csproj", "{25321273-1CF4-7673-647C-7F27865414EA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SiteManager.UnitTests", "e-suite.Modules.SiteManager\e-suite.Modules.SiteManager.UnitTests\e-suite.Modules.SiteManager.UnitTests.csproj", "{96182A02-C326-5A4E-0A50-38B5679CBBB1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.SSOManager", "e-suite.Modules.SSOManager\e-suite.Modules.SSOManager\e-suite.Modules.SSOManager.csproj", "{C941D36D-64AC-4814-5E8C-ABB8F7772E06}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSOManager.UnitTests", "e-suite.Modules.SSOManager\SSOManager.UnitTests\SSOManager.UnitTests.csproj", "{2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserManager.UnitTests", "e-suite.Modules.UserManager\UserManager.UnitTests\UserManager.UnitTests.csproj", "{2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Nuget.PasswordHasher", "e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher.csproj", "{FF9979D2-55B1-A4D9-E7E2-A50121712BCB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Nuget.PasswordHasher.UnitTests", "e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher.UnitTests\e-suite.Nuget.PasswordHasher.UnitTests.csproj", "{59BD3888-66D4-6067-8301-4BC7F7B22566}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Services", "Services", "{726E46E8-E6E2-44D1-AB3B-85481330A84E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.CustomFieldValidation", "e-suite.Service.CustomFieldValidation\e-suite.Service.CustomFieldValidation\e-suite.Service.CustomFieldValidation.csproj", "{B29CB827-E1DE-2558-7683-F1ED759A15C3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.CustomFieldValidation.UnitTests", "e-suite.Service.CustomFieldValidation\e-suite.Service.CustomFieldValidationUnitTests\e-suite.Service.CustomFieldValidation.UnitTests.csproj", "{6EE2E4E1-E9D2-025B-4079-6B11140109B8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Mail", "e-suite.Service.Mail\e-suite.Service.Mail\e-suite.Service.Mail.csproj", "{17BD9127-6F91-05ED-D2D3-A78E90CB2063}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Mail.UnitTests", "e-suite.Service.Mail\e-suite.Service.Mail.UnitTests\e-suite.Service.Mail.UnitTests.csproj", "{18520391-4F74-AF9C-46CE-03068BCF5627}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Performance", "e-suite.Service.Performance\e-suite.Service.Performance\e-suite.Service.Performance.csproj", "{C09A373F-A9A1-F56C-FC5C-C1416E8CD609}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Performance.UnitTests", "e-suite.Service.Performance\e-suite.Service.Performance.UnitTests\e-suite.Service.Performance.UnitTests.csproj", "{9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.Sentinel", "e-suite.Service.Sentinel\e-suite.Service.Sentinel\e-suite.Service.Sentinel.csproj", "{4FF99885-30D9-C04C-3F42-BD6400AA5799}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentinel.UnitTests", "e-suite.Service.Sentinel\Sentinel.UnitTests\Sentinel.UnitTests.csproj", "{0C123A37-2E4B-B292-2D27-FC6660A80ABE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.UnitTestCore", "e-suite.UnitTest.Core\e-suite.UnitTestCore\e-suite.UnitTestCore.csproj", "{EFF73E3E-CC5C-30A7-D082-7782EB3570BD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Utilities.Pagination", "e-suite.Utilities.Pagination\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.csproj", "{F02F93D4-2CF6-6486-46F0-8993A364BCAD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Utilities.Pagination.UnitTests", "e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.UnitTests\e-suite.Utilities.Pagination.UnitTests.csproj", "{8B156D8E-1C51-80A0-476F-E786C4CDF3A6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{E3B4B8F1-1710-4C6A-98A8-79B09DB53AEC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Database", "Database", "{8AA53869-5CCF-482E-999C-F4E49D63EF5D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{E4D595A3-957E-40D0-A7F2-AB8852BDF22C}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{A0787221-622B-4D00-A566-BF7297378322}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.EFlowSync", "e-suite.Service.EFlowSync\e-suite.Service.EFlowSync\e-suite.Service.EFlowSync.csproj", "{D3D13B1F-D83A-59ED-54E1-8D38C5302B00}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.EFlowSync.UnitTests", "e-suite.Service.EFlowSync\e-suite.Service.EFlowSync.UnitTests\e-suite.Service.EFlowSync.UnitTests.csproj", "{A3A65D33-B1BA-4F89-4567-B45103987C1E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SigmaImporter.UnitTests", "e-suite.Service.SigmaImporter\SigmaImporter.UnitTests\SigmaImporter.UnitTests.csproj", "{63981A57-8140-CE4B-DFFC-00C31058CDB2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Service.SigmaImporter", "e-suite.Service.SigmaImporter\e-suite.Service.SigmaImporter\e-suite.Service.SigmaImporter.csproj", "{068C2F1E-9DF0-34DC-159D-E75FB31849E4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.DependencyInjection", "e-suite.DependencyInjection\e-suite.DependencyInjection.csproj", "{1D974411-767E-4242-96F7-E545D285B356}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4A704FA7-4E3A-4CFA-B043-434A0C49AF89}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D64B6107-D791-4B90-BB3E-020DB5E77FC5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {734A4BF4-0DC1-41F7-B671-DE0E32B80EC8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B3066274-4804-4BF3-B531-5CF0EAEED998}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B3066274-4804-4BF3-B531-5CF0EAEED998}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B3066274-4804-4BF3-B531-5CF0EAEED998}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B3066274-4804-4BF3-B531-5CF0EAEED998}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5419EC24-755C-4D26-A6F1-90F478734EC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5419EC24-755C-4D26-A6F1-90F478734EC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5419EC24-755C-4D26-A6F1-90F478734EC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5419EC24-755C-4D26-A6F1-90F478734EC3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1C7935CA-D27D-4C6E-8211-4902093EBADE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {98118595-EA61-4B02-86A9-0AFD16F84154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {98118595-EA61-4B02-86A9-0AFD16F84154}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {98118595-EA61-4B02-86A9-0AFD16F84154}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {98118595-EA61-4B02-86A9-0AFD16F84154}.Release|Any CPU.Build.0 = Release|Any CPU
+ {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {92811343-6BCB-D7E5-63D9-2F6A56AE182C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DC1F493-76A5-3740-E774-C8DAA51ED83A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {974467C0-14E3-D020-066A-74EDE1567927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {974467C0-14E3-D020-066A-74EDE1567927}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {974467C0-14E3-D020-066A-74EDE1567927}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {974467C0-14E3-D020-066A-74EDE1567927}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {301C8257-F782-D760-C9C9-1ECB6D16A40F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {912B58AC-5208-0593-50F4-3266B8215ADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {912B58AC-5208-0593-50F4-3266B8215ADF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {912B58AC-5208-0593-50F4-3266B8215ADF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {912B58AC-5208-0593-50F4-3266B8215ADF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9FF5E580-363C-02D5-4D4D-840BEC438024}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9FF5E580-363C-02D5-4D4D-840BEC438024}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9FF5E580-363C-02D5-4D4D-840BEC438024}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9FF5E580-363C-02D5-4D4D-840BEC438024}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1010CF64-11D6-2419-7116-50BBB0036269}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1010CF64-11D6-2419-7116-50BBB0036269}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1010CF64-11D6-2419-7116-50BBB0036269}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1010CF64-11D6-2419-7116-50BBB0036269}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1304ECBF-49B4-FE11-91DD-E8117FBD4B53}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ABBA144D-0FC3-DC41-714B-F2979135ED03}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14}.Release|Any CPU.Build.0 = Release|Any CPU
+ {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {200BE400-74BC-12E2-C93B-72CFBF519BA7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D7D9090B-A599-BD4D-67DE-2B90E1360455}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5BFFA4A6-FCF6-C849-A843-3654413FE2B9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A361DCD2-9105-8062-0F7A-DA981604AE0F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C5DF6786-BCFE-26B1-E392-F0031BB7631C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D2B1CBFA-0EB0-A918-D10C-C29461F3E569}.Release|Any CPU.Build.0 = Release|Any CPU
+ {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {76876AB4-0D53-E9E4-1DBF-180B680F6712}.Release|Any CPU.Build.0 = Release|Any CPU
+ {73E50199-E462-B108-664A-1921E56D60A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {73E50199-E462-B108-664A-1921E56D60A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {73E50199-E462-B108-664A-1921E56D60A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {73E50199-E462-B108-664A-1921E56D60A7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F88289B2-89E7-34E1-7A2E-063592A27946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F88289B2-89E7-34E1-7A2E-063592A27946}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F88289B2-89E7-34E1-7A2E-063592A27946}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F88289B2-89E7-34E1-7A2E-063592A27946}.Release|Any CPU.Build.0 = Release|Any CPU
+ {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {01A0802E-33A3-DBDB-963D-A90740C9FABF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {353E395A-B7CD-356D-49A1-6A15B72BAC0A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {98B4DEE1-56AF-DEB7-9725-59CF770BA430}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F3A13EA7-AB5F-977E-3F71-82C5341119CD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {412B0BD7-CDDC-E992-B8C5-862EEEB752BF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {19C9D511-9C0A-2F31-3026-05EEFB585657}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {19C9D511-9C0A-2F31-3026-05EEFB585657}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {19C9D511-9C0A-2F31-3026-05EEFB585657}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {19C9D511-9C0A-2F31-3026-05EEFB585657}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D59059B5-9D49-0228-B9E1-994F2B6E5A58}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ABA889AD-4D7F-45BF-8968-8BD388F33849}.Release|Any CPU.Build.0 = Release|Any CPU
+ {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {228D7254-773D-E96C-AD9E-E5B80034AE9C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {503BBDF4-C4A8-5024-517E-B72786E36D9F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CE69D868-8B81-B043-A340-E8F23683C0A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CE69D868-8B81-B043-A340-E8F23683C0A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CE69D868-8B81-B043-A340-E8F23683C0A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CE69D868-8B81-B043-A340-E8F23683C0A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {25321273-1CF4-7673-647C-7F27865414EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {25321273-1CF4-7673-647C-7F27865414EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {25321273-1CF4-7673-647C-7F27865414EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {25321273-1CF4-7673-647C-7F27865414EA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {96182A02-C326-5A4E-0A50-38B5679CBBB1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C941D36D-64AC-4814-5E8C-ABB8F7772E06}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FF9979D2-55B1-A4D9-E7E2-A50121712BCB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {59BD3888-66D4-6067-8301-4BC7F7B22566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {59BD3888-66D4-6067-8301-4BC7F7B22566}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {59BD3888-66D4-6067-8301-4BC7F7B22566}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {59BD3888-66D4-6067-8301-4BC7F7B22566}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B29CB827-E1DE-2558-7683-F1ED759A15C3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6EE2E4E1-E9D2-025B-4079-6B11140109B8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {17BD9127-6F91-05ED-D2D3-A78E90CB2063}.Release|Any CPU.Build.0 = Release|Any CPU
+ {18520391-4F74-AF9C-46CE-03068BCF5627}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {18520391-4F74-AF9C-46CE-03068BCF5627}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {18520391-4F74-AF9C-46CE-03068BCF5627}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {18520391-4F74-AF9C-46CE-03068BCF5627}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C09A373F-A9A1-F56C-FC5C-C1416E8CD609}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4FF99885-30D9-C04C-3F42-BD6400AA5799}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0C123A37-2E4B-B292-2D27-FC6660A80ABE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EFF73E3E-CC5C-30A7-D082-7782EB3570BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F02F93D4-2CF6-6486-46F0-8993A364BCAD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8B156D8E-1C51-80A0-476F-E786C4CDF3A6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D3D13B1F-D83A-59ED-54E1-8D38C5302B00}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A3A65D33-B1BA-4F89-4567-B45103987C1E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {63981A57-8140-CE4B-DFFC-00C31058CDB2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {068C2F1E-9DF0-34DC-159D-E75FB31849E4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1D974411-767E-4242-96F7-E545D285B356}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1D974411-767E-4242-96F7-E545D285B356}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1D974411-767E-4242-96F7-E545D285B356}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1D974411-767E-4242-96F7-E545D285B356}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC} = {9B943FFF-4CEA-4206-BFD4-2450317733C1}
+ {D64B6107-D791-4B90-BB3E-020DB5E77FC5} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {1C7935CA-D27D-4C6E-8211-4902093EBADE} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {E82F89F0-1DBB-4149-A8F8-CAB84F9188AF} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {A00B7AED-96DF-49A5-BA8F-9BE74021F3CF} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {98118595-EA61-4B02-86A9-0AFD16F84154} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {92811343-6BCB-D7E5-63D9-2F6A56AE182C} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {7DC1F493-76A5-3740-E774-C8DAA51ED83A} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {974467C0-14E3-D020-066A-74EDE1567927} = {A0787221-622B-4D00-A566-BF7297378322}
+ {6719A9B2-D69C-C627-D2E1-0A3AAAC5F4D5} = {E4D595A3-957E-40D0-A7F2-AB8852BDF22C}
+ {301C8257-F782-D760-C9C9-1ECB6D16A40F} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {912B58AC-5208-0593-50F4-3266B8215ADF} = {8AA53869-5CCF-482E-999C-F4E49D63EF5D}
+ {9FF5E580-363C-02D5-4D4D-840BEC438024} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {BE865BBC-E6B2-3D05-28EF-5C2336C99AD1} = {8AA53869-5CCF-482E-999C-F4E49D63EF5D}
+ {1010CF64-11D6-2419-7116-50BBB0036269} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {ABBA144D-0FC3-DC41-714B-F2979135ED03} = {8AA53869-5CCF-482E-999C-F4E49D63EF5D}
+ {DDD301D6-CDF8-FF7A-3441-CFB57F9DED14} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {200BE400-74BC-12E2-C93B-72CFBF519BA7} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {D7D9090B-A599-BD4D-67DE-2B90E1360455} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {5BFFA4A6-FCF6-C849-A843-3654413FE2B9} = {A0787221-622B-4D00-A566-BF7297378322}
+ {A361DCD2-9105-8062-0F7A-DA981604AE0F} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {C5DF6786-BCFE-26B1-E392-F0031BB7631C} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {D2B1CBFA-0EB0-A918-D10C-C29461F3E569} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {76876AB4-0D53-E9E4-1DBF-180B680F6712} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {73E50199-E462-B108-664A-1921E56D60A7} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {BC5C6D67-8C47-1BF5-AF62-C5A42B6C80A5} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {F88289B2-89E7-34E1-7A2E-063592A27946} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {01A0802E-33A3-DBDB-963D-A90740C9FABF} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {353E395A-B7CD-356D-49A1-6A15B72BAC0A} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {98B4DEE1-56AF-DEB7-9725-59CF770BA430} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {F3A13EA7-AB5F-977E-3F71-82C5341119CD} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {412B0BD7-CDDC-E992-B8C5-862EEEB752BF} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {19C9D511-9C0A-2F31-3026-05EEFB585657} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {C20D2CF0-D1B6-09AB-B215-98C814CAF9EC} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {D59059B5-9D49-0228-B9E1-994F2B6E5A58} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {B612A69B-3F3A-C33C-77F5-DE6A915E4E7D} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {A7A5E959-3F91-CDEF-DBB5-FC7B5D8FE174} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {ABA889AD-4D7F-45BF-8968-8BD388F33849} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {228D7254-773D-E96C-AD9E-E5B80034AE9C} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {503BBDF4-C4A8-5024-517E-B72786E36D9F} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {FFF983AD-CB07-92F5-A8C0-4C58ED27A0FD} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {5514EA7D-FFBB-1AAC-9A2C-F18A8AA25BCE} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {CE69D868-8B81-B043-A340-E8F23683C0A2} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {25321273-1CF4-7673-647C-7F27865414EA} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {96182A02-C326-5A4E-0A50-38B5679CBBB1} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {C941D36D-64AC-4814-5E8C-ABB8F7772E06} = {B0DE567F-EA4E-43FA-8A16-A0D571852024}
+ {2DD21682-074E-9E1D-6FC8-B301C0CA5FF9} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {2B9EDBEC-40F5-0BC1-C10F-9AE2AC32E4DE} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {FF9979D2-55B1-A4D9-E7E2-A50121712BCB} = {E3B4B8F1-1710-4C6A-98A8-79B09DB53AEC}
+ {59BD3888-66D4-6067-8301-4BC7F7B22566} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {B29CB827-E1DE-2558-7683-F1ED759A15C3} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
+ {6EE2E4E1-E9D2-025B-4079-6B11140109B8} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {17BD9127-6F91-05ED-D2D3-A78E90CB2063} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
+ {18520391-4F74-AF9C-46CE-03068BCF5627} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {C09A373F-A9A1-F56C-FC5C-C1416E8CD609} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
+ {9576F4E9-59A1-DD3B-FFB8-321A388B0F1C} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {4FF99885-30D9-C04C-3F42-BD6400AA5799} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
+ {0C123A37-2E4B-B292-2D27-FC6660A80ABE} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {EFF73E3E-CC5C-30A7-D082-7782EB3570BD} = {E4D595A3-957E-40D0-A7F2-AB8852BDF22C}
+ {F02F93D4-2CF6-6486-46F0-8993A364BCAD} = {E3B4B8F1-1710-4C6A-98A8-79B09DB53AEC}
+ {8B156D8E-1C51-80A0-476F-E786C4CDF3A6} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {D3D13B1F-D83A-59ED-54E1-8D38C5302B00} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
+ {A3A65D33-B1BA-4F89-4567-B45103987C1E} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {63981A57-8140-CE4B-DFFC-00C31058CDB2} = {27EA902C-3CD0-4A8F-BA75-8D1AF87902AC}
+ {068C2F1E-9DF0-34DC-159D-E75FB31849E4} = {726E46E8-E6E2-44D1-AB3B-85481330A84E}
+ {1D974411-767E-4242-96F7-E545D285B356} = {A0787221-622B-4D00-A566-BF7297378322}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C5175258-F776-4FF9-A9EE-386312E47061}
+ EndGlobalSection
+EndGlobal