diff --git a/.idea/.idea.WorkTime/.idea/AndroidProjectSystem.xml b/.idea/.idea.WorkTime/.idea/AndroidProjectSystem.xml
new file mode 100644
index 0000000..e82600c
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/AndroidProjectSystem.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/deploymentTargetSelector.xml b/.idea/.idea.WorkTime/.idea/deploymentTargetSelector.xml
new file mode 100644
index 0000000..7dcb5fe
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/deploymentTargetSelector.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/deviceManager.xml b/.idea/.idea.WorkTime/.idea/deviceManager.xml
new file mode 100644
index 0000000..91f9558
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/deviceManager.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_activity_activity.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_activity_activity.xml
new file mode 100644
index 0000000..f9c4041
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_activity_activity.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_activity_activity_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_activity_activity_ktx.xml
new file mode 100644
index 0000000..de630a6
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_activity_activity_ktx.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation.xml
new file mode 100644
index 0000000..ef552ef
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation_experimental.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation_experimental.xml
new file mode 100644
index 0000000..9c3fbbd
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation_experimental.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation_jvm.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation_jvm.xml
new file mode 100644
index 0000000..05a7adc
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_annotation_annotation_jvm.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_appcompat_appcompat.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_appcompat_appcompat.xml
new file mode 100644
index 0000000..72460ec
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_appcompat_appcompat.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_appcompat_appcompat_resources.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_appcompat_appcompat_resources.xml
new file mode 100644
index 0000000..aaa23cf
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_appcompat_appcompat_resources.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_arch_core_core_common.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_arch_core_core_common.xml
new file mode 100644
index 0000000..d3fed0b
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_arch_core_core_common.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_arch_core_core_runtime.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_arch_core_core_runtime.xml
new file mode 100644
index 0000000..62d717c
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_arch_core_core_runtime.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_browser_browser.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_browser_browser.xml
new file mode 100644
index 0000000..8bf0a23
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_browser_browser.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_cardview_cardview.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_cardview_cardview.xml
new file mode 100644
index 0000000..db7812b
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_cardview_cardview.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection.xml
new file mode 100644
index 0000000..1fbdfc4
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection_jvm.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection_jvm.xml
new file mode 100644
index 0000000..e916fc5
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection_jvm.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection_ktx.xml
new file mode 100644
index 0000000..d7beaa7
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_collection_collection_ktx.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_concurrent_concurrent_futures.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_concurrent_concurrent_futures.xml
new file mode 100644
index 0000000..bf6ad25
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_concurrent_concurrent_futures.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_constraintlayout_constraintlayout.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_constraintlayout_constraintlayout.xml
new file mode 100644
index 0000000..3b9a3fc
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_constraintlayout_constraintlayout.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_constraintlayout_constraintlayout_core.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_constraintlayout_constraintlayout_core.xml
new file mode 100644
index 0000000..f4ebaee
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_constraintlayout_constraintlayout_core.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_coordinatorlayout_coordinatorlayout.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_coordinatorlayout_coordinatorlayout.xml
new file mode 100644
index 0000000..be2b9cd
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_coordinatorlayout_coordinatorlayout.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core.xml
new file mode 100644
index 0000000..d937f68
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core_ktx.xml
new file mode 100644
index 0000000..3203bb9
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core_ktx.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core_viewtree.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core_viewtree.xml
new file mode 100644
index 0000000..7d5bae5
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_core_core_viewtree.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_cursoradapter_cursoradapter.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_cursoradapter_cursoradapter.xml
new file mode 100644
index 0000000..2e5715c
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_cursoradapter_cursoradapter.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_customview_customview.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_customview_customview.xml
new file mode 100644
index 0000000..5d66dac
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_customview_customview.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_customview_customview_poolingcontainer.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_customview_customview_poolingcontainer.xml
new file mode 100644
index 0000000..cdbdaa4
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_customview_customview_poolingcontainer.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_drawerlayout_drawerlayout.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_drawerlayout_drawerlayout.xml
new file mode 100644
index 0000000..cfb80eb
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_drawerlayout_drawerlayout.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_dynamicanimation_dynamicanimation.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_dynamicanimation_dynamicanimation.xml
new file mode 100644
index 0000000..c9611a9
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_dynamicanimation_dynamicanimation.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_emoji2_emoji2.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_emoji2_emoji2.xml
new file mode 100644
index 0000000..868b903
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_emoji2_emoji2.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml
new file mode 100644
index 0000000..4e0be82
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_exifinterface_exifinterface.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_exifinterface_exifinterface.xml
new file mode 100644
index 0000000..0c02d8b
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_exifinterface_exifinterface.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_fragment_fragment.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_fragment_fragment.xml
new file mode 100644
index 0000000..0084d5f
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_fragment_fragment.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_fragment_fragment_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_fragment_fragment_ktx.xml
new file mode 100644
index 0000000..6e3b224
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_fragment_fragment_ktx.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_interpolator_interpolator.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_interpolator_interpolator.xml
new file mode 100644
index 0000000..c36b6fb
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_interpolator_interpolator.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_common.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_common.xml
new file mode 100644
index 0000000..1c0e22c
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_common.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_common_jvm.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_common_jvm.xml
new file mode 100644
index 0000000..d50ac06
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_common_jvm.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata.xml
new file mode 100644
index 0000000..bc64a7a
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml
new file mode 100644
index 0000000..dc898a6
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core_ktx.xml
new file mode 100644
index 0000000..03b697f
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core_ktx.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_process.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_process.xml
new file mode 100644
index 0000000..6d3d921
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_process.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_runtime_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_runtime_android.xml
new file mode 100644
index 0000000..ea09cda
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_runtime_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_runtime_ktx_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_runtime_ktx_android.xml
new file mode 100644
index 0000000..b25e59b
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_runtime_ktx_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_android.xml
new file mode 100644
index 0000000..29c746e
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_ktx.xml
new file mode 100644
index 0000000..f914307
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_ktx.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml
new file mode 100644
index 0000000..e5ea909
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate_android.xml
new file mode 100644
index 0000000..e952b44
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_loader_loader.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_loader_loader.xml
new file mode 100644
index 0000000..0a78fd0
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_loader_loader.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_common.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_common.xml
new file mode 100644
index 0000000..e7af6b1
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_common.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_common_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_common_android.xml
new file mode 100644
index 0000000..78f6661
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_common_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_fragment.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_fragment.xml
new file mode 100644
index 0000000..5758eec
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_fragment.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_runtime.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_runtime.xml
new file mode 100644
index 0000000..31fad25
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_runtime.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_runtime_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_runtime_android.xml
new file mode 100644
index 0000000..002cab5
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_runtime_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_ui.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_ui.xml
new file mode 100644
index 0000000..0ab34b6
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_navigation_navigation_ui.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_profileinstaller_profileinstaller.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_profileinstaller_profileinstaller.xml
new file mode 100644
index 0000000..d708c14
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_profileinstaller_profileinstaller.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_recyclerview_recyclerview.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_recyclerview_recyclerview.xml
new file mode 100644
index 0000000..6d9e14d
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_recyclerview_recyclerview.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml
new file mode 100644
index 0000000..9ac54c0
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate.xml
new file mode 100644
index 0000000..8643e82
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate_android.xml
new file mode 100644
index 0000000..3d93237
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate_android.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate_ktx.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate_ktx.xml
new file mode 100644
index 0000000..850eaba
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_savedstate_savedstate_ktx.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_security_security_crypto.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_security_security_crypto.xml
new file mode 100644
index 0000000..a47f73e
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_security_security_crypto.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_slidingpanelayout_slidingpanelayout.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_slidingpanelayout_slidingpanelayout.xml
new file mode 100644
index 0000000..0253a1c
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_slidingpanelayout_slidingpanelayout.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_startup_startup_runtime.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_startup_startup_runtime.xml
new file mode 100644
index 0000000..820ea4a
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_startup_startup_runtime.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_swiperefreshlayout_swiperefreshlayout.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_swiperefreshlayout_swiperefreshlayout.xml
new file mode 100644
index 0000000..55019e7
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_swiperefreshlayout_swiperefreshlayout.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_tracing_tracing.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_tracing_tracing.xml
new file mode 100644
index 0000000..fbd138f
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_tracing_tracing.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_tracing_tracing_android.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_tracing_tracing_android.xml
new file mode 100644
index 0000000..f66a905
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_tracing_tracing_android.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_transition_transition.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_transition_transition.xml
new file mode 100644
index 0000000..400df54
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_transition_transition.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_vectordrawable_vectordrawable.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_vectordrawable_vectordrawable.xml
new file mode 100644
index 0000000..31e0359
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_vectordrawable_vectordrawable.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml
new file mode 100644
index 0000000..2e45ca3
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml
new file mode 100644
index 0000000..414d770
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_viewpager2_viewpager2.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_viewpager2_viewpager2.xml
new file mode 100644
index 0000000..8c71481
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_viewpager2_viewpager2.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_viewpager_viewpager.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_viewpager_viewpager.xml
new file mode 100644
index 0000000..313eef1
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_viewpager_viewpager.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window.xml
new file mode 100644
index 0000000..020257a
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window_core.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window_core.xml
new file mode 100644
index 0000000..0dc90ac
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window_core.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window_core_jvm.xml b/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window_core_jvm.xml
new file mode 100644
index 0000000..00524f3
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/androidx_window_window_core_jvm.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/com_google_android_material_material.xml b/.idea/.idea.WorkTime/.idea/libraries/com_google_android_material_material.xml
new file mode 100644
index 0000000..cf5a8a9
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/com_google_android_material_material.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/gifdecoder.xml b/.idea/.idea.WorkTime/.idea/libraries/gifdecoder.xml
new file mode 100644
index 0000000..b96d216
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/gifdecoder.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/glide.xml b/.idea/.idea.WorkTime/.idea/libraries/glide.xml
new file mode 100644
index 0000000..e9d1a59
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/glide.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.WorkTime/.idea/libraries/maui.xml b/.idea/.idea.WorkTime/.idea/libraries/maui.xml
new file mode 100644
index 0000000..0d12ba1
--- /dev/null
+++ b/.idea/.idea.WorkTime/.idea/libraries/maui.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WorkTime.Database/DatabaseContext.cs b/WorkTime.Database/DatabaseContext.cs
deleted file mode 100644
index 6103479..0000000
--- a/WorkTime.Database/DatabaseContext.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using WorkTime.Models;
-
-namespace WorkTime.Database;
-
-internal sealed class DatabaseContext(DbContextOptions options) : DbContext(options) {
-
- public DbSet Entries { get; set; }
-
-}
-
-internal sealed class DbMigrationService(IServiceProvider provider) : IHostedService {
- public async Task StartAsync(CancellationToken cancellationToken) {
- await using var scope = provider.CreateAsyncScope();
- var context = scope.ServiceProvider.GetRequiredService();
-
- await context.Database.MigrateAsync(cancellationToken);
- }
-
- public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
-}
diff --git a/WorkTime.Database/Repositories/TimeEntryRepository.cs b/WorkTime.Database/Repositories/TimeEntryRepository.cs
deleted file mode 100644
index 2b44833..0000000
--- a/WorkTime.Database/Repositories/TimeEntryRepository.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using WorkTime.Models;
-using WorkTime.Models.Repositories;
-
-namespace WorkTime.Database.Repositories;
-
-internal sealed class TimeEntryRepository : ITimeEntryRepository {
- public Task> GetTimeEntries() {
- throw new NotImplementedException();
- }
-
- public Task> GetTimeEntries(DateOnly date) {
- throw new NotImplementedException();
- }
-
- public Task AddTimeEntry(TimeEntry entry) {
- throw new NotImplementedException();
- }
-
- public Task DeleteTimeEntry(Guid id) {
- throw new NotImplementedException();
- }
-}
\ No newline at end of file
diff --git a/WorkTime.Mobile/Pages/CapturePage.xaml b/WorkTime.Mobile/Pages/CapturePage.xaml
deleted file mode 100644
index bcadcbc..0000000
--- a/WorkTime.Mobile/Pages/CapturePage.xaml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/WorkTime.Mobile/Pages/CapturePage.xaml.cs b/WorkTime.Mobile/Pages/CapturePage.xaml.cs
deleted file mode 100644
index a4772c6..0000000
--- a/WorkTime.Mobile/Pages/CapturePage.xaml.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WorkTime.Mobile.Pages;
-
-public partial class CapturePage : ContentPage {
- public CapturePage() {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/WorkTime.sln.DotSettings.user b/WorkTime.sln.DotSettings.user
new file mode 100644
index 0000000..1976c2a
--- /dev/null
+++ b/WorkTime.sln.DotSettings.user
@@ -0,0 +1,2 @@
+
+ ForceIncluded
\ No newline at end of file
diff --git a/WorkTime.slnx b/WorkTime.slnx
index 017a02f..16e00fd 100644
--- a/WorkTime.slnx
+++ b/WorkTime.slnx
@@ -1,8 +1,8 @@
-
-
-
+
+
+
-
+
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..a11f48e
--- /dev/null
+++ b/global.json
@@ -0,0 +1,7 @@
+{
+ "sdk": {
+ "version": "10.0.0",
+ "rollForward": "latestMajor",
+ "allowPrerelease": true
+ }
+}
\ No newline at end of file
diff --git a/WorkTime.Mobile/App.xaml b/src/WorkTime.Mobile/App.xaml
similarity index 100%
rename from WorkTime.Mobile/App.xaml
rename to src/WorkTime.Mobile/App.xaml
diff --git a/WorkTime.Mobile/App.xaml.cs b/src/WorkTime.Mobile/App.xaml.cs
similarity index 67%
rename from WorkTime.Mobile/App.xaml.cs
rename to src/WorkTime.Mobile/App.xaml.cs
index ebba889..8ca6a40 100644
--- a/WorkTime.Mobile/App.xaml.cs
+++ b/src/WorkTime.Mobile/App.xaml.cs
@@ -1,12 +1,14 @@
using MauiIcons.Core;
-using Microsoft.Extensions.DependencyInjection;
+using Microsoft.EntityFrameworkCore;
+using WorkTime.Database;
namespace WorkTime.Mobile;
public partial class App : Application {
- public App() {
+ public App(DatabaseContext context) {
InitializeComponent();
_ = new MauiIcon();
+ context.Database.Migrate();
}
protected override Window CreateWindow(IActivationState? activationState) {
diff --git a/WorkTime.Mobile/AppShell.xaml b/src/WorkTime.Mobile/AppShell.xaml
similarity index 100%
rename from WorkTime.Mobile/AppShell.xaml
rename to src/WorkTime.Mobile/AppShell.xaml
diff --git a/WorkTime.Mobile/AppShell.xaml.cs b/src/WorkTime.Mobile/AppShell.xaml.cs
similarity index 100%
rename from WorkTime.Mobile/AppShell.xaml.cs
rename to src/WorkTime.Mobile/AppShell.xaml.cs
diff --git a/WorkTime.Mobile/MainPage.xaml b/src/WorkTime.Mobile/MainPage.xaml
similarity index 100%
rename from WorkTime.Mobile/MainPage.xaml
rename to src/WorkTime.Mobile/MainPage.xaml
diff --git a/WorkTime.Mobile/MainPage.xaml.cs b/src/WorkTime.Mobile/MainPage.xaml.cs
similarity index 100%
rename from WorkTime.Mobile/MainPage.xaml.cs
rename to src/WorkTime.Mobile/MainPage.xaml.cs
diff --git a/WorkTime.Mobile/MauiProgram.cs b/src/WorkTime.Mobile/MauiProgram.cs
similarity index 93%
rename from WorkTime.Mobile/MauiProgram.cs
rename to src/WorkTime.Mobile/MauiProgram.cs
index 4ff3fe4..285210e 100644
--- a/WorkTime.Mobile/MauiProgram.cs
+++ b/src/WorkTime.Mobile/MauiProgram.cs
@@ -20,6 +20,7 @@ public static class MauiProgram {
builder.Services.AddDatabase(FileSystem.AppDataDirectory);
+ builder.Services.AddTransient();
builder.Services.AddTransient();
#if DEBUG
diff --git a/WorkTime.Mobile/Pages/AnalysisPage.xaml b/src/WorkTime.Mobile/Pages/AnalysisPage.xaml
similarity index 100%
rename from WorkTime.Mobile/Pages/AnalysisPage.xaml
rename to src/WorkTime.Mobile/Pages/AnalysisPage.xaml
diff --git a/WorkTime.Mobile/Pages/AnalysisPage.xaml.cs b/src/WorkTime.Mobile/Pages/AnalysisPage.xaml.cs
similarity index 100%
rename from WorkTime.Mobile/Pages/AnalysisPage.xaml.cs
rename to src/WorkTime.Mobile/Pages/AnalysisPage.xaml.cs
diff --git a/src/WorkTime.Mobile/Pages/CapturePage.xaml b/src/WorkTime.Mobile/Pages/CapturePage.xaml
new file mode 100644
index 0000000..f22331f
--- /dev/null
+++ b/src/WorkTime.Mobile/Pages/CapturePage.xaml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/WorkTime.Mobile/Pages/CapturePage.xaml.cs b/src/WorkTime.Mobile/Pages/CapturePage.xaml.cs
new file mode 100644
index 0000000..4fb8045
--- /dev/null
+++ b/src/WorkTime.Mobile/Pages/CapturePage.xaml.cs
@@ -0,0 +1,106 @@
+using System.Collections.ObjectModel;
+using CommunityToolkit.Mvvm.ComponentModel;
+using CommunityToolkit.Mvvm.Input;
+using WorkTime.Models;
+using WorkTime.Models.Repositories;
+
+namespace WorkTime.Mobile.Pages;
+
+public partial class CapturePage : ContentPage {
+ private readonly CapturePageModel _model;
+
+ public CapturePage(CapturePageModel model) {
+ InitializeComponent();
+ BindingContext = model;
+ _model = model;
+ }
+
+ protected override void OnAppearing() {
+ base.OnAppearing();
+
+ if (_model.AppearingCommand.CanExecute(null))
+ _model.AppearingCommand.Execute(null);
+ }
+}
+
+public partial class CapturePageModel(ITimeEntryRepository entryRepository) : ObservableObject {
+
+ private DateOnly _currentDate = DateOnly.FromDateTime(DateTime.Now);
+
+ [ObservableProperty]
+ public partial ObservableCollection Entries { get; set; } = new();
+
+ [ObservableProperty]
+ public partial EntryType CurrentType { get; set; } = EntryType.Login;
+
+ public string CurrentTypeName => CurrentType switch {
+ EntryType.Login => "Einstempeln",
+ EntryType.LoginHome => "Einstempeln (mobA)",
+ EntryType.LoginTrip => "Dienstreise starten",
+ EntryType.Logout => "Ausstempeln",
+ EntryType.LogoutHome => "Ausstempeln (mobA)",
+ EntryType.LogoutTrip => "Dienstreise beenden",
+ _ => "UNKNOWN"
+ };
+
+ partial void OnCurrentTypeChanged(EntryType value) {
+ OnPropertyChanged(nameof(CurrentTypeName));
+ }
+
+ [RelayCommand]
+ public async Task LoadDate(DateOnly date) {
+ _currentDate = date;
+ Entries.Clear();
+
+ var result = await entryRepository.GetTimeEntries(date);
+ foreach (var entry in result) {
+ Entries.Add(entry);
+ }
+
+ UpdateCurrentType();
+ }
+
+ private void UpdateCurrentType() {
+ var last = Entries.LastOrDefault();
+
+ if (last is null) {
+ CurrentType = EntryType.Login;
+ return;
+ }
+
+ CurrentType = last.Type switch {
+ EntryType.Login => EntryType.Logout,
+ EntryType.LoginHome => EntryType.LogoutHome,
+ EntryType.LoginTrip => EntryType.LogoutTrip,
+
+ EntryType.Logout => EntryType.Login,
+ EntryType.LogoutHome => EntryType.LoginHome,
+ EntryType.LogoutTrip => EntryType.LoginTrip,
+
+ _ => EntryType.Login
+ };
+ }
+
+ [RelayCommand]
+ public async Task OnAppearing() {
+ await LoadDate(_currentDate);
+ }
+
+ [RelayCommand]
+ public async Task RegisterEntry(TimeEntry? entry = null) {
+ entry ??= new TimeEntry {
+ Timestamp = DateTime.Now,
+ Type = CurrentType
+ };
+
+ await entryRepository.AddTimeEntry(entry);
+ await LoadDate(_currentDate);
+ }
+
+ [RelayCommand]
+ public async Task DeleteEntry(Guid entryId) {
+ await entryRepository.DeleteTimeEntry(entryId);
+ await LoadDate(_currentDate);
+ }
+
+}
diff --git a/src/WorkTime.Mobile/Pages/Components/DateSelector.xaml b/src/WorkTime.Mobile/Pages/Components/DateSelector.xaml
new file mode 100644
index 0000000..7294fb3
--- /dev/null
+++ b/src/WorkTime.Mobile/Pages/Components/DateSelector.xaml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/WorkTime.Mobile/Pages/Components/DateSelector.xaml.cs b/src/WorkTime.Mobile/Pages/Components/DateSelector.xaml.cs
new file mode 100644
index 0000000..5188c18
--- /dev/null
+++ b/src/WorkTime.Mobile/Pages/Components/DateSelector.xaml.cs
@@ -0,0 +1,48 @@
+using CommunityToolkit.Mvvm.Input;
+
+namespace WorkTime.Mobile.Pages.Components;
+
+public partial class DateSelector : ContentView {
+
+ public static readonly BindableProperty CurrentDateProperty = BindableProperty.Create(
+ nameof(CurrentDate),
+ typeof(DateTime),
+ typeof(DateSelector),
+ DateTime.Now);
+
+ public static readonly BindableProperty MaxDateProperty = BindableProperty.Create(
+ nameof(MaxDate),
+ typeof(DateTime),
+ typeof(DateSelector),
+ DateTime.Now);
+
+ public static readonly BindableProperty CommandProperty = BindableProperty.Create(
+ nameof(Command),
+ typeof(IRelayCommand),
+ typeof(DateSelector));
+
+ public DateTime CurrentDate {
+ get => (DateTime)GetValue(CurrentDateProperty);
+ set => SetValue(CurrentDateProperty, value);
+ }
+
+ public DateTime MaxDate {
+ get => (DateTime)GetValue(MaxDateProperty);
+ set => SetValue(MaxDateProperty, value);
+ }
+
+ public IRelayCommand? Command {
+ get => (IRelayCommand)GetValue(CommandProperty);
+ set => SetValue(CommandProperty, value);
+ }
+
+ public DateSelector() {
+ InitializeComponent();
+ }
+
+ private void OnDateSelected(object? sender, DateChangedEventArgs e) {
+ var date = DateOnly.FromDateTime(CurrentDate);
+ Command?.Execute(date);
+ }
+
+}
\ No newline at end of file
diff --git a/WorkTime.Mobile/Pages/Components/SettingComponent.xaml b/src/WorkTime.Mobile/Pages/Components/SettingComponent.xaml
similarity index 100%
rename from WorkTime.Mobile/Pages/Components/SettingComponent.xaml
rename to src/WorkTime.Mobile/Pages/Components/SettingComponent.xaml
diff --git a/WorkTime.Mobile/Pages/Components/SettingComponent.xaml.cs b/src/WorkTime.Mobile/Pages/Components/SettingComponent.xaml.cs
similarity index 85%
rename from WorkTime.Mobile/Pages/Components/SettingComponent.xaml.cs
rename to src/WorkTime.Mobile/Pages/Components/SettingComponent.xaml.cs
index 9fad078..a6c3a82 100644
--- a/WorkTime.Mobile/Pages/Components/SettingComponent.xaml.cs
+++ b/src/WorkTime.Mobile/Pages/Components/SettingComponent.xaml.cs
@@ -41,16 +41,11 @@ public partial class SettingComponent : ContentView {
private void OnValueChanged(object? sender, TextChangedEventArgs e) {
if (!int.TryParse(e.NewTextValue, out var number)) return;
- switch (Unit) {
- case "Stunden":
- case "Uhr":
- Value = TimeSpan.FromHours(number);
- break;
-
- case "Minuten":
- Value = TimeSpan.FromMinutes(number);
- break;
- }
+ Value = Unit switch {
+ "Stunden" or "Uhr" => TimeSpan.FromHours(number),
+ "Minuten" => TimeSpan.FromMinutes(number),
+ _ => Value
+ };
}
public void ClearInput() {
diff --git a/WorkTime.Mobile/Pages/SettingsPage.xaml b/src/WorkTime.Mobile/Pages/SettingsPage.xaml
similarity index 100%
rename from WorkTime.Mobile/Pages/SettingsPage.xaml
rename to src/WorkTime.Mobile/Pages/SettingsPage.xaml
diff --git a/WorkTime.Mobile/Pages/SettingsPage.xaml.cs b/src/WorkTime.Mobile/Pages/SettingsPage.xaml.cs
similarity index 97%
rename from WorkTime.Mobile/Pages/SettingsPage.xaml.cs
rename to src/WorkTime.Mobile/Pages/SettingsPage.xaml.cs
index f65328b..eaf56a4 100644
--- a/WorkTime.Mobile/Pages/SettingsPage.xaml.cs
+++ b/src/WorkTime.Mobile/Pages/SettingsPage.xaml.cs
@@ -1,5 +1,4 @@
using CommunityToolkit.Maui.Alerts;
-using CommunityToolkit.Maui.Core;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using WorkTime.Mobile.Pages.Components;
diff --git a/WorkTime.Mobile/Platforms/Android/AndroidManifest.xml b/src/WorkTime.Mobile/Platforms/Android/AndroidManifest.xml
similarity index 100%
rename from WorkTime.Mobile/Platforms/Android/AndroidManifest.xml
rename to src/WorkTime.Mobile/Platforms/Android/AndroidManifest.xml
diff --git a/WorkTime.Mobile/Platforms/Android/MainActivity.cs b/src/WorkTime.Mobile/Platforms/Android/MainActivity.cs
similarity index 69%
rename from WorkTime.Mobile/Platforms/Android/MainActivity.cs
rename to src/WorkTime.Mobile/Platforms/Android/MainActivity.cs
index 5e667dc..a76bb2b 100644
--- a/WorkTime.Mobile/Platforms/Android/MainActivity.cs
+++ b/src/WorkTime.Mobile/Platforms/Android/MainActivity.cs
@@ -1,10 +1,10 @@
using Android.App;
using Android.Content.PM;
-using Android.OS;
namespace WorkTime.Mobile;
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode |
- ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
-public class MainActivity : MauiAppCompatActivity { }
\ No newline at end of file
+ ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density,
+ ScreenOrientation = ScreenOrientation.Portrait)]
+public class MainActivity : MauiAppCompatActivity;
\ No newline at end of file
diff --git a/WorkTime.Mobile/Platforms/Android/MainApplication.cs b/src/WorkTime.Mobile/Platforms/Android/MainApplication.cs
similarity index 100%
rename from WorkTime.Mobile/Platforms/Android/MainApplication.cs
rename to src/WorkTime.Mobile/Platforms/Android/MainApplication.cs
diff --git a/WorkTime.Mobile/Platforms/Android/Resources/values/colors.xml b/src/WorkTime.Mobile/Platforms/Android/Resources/values/colors.xml
similarity index 77%
rename from WorkTime.Mobile/Platforms/Android/Resources/values/colors.xml
rename to src/WorkTime.Mobile/Platforms/Android/Resources/values/colors.xml
index 6fa4115..c04d749 100644
--- a/WorkTime.Mobile/Platforms/Android/Resources/values/colors.xml
+++ b/src/WorkTime.Mobile/Platforms/Android/Resources/values/colors.xml
@@ -1,6 +1,6 @@
- #1F1F1F
+ #512BD4
#2B0B98
#2B0B98
\ No newline at end of file
diff --git a/WorkTime.Mobile/Platforms/MacCatalyst/AppDelegate.cs b/src/WorkTime.Mobile/Platforms/MacCatalyst/AppDelegate.cs
similarity index 100%
rename from WorkTime.Mobile/Platforms/MacCatalyst/AppDelegate.cs
rename to src/WorkTime.Mobile/Platforms/MacCatalyst/AppDelegate.cs
diff --git a/WorkTime.Mobile/Platforms/MacCatalyst/Entitlements.plist b/src/WorkTime.Mobile/Platforms/MacCatalyst/Entitlements.plist
similarity index 100%
rename from WorkTime.Mobile/Platforms/MacCatalyst/Entitlements.plist
rename to src/WorkTime.Mobile/Platforms/MacCatalyst/Entitlements.plist
diff --git a/WorkTime.Mobile/Platforms/MacCatalyst/Info.plist b/src/WorkTime.Mobile/Platforms/MacCatalyst/Info.plist
similarity index 100%
rename from WorkTime.Mobile/Platforms/MacCatalyst/Info.plist
rename to src/WorkTime.Mobile/Platforms/MacCatalyst/Info.plist
diff --git a/WorkTime.Mobile/Platforms/MacCatalyst/Program.cs b/src/WorkTime.Mobile/Platforms/MacCatalyst/Program.cs
similarity index 100%
rename from WorkTime.Mobile/Platforms/MacCatalyst/Program.cs
rename to src/WorkTime.Mobile/Platforms/MacCatalyst/Program.cs
diff --git a/WorkTime.Mobile/Platforms/Windows/App.xaml b/src/WorkTime.Mobile/Platforms/Windows/App.xaml
similarity index 100%
rename from WorkTime.Mobile/Platforms/Windows/App.xaml
rename to src/WorkTime.Mobile/Platforms/Windows/App.xaml
diff --git a/WorkTime.Mobile/Platforms/Windows/App.xaml.cs b/src/WorkTime.Mobile/Platforms/Windows/App.xaml.cs
similarity index 100%
rename from WorkTime.Mobile/Platforms/Windows/App.xaml.cs
rename to src/WorkTime.Mobile/Platforms/Windows/App.xaml.cs
diff --git a/WorkTime.Mobile/Platforms/Windows/Package.appxmanifest b/src/WorkTime.Mobile/Platforms/Windows/Package.appxmanifest
similarity index 100%
rename from WorkTime.Mobile/Platforms/Windows/Package.appxmanifest
rename to src/WorkTime.Mobile/Platforms/Windows/Package.appxmanifest
diff --git a/WorkTime.Mobile/Platforms/Windows/app.manifest b/src/WorkTime.Mobile/Platforms/Windows/app.manifest
similarity index 100%
rename from WorkTime.Mobile/Platforms/Windows/app.manifest
rename to src/WorkTime.Mobile/Platforms/Windows/app.manifest
diff --git a/WorkTime.Mobile/Platforms/iOS/AppDelegate.cs b/src/WorkTime.Mobile/Platforms/iOS/AppDelegate.cs
similarity index 100%
rename from WorkTime.Mobile/Platforms/iOS/AppDelegate.cs
rename to src/WorkTime.Mobile/Platforms/iOS/AppDelegate.cs
diff --git a/WorkTime.Mobile/Platforms/iOS/Info.plist b/src/WorkTime.Mobile/Platforms/iOS/Info.plist
similarity index 88%
rename from WorkTime.Mobile/Platforms/iOS/Info.plist
rename to src/WorkTime.Mobile/Platforms/iOS/Info.plist
index 0004a4f..4b94348 100644
--- a/WorkTime.Mobile/Platforms/iOS/Info.plist
+++ b/src/WorkTime.Mobile/Platforms/iOS/Info.plist
@@ -16,8 +16,6 @@
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
UISupportedInterfaceOrientations~ipad
diff --git a/WorkTime.Mobile/Platforms/iOS/Program.cs b/src/WorkTime.Mobile/Platforms/iOS/Program.cs
similarity index 100%
rename from WorkTime.Mobile/Platforms/iOS/Program.cs
rename to src/WorkTime.Mobile/Platforms/iOS/Program.cs
diff --git a/WorkTime.Mobile/Platforms/iOS/Resources/PrivacyInfo.xcprivacy b/src/WorkTime.Mobile/Platforms/iOS/Resources/PrivacyInfo.xcprivacy
similarity index 100%
rename from WorkTime.Mobile/Platforms/iOS/Resources/PrivacyInfo.xcprivacy
rename to src/WorkTime.Mobile/Platforms/iOS/Resources/PrivacyInfo.xcprivacy
diff --git a/WorkTime.Mobile/Properties/launchSettings.json b/src/WorkTime.Mobile/Properties/launchSettings.json
similarity index 100%
rename from WorkTime.Mobile/Properties/launchSettings.json
rename to src/WorkTime.Mobile/Properties/launchSettings.json
diff --git a/WorkTime.Mobile/Resources/AppIcon/appicon.png b/src/WorkTime.Mobile/Resources/AppIcon/appicon.png
similarity index 100%
rename from WorkTime.Mobile/Resources/AppIcon/appicon.png
rename to src/WorkTime.Mobile/Resources/AppIcon/appicon.png
diff --git a/WorkTime.Mobile/Resources/AppIcon/appiconfg.png b/src/WorkTime.Mobile/Resources/AppIcon/appiconfg.png
similarity index 100%
rename from WorkTime.Mobile/Resources/AppIcon/appiconfg.png
rename to src/WorkTime.Mobile/Resources/AppIcon/appiconfg.png
diff --git a/WorkTime.Mobile/Resources/Fonts/OpenSans-Regular.ttf b/src/WorkTime.Mobile/Resources/Fonts/OpenSans-Regular.ttf
similarity index 100%
rename from WorkTime.Mobile/Resources/Fonts/OpenSans-Regular.ttf
rename to src/WorkTime.Mobile/Resources/Fonts/OpenSans-Regular.ttf
diff --git a/WorkTime.Mobile/Resources/Fonts/OpenSans-Semibold.ttf b/src/WorkTime.Mobile/Resources/Fonts/OpenSans-Semibold.ttf
similarity index 100%
rename from WorkTime.Mobile/Resources/Fonts/OpenSans-Semibold.ttf
rename to src/WorkTime.Mobile/Resources/Fonts/OpenSans-Semibold.ttf
diff --git a/WorkTime.Mobile/Resources/Images/dotnet_bot.png b/src/WorkTime.Mobile/Resources/Images/dotnet_bot.png
similarity index 100%
rename from WorkTime.Mobile/Resources/Images/dotnet_bot.png
rename to src/WorkTime.Mobile/Resources/Images/dotnet_bot.png
diff --git a/WorkTime.Mobile/Resources/Raw/AboutAssets.txt b/src/WorkTime.Mobile/Resources/Raw/AboutAssets.txt
similarity index 100%
rename from WorkTime.Mobile/Resources/Raw/AboutAssets.txt
rename to src/WorkTime.Mobile/Resources/Raw/AboutAssets.txt
diff --git a/WorkTime.Mobile/Resources/Splash/splash.png b/src/WorkTime.Mobile/Resources/Splash/splash.png
similarity index 100%
rename from WorkTime.Mobile/Resources/Splash/splash.png
rename to src/WorkTime.Mobile/Resources/Splash/splash.png
diff --git a/WorkTime.Mobile/Resources/Styles/Colors.xaml b/src/WorkTime.Mobile/Resources/Styles/Colors.xaml
similarity index 100%
rename from WorkTime.Mobile/Resources/Styles/Colors.xaml
rename to src/WorkTime.Mobile/Resources/Styles/Colors.xaml
diff --git a/WorkTime.Mobile/Resources/Styles/Styles.xaml b/src/WorkTime.Mobile/Resources/Styles/Styles.xaml
similarity index 100%
rename from WorkTime.Mobile/Resources/Styles/Styles.xaml
rename to src/WorkTime.Mobile/Resources/Styles/Styles.xaml
diff --git a/WorkTime.Mobile/WorkTime.Mobile.csproj b/src/WorkTime.Mobile/WorkTime.Mobile.csproj
similarity index 95%
rename from WorkTime.Mobile/WorkTime.Mobile.csproj
rename to src/WorkTime.Mobile/WorkTime.Mobile.csproj
index 3151689..b16c8b5 100644
--- a/WorkTime.Mobile/WorkTime.Mobile.csproj
+++ b/src/WorkTime.Mobile/WorkTime.Mobile.csproj
@@ -67,8 +67,8 @@
-
-
+
+
diff --git a/src/modules/WorkTime.Database/DatabaseContext.cs b/src/modules/WorkTime.Database/DatabaseContext.cs
new file mode 100644
index 0000000..ecf4960
--- /dev/null
+++ b/src/modules/WorkTime.Database/DatabaseContext.cs
@@ -0,0 +1,10 @@
+using Microsoft.EntityFrameworkCore;
+using WorkTime.Models;
+
+namespace WorkTime.Database;
+
+public sealed class DatabaseContext(DbContextOptions options) : DbContext(options) {
+
+ public DbSet Entries { get; set; }
+
+}
diff --git a/WorkTime.Database/Migrations/20251112121330_Initial.Designer.cs b/src/modules/WorkTime.Database/Migrations/20251112121330_Initial.Designer.cs
similarity index 100%
rename from WorkTime.Database/Migrations/20251112121330_Initial.Designer.cs
rename to src/modules/WorkTime.Database/Migrations/20251112121330_Initial.Designer.cs
diff --git a/WorkTime.Database/Migrations/20251112121330_Initial.cs b/src/modules/WorkTime.Database/Migrations/20251112121330_Initial.cs
similarity index 100%
rename from WorkTime.Database/Migrations/20251112121330_Initial.cs
rename to src/modules/WorkTime.Database/Migrations/20251112121330_Initial.cs
diff --git a/WorkTime.Database/Migrations/DatabaseContextModelSnapshot.cs b/src/modules/WorkTime.Database/Migrations/DatabaseContextModelSnapshot.cs
similarity index 100%
rename from WorkTime.Database/Migrations/DatabaseContextModelSnapshot.cs
rename to src/modules/WorkTime.Database/Migrations/DatabaseContextModelSnapshot.cs
diff --git a/WorkTime.Database/Repositories/SettingsRepository.cs b/src/modules/WorkTime.Database/Repositories/SettingsRepository.cs
similarity index 100%
rename from WorkTime.Database/Repositories/SettingsRepository.cs
rename to src/modules/WorkTime.Database/Repositories/SettingsRepository.cs
diff --git a/src/modules/WorkTime.Database/Repositories/TimeEntryRepository.cs b/src/modules/WorkTime.Database/Repositories/TimeEntryRepository.cs
new file mode 100644
index 0000000..ded94e0
--- /dev/null
+++ b/src/modules/WorkTime.Database/Repositories/TimeEntryRepository.cs
@@ -0,0 +1,33 @@
+using Microsoft.EntityFrameworkCore;
+using WorkTime.Models;
+using WorkTime.Models.Repositories;
+
+namespace WorkTime.Database.Repositories;
+
+internal sealed class TimeEntryRepository(DatabaseContext context) : ITimeEntryRepository {
+ public async Task> GetTimeEntries() {
+ return await context.Entries
+ .OrderBy(e => e.Timestamp)
+ .ToListAsync();
+ }
+
+ public async Task> GetTimeEntries(DateOnly date) {
+ return await context.Entries
+ .Where(e => DateOnly.FromDateTime(e.Timestamp) == date)
+ .OrderBy(e => e.Timestamp)
+ .ToListAsync();
+ }
+
+ public async Task AddTimeEntry(TimeEntry entry) {
+ await context.Entries.AddAsync(entry);
+ await context.SaveChangesAsync();
+ }
+
+ public async Task DeleteTimeEntry(Guid id) {
+ var entry = await context.Entries.FindAsync(id);
+ if (entry is null) return;
+
+ context.Entries.Remove(entry);
+ await context.SaveChangesAsync();
+ }
+}
\ No newline at end of file
diff --git a/WorkTime.Database/ServiceCollectionExtensions.cs b/src/modules/WorkTime.Database/ServiceCollectionExtensions.cs
similarity index 91%
rename from WorkTime.Database/ServiceCollectionExtensions.cs
rename to src/modules/WorkTime.Database/ServiceCollectionExtensions.cs
index b77d58b..09f69a5 100644
--- a/WorkTime.Database/ServiceCollectionExtensions.cs
+++ b/src/modules/WorkTime.Database/ServiceCollectionExtensions.cs
@@ -8,7 +8,6 @@ public static class ServiceCollectionExtensions {
public static void AddDatabase(this IServiceCollection services, string basePath) {
services.AddSqlite($"Filename={Path.Combine(basePath, "data.db")}");
- services.AddHostedService();
services.AddTransient();
services.AddTransient(_ => new SettingsRepository(Path.Combine(basePath, "settings.json")));
}
diff --git a/WorkTime.Database/WorkTime.Database.csproj b/src/modules/WorkTime.Database/WorkTime.Database.csproj
similarity index 100%
rename from WorkTime.Database/WorkTime.Database.csproj
rename to src/modules/WorkTime.Database/WorkTime.Database.csproj
diff --git a/WorkTime.Migrator/Program.cs b/src/modules/WorkTime.Migrator/Program.cs
similarity index 100%
rename from WorkTime.Migrator/Program.cs
rename to src/modules/WorkTime.Migrator/Program.cs
diff --git a/WorkTime.Migrator/Properties/launchSettings.json b/src/modules/WorkTime.Migrator/Properties/launchSettings.json
similarity index 100%
rename from WorkTime.Migrator/Properties/launchSettings.json
rename to src/modules/WorkTime.Migrator/Properties/launchSettings.json
diff --git a/WorkTime.Migrator/WorkTime.Migrator.csproj b/src/modules/WorkTime.Migrator/WorkTime.Migrator.csproj
similarity index 100%
rename from WorkTime.Migrator/WorkTime.Migrator.csproj
rename to src/modules/WorkTime.Migrator/WorkTime.Migrator.csproj
diff --git a/WorkTime.Migrator/appsettings.Development.json b/src/modules/WorkTime.Migrator/appsettings.Development.json
similarity index 100%
rename from WorkTime.Migrator/appsettings.Development.json
rename to src/modules/WorkTime.Migrator/appsettings.Development.json
diff --git a/WorkTime.Migrator/appsettings.json b/src/modules/WorkTime.Migrator/appsettings.json
similarity index 100%
rename from WorkTime.Migrator/appsettings.json
rename to src/modules/WorkTime.Migrator/appsettings.json
diff --git a/WorkTime.Models/Repositories/ISettingsRepository.cs b/src/modules/WorkTime.Models/Repositories/ISettingsRepository.cs
similarity index 100%
rename from WorkTime.Models/Repositories/ISettingsRepository.cs
rename to src/modules/WorkTime.Models/Repositories/ISettingsRepository.cs
diff --git a/WorkTime.Models/Repositories/ITimeEntryRepository.cs b/src/modules/WorkTime.Models/Repositories/ITimeEntryRepository.cs
similarity index 100%
rename from WorkTime.Models/Repositories/ITimeEntryRepository.cs
rename to src/modules/WorkTime.Models/Repositories/ITimeEntryRepository.cs
diff --git a/WorkTime.Models/Settings.cs b/src/modules/WorkTime.Models/Settings.cs
similarity index 100%
rename from WorkTime.Models/Settings.cs
rename to src/modules/WorkTime.Models/Settings.cs
diff --git a/WorkTime.Models/TimeEntry.cs b/src/modules/WorkTime.Models/TimeEntry.cs
similarity index 100%
rename from WorkTime.Models/TimeEntry.cs
rename to src/modules/WorkTime.Models/TimeEntry.cs
diff --git a/WorkTime.Models/WorkTime.Models.csproj b/src/modules/WorkTime.Models/WorkTime.Models.csproj
similarity index 100%
rename from WorkTime.Models/WorkTime.Models.csproj
rename to src/modules/WorkTime.Models/WorkTime.Models.csproj