From 127a53f003c42244f3dfaaf828625115cf90a520 Mon Sep 17 00:00:00 2001 From: Younes Date: Tue, 15 Jul 2025 22:31:54 +0200 Subject: [PATCH] hallo --- .vs/ProjectEvaluation/wpfapp4.metadata.v9.bin | Bin 0 -> 1176 bytes .vs/ProjectEvaluation/wpfapp4.projects.v9.bin | Bin 0 -> 77102 bytes .vs/ProjectEvaluation/wpfapp4.strings.v9.bin | Bin 0 -> 124427 bytes .vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 106957 bytes ...5813c38e-59c0-4c38-9842-8ecfcfb2d18f.vsidx | Bin 0 -> 9348 bytes ...5e15f0b2-bcd1-42a0-8f3a-c8c65a148880.vsidx | Bin 0 -> 32826 bytes ...87c19e25-a720-4d8f-8744-e9854565b891.vsidx | Bin 0 -> 13319 bytes ...9d2e77c0-b747-4575-9f41-6374b43997e9.vsidx | Bin 0 -> 19703 bytes ...c955aea1-4768-439e-a9a2-c678315d8cbd.vsidx | Bin 0 -> 13843 bytes .vs/WpfApp4/v17/.futdcache.v2 | Bin 0 -> 121 bytes .vs/WpfApp4/v17/.suo | Bin 0 -> 67584 bytes .vs/WpfApp4/v17/DocumentLayout.backup.json | 163 ++ .vs/WpfApp4/v17/DocumentLayout.json | 163 ++ README.md | 4 +- WpfApp4.sln | 22 + WpfApp4/App.xaml | 8 + WpfApp4/App.xaml.cs | 31 + WpfApp4/DatabaseService.cs | 305 ++++ WpfApp4/Fahrzeug.cs | 202 +++ WpfApp4/FahrzeugVerwaltung.cs | 193 +++ WpfApp4/MainWindow.xaml | 132 ++ WpfApp4/MainWindow.xaml.cs | 333 ++++ WpfApp4/PdfService.cs | 281 ++++ WpfApp4/WpfApp4.csproj | 17 + WpfApp4/WpfApp4.csproj.user | 14 + .../BouncyCastle.Cryptography.dll | Bin 0 -> 7072536 bytes .../EntityFramework.SqlServer.dll | Bin 0 -> 591440 bytes .../Debug/net8.0-windows/EntityFramework.dll | Bin 0 -> 4977744 bytes .../net8.0-windows/System.Data.SQLite.EF6.dll | Bin 0 -> 206520 bytes .../net8.0-windows/System.Data.SQLite.dll | Bin 0 -> 446136 bytes .../net8.0-windows/System.Data.SqlClient.dll | Bin 0 -> 267136 bytes .../Debug/net8.0-windows/WpfApp4.deps.json | 396 +++++ WpfApp4/bin/Debug/net8.0-windows/WpfApp4.dll | Bin 0 -> 43008 bytes WpfApp4/bin/Debug/net8.0-windows/WpfApp4.exe | Bin 0 -> 138752 bytes WpfApp4/bin/Debug/net8.0-windows/WpfApp4.pdb | Bin 0 -> 22784 bytes .../net8.0-windows/WpfApp4.runtimeconfig.json | 19 + WpfApp4/bin/Debug/net8.0-windows/fahrzeuge.db | Bin 0 -> 12288 bytes .../bin/Debug/net8.0-windows/itextsharp.dll | Bin 0 -> 2592768 bytes .../linux-x64/native/SQLite.Interop.dll | Bin 0 -> 3160952 bytes .../osx-x64/native/SQLite.Interop.dll | Bin 0 -> 2284828 bytes .../netcoreapp2.1/System.Data.SqlClient.dll | Bin 0 -> 954752 bytes .../runtimes/win-arm64/native/sni.dll | Bin 0 -> 174224 bytes .../win-x64/native/SQLite.Interop.dll | Bin 0 -> 2005688 bytes .../runtimes/win-x64/native/sni.dll | Bin 0 -> 160040 bytes .../win-x86/native/SQLite.Interop.dll | Bin 0 -> 1592504 bytes .../runtimes/win-x86/native/sni.dll | Bin 0 -> 136488 bytes .../netcoreapp2.1/System.Data.SqlClient.dll | Bin 0 -> 1023360 bytes ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 + WpfApp4/obj/Debug/net8.0-windows/App.g.cs | 70 + WpfApp4/obj/Debug/net8.0-windows/App.g.i.cs | 70 + .../obj/Debug/net8.0-windows/MainWindow.baml | Bin 0 -> 6339 bytes .../obj/Debug/net8.0-windows/MainWindow.g.cs | 279 ++++ .../Debug/net8.0-windows/MainWindow.g.i.cs | 279 ++++ .../net8.0-windows/WpfApp4.AssemblyInfo.cs | 25 + .../WpfApp4.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 16 + .../net8.0-windows/WpfApp4.GlobalUsings.g.cs | 6 + .../Debug/net8.0-windows/WpfApp4.assets.cache | Bin 0 -> 17525 bytes .../WpfApp4.csproj.AssemblyReference.cache | Bin 0 -> 3700 bytes .../WpfApp4.csproj.BuildWithSkipAnalyzers | 0 .../WpfApp4.csproj.CoreCompileInputs.cache | 1 + .../WpfApp4.csproj.FileListAbsolute.txt | 37 + .../net8.0-windows/WpfApp4.csproj.Up2Date | 0 .../net8.0-windows/WpfApp4.designer.deps.json | 526 +++++++ .../WpfApp4.designer.runtimeconfig.json | 25 + WpfApp4/obj/Debug/net8.0-windows/WpfApp4.dll | Bin 0 -> 43008 bytes .../Debug/net8.0-windows/WpfApp4.g.resources | Bin 0 -> 6567 bytes .../WpfApp4.genruntimeconfig.cache | 1 + WpfApp4/obj/Debug/net8.0-windows/WpfApp4.pdb | Bin 0 -> 22784 bytes .../WpfApp4_MarkupCompile.cache | 20 + .../WpfApp4_MarkupCompile.i.cache | 20 + WpfApp4/obj/Debug/net8.0-windows/apphost.exe | Bin 0 -> 138752 bytes .../obj/Debug/net8.0-windows/ref/WpfApp4.dll | Bin 0 -> 10240 bytes .../Debug/net8.0-windows/refint/WpfApp4.dll | Bin 0 -> 10240 bytes WpfApp4/obj/WpfApp4.csproj.nuget.dgspec.json | 90 ++ WpfApp4/obj/WpfApp4.csproj.nuget.g.props | 23 + WpfApp4/obj/WpfApp4.csproj.nuget.g.targets | 6 + WpfApp4/obj/project.assets.json | 1378 +++++++++++++++++ WpfApp4/obj/project.nuget.cache | 45 + WpfAppSQLite/App.xaml | 9 + WpfAppSQLite/App.xaml.cs | 13 + WpfAppSQLite/AssemblyInfo.cs | 10 + WpfAppSQLite/MainWindow.xaml | 12 + WpfAppSQLite/MainWindow.xaml.cs | 23 + WpfAppSQLite/WpfAppSQLite.csproj | 11 + .../obj/WpfAppSQLite.csproj.nuget.dgspec.json | 72 + .../obj/WpfAppSQLite.csproj.nuget.g.props | 16 + .../obj/WpfAppSQLite.csproj.nuget.g.targets | 2 + WpfAppSQLite/obj/project.assets.json | 78 + WpfAppSQLite/obj/project.nuget.cache | 8 + 90 files changed, 5457 insertions(+), 2 deletions(-) create mode 100644 .vs/ProjectEvaluation/wpfapp4.metadata.v9.bin create mode 100644 .vs/ProjectEvaluation/wpfapp4.projects.v9.bin create mode 100644 .vs/ProjectEvaluation/wpfapp4.strings.v9.bin create mode 100644 .vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/WpfApp4/FileContentIndex/5813c38e-59c0-4c38-9842-8ecfcfb2d18f.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/5e15f0b2-bcd1-42a0-8f3a-c8c65a148880.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/87c19e25-a720-4d8f-8744-e9854565b891.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/9d2e77c0-b747-4575-9f41-6374b43997e9.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/c955aea1-4768-439e-a9a2-c678315d8cbd.vsidx create mode 100644 .vs/WpfApp4/v17/.futdcache.v2 create mode 100644 .vs/WpfApp4/v17/.suo create mode 100644 .vs/WpfApp4/v17/DocumentLayout.backup.json create mode 100644 .vs/WpfApp4/v17/DocumentLayout.json create mode 100644 WpfApp4.sln create mode 100644 WpfApp4/App.xaml create mode 100644 WpfApp4/App.xaml.cs create mode 100644 WpfApp4/DatabaseService.cs create mode 100644 WpfApp4/Fahrzeug.cs create mode 100644 WpfApp4/FahrzeugVerwaltung.cs create mode 100644 WpfApp4/MainWindow.xaml create mode 100644 WpfApp4/MainWindow.xaml.cs create mode 100644 WpfApp4/PdfService.cs create mode 100644 WpfApp4/WpfApp4.csproj create mode 100644 WpfApp4/WpfApp4.csproj.user create mode 100644 WpfApp4/bin/Debug/net8.0-windows/BouncyCastle.Cryptography.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/EntityFramework.SqlServer.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/EntityFramework.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/System.Data.SQLite.EF6.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/System.Data.SQLite.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/System.Data.SqlClient.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.deps.json create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.exe create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.pdb create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.runtimeconfig.json create mode 100644 WpfApp4/bin/Debug/net8.0-windows/fahrzeuge.db create mode 100644 WpfApp4/bin/Debug/net8.0-windows/itextsharp.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/linux-x64/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/osx-x64/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-arm64/native/sni.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x64/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x64/native/sni.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x86/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x86/native/sni.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll create mode 100644 WpfApp4/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/App.g.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/App.g.i.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/MainWindow.baml create mode 100644 WpfApp4/obj/Debug/net8.0-windows/MainWindow.g.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/MainWindow.g.i.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.AssemblyInfo.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.AssemblyInfoInputs.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.GlobalUsings.g.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.assets.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.AssemblyReference.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.BuildWithSkipAnalyzers create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.CoreCompileInputs.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.FileListAbsolute.txt create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.Up2Date create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.designer.deps.json create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.designer.runtimeconfig.json create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.dll create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.g.resources create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.genruntimeconfig.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.pdb create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4_MarkupCompile.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4_MarkupCompile.i.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/apphost.exe create mode 100644 WpfApp4/obj/Debug/net8.0-windows/ref/WpfApp4.dll create mode 100644 WpfApp4/obj/Debug/net8.0-windows/refint/WpfApp4.dll create mode 100644 WpfApp4/obj/WpfApp4.csproj.nuget.dgspec.json create mode 100644 WpfApp4/obj/WpfApp4.csproj.nuget.g.props create mode 100644 WpfApp4/obj/WpfApp4.csproj.nuget.g.targets create mode 100644 WpfApp4/obj/project.assets.json create mode 100644 WpfApp4/obj/project.nuget.cache create mode 100644 WpfAppSQLite/App.xaml create mode 100644 WpfAppSQLite/App.xaml.cs create mode 100644 WpfAppSQLite/AssemblyInfo.cs create mode 100644 WpfAppSQLite/MainWindow.xaml create mode 100644 WpfAppSQLite/MainWindow.xaml.cs create mode 100644 WpfAppSQLite/WpfAppSQLite.csproj create mode 100644 WpfAppSQLite/obj/WpfAppSQLite.csproj.nuget.dgspec.json create mode 100644 WpfAppSQLite/obj/WpfAppSQLite.csproj.nuget.g.props create mode 100644 WpfAppSQLite/obj/WpfAppSQLite.csproj.nuget.g.targets create mode 100644 WpfAppSQLite/obj/project.assets.json create mode 100644 WpfAppSQLite/obj/project.nuget.cache diff --git a/.vs/ProjectEvaluation/wpfapp4.metadata.v9.bin b/.vs/ProjectEvaluation/wpfapp4.metadata.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..30c6f311aa5abb14252b27fdf6a094fad0a16c13 GIT binary patch literal 1176 zcmYk4ZA^_}7{~9YtDJMIBx7qUALOI?VzItxv+;qZ$x$kC^oC|JQh6D%M&5EzSfhE# zOO!}d%AvgGP$|)Snh)ei8cQGUTl~-SZ0GK5zjOcZ>$$G``rp^{XpG5AeE;%IiH9Tl z%AabLZ*nA5JJpD|&+D7wm-yvAv0?wGz82dO7G&8Rp}wU+Bfw**fb+tzJl?eo2Ma%Ug}jMJx6m`@fnl^1`!Y`DwiVNKKNT>38?kau>8->5 zdh8A^l1IG8%P?>k+XHmE2`{hF6X7eT0wDwW)FXg=Gyw4?!)c1CM~6)BGgIx1-N6tH+$0aw;#lhAl2q z$f;u8n^;e5=F8Ej1&D5=P*baZ0g*^7p*=qM7e*gLjPj4~4nRVj%C*sUOSD~|)hVjX zHfAHDh*c(4)p6wdx+f^C#H@j-dW&pwcp7g-q^oYbXnf9P!_FFFUA|+h=HY~RVp)f# zFLuc^<#)4^>r_IjipDArXUXI|Y0*udqme5GhFq)4vfNV@3CiRiWyeCSJ-0voH|B7L z=GNPc6IQDhCMvSd_H(^1QJ`)dtrE7<=%fbYs~9#h=>$K(cQ6D7T`MP+vATQ7=MJ;{ zqO>NMCbY?oO#cPqzqw(?P8;4O`FQ#3!bAKOS4j$Jtta}i!@r=lCjWbDo8%T7grA&z*F!HJO?kp zOYjObg4e(SHsJ1Wu)gJ*v_hwVChSW*nM{OkhHe2Hp_9Nn=wz&|Slc-Bk?*+-(qudT fCqICXpaXP*E-t&d?1Ab9eO&f)`3Y)(|I_{h3{eJD literal 0 HcmV?d00001 diff --git a/.vs/ProjectEvaluation/wpfapp4.projects.v9.bin b/.vs/ProjectEvaluation/wpfapp4.projects.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..447bbb71038d8e3f4a2083d1130ee99dae239007 GIT binary patch literal 77102 zcmeHwd7w?z`}f(?xocmUNyt1CLYc!wWQfc|AFAv7wLX33o4$}CCJKpLo|xiqV! zNm3F;?2mKbXRW>VUhCYmzrOu?Uw^#syZ^ZRuIKYiYprLkz1G=hpY?bN�Y9Br4up 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 literal 0 HcmV?d00001 diff --git a/.vs/ProjectEvaluation/wpfapp4.strings.v9.bin b/.vs/ProjectEvaluation/wpfapp4.strings.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..71223df4b0839076462280390cacf5d2a3dfc0da GIT binary patch literal 124427 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 HaEku{%1P<# literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 b/.vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..9fa3fae76752005ffcfcc22de92a08742667de54 GIT binary patch literal 106957 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 kc@*+}$PXZoL4FAN5#({mk0C#SJOTMB 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 literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/FileContentIndex/5e15f0b2-bcd1-42a0-8f3a-c8c65a148880.vsidx b/.vs/WpfApp4/FileContentIndex/5e15f0b2-bcd1-42a0-8f3a-c8c65a148880.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..4e10f3bc102ae7c6d452071cbfc0be1f16e96409 GIT binary patch literal 32826 zcmbuHcbt{Q_5Ww@U3-lhHEMK0qPqwS3Zl|v*)GenZebThL9t*3dqH$n?A;hejf#q~ zM2#gz3>GZ0_m0M%s8M5!y?#IMGoP#G_g`K=xt#Yi^GrE&=FFLSo_n#juJISkrnF{n zivN1bGV6re;ZwTy-(|o3r|h)*PE+=udEkE2cbT%^F0*FtKc#!tt~Ik}4gHZyR3EbA z-h1V`$j4sk-uKwgUMlEescNWsX zLh3D0V5LGT#AjL|tx-q=3aMB~tEzlCcNdp)tpd8fw~#8;ej%-`yU}=kbaYA~-CjsX zM1$&Lsj{@9?iSPFl*$Te`(kP@ORE;sH-)rov|K2rUlh{Zl$I`}rHiQ18+|PwZI%^N zTOmo7mC@<^VyZ}7sD)L_si>T+`LrU+mzVTkO8GImib6VCBUMG+l7^wJG?6LRRx;Fk zshGxuk`?MmCDnN3*lxviLL`@qTW6GNyGDStEt{*N%r4!+yqc!9%96^cap|*a85X!HE;L7DifLXk)fLn7DpO47tLtL=PvlEU zO-CNAa&#fB)a+_uy(Oi&TfLmjrK8zJG4Qz>Q4COeN)t_GP56?E^+sJOS&%+q@Uj@r z57MoG8oE&avPwq&H=6fiTBbCXrE{k#EiRwt4C7(N^>c*e8iC44uK++KT=COhIw4H zrjf3oHLj_T#eRL5Vw#2)%`OvGk{RXLOP8l4~uQD5#rLo0ykXnw>X*E4vhJRjMOg9wM_HwO4T1N}KkXpjY7paA)sKG9$ zYZ)P8i-vGTE)({dCMQ=!jqb)p)Ljy`s?@Yb^;61N<_pV9Q>IRf^wq0r)kq6zfi4Q^ zJk3!Ab{Sc%9Z^h66nP5i4ozPn9Tjb6TS;e`<)Fw^3wsvR@iLkUl%<)<&vB`kh8EKk zv1%%^ZZc6>YAvMJu$U|}SCdLwcaVDONxnIFXm|5>^#x9EGZMoR~MG0=~`~;BFwI+qEAy; z=Ao>)e6^UamTwo+Mk*F-M=mX&(Hc~M(kQ0Ov15&B_(bwTniMW79d-=ObumUtDg;Hp zA4YfIhg+UqOrL3rV~46M!8QTS&FV zgd68(71p%eVmZh$)QcK?Fjk7XP=x$irv*j7V)~c5i@vT3@6u@jRi(3%G5cCR*)bH; z>a_nB(gE@rnJYrNEIch{;YAHWifIP5$Au-;k%q}8Se7;nQxFphsY%l+BWItFl_K?I zPvxktMmjHsBX`nVNO?x8?qbv*hA&C^UUd<3^ihmdOI5C-DqT_R0#%6~HasZr0>97U*<0_st=Qb3T}=Y>1T z8I)AX8>L}5?M9_e3D+86DKIY5h4u)o`Un>+e>q9$ELGKlCPK~ji^W)sqnZ}1Cb1&A zkYg+!2v1@#b(HvmnP-cPD5pVLJ7tm`TN02zRNG zm}qG=U7nK-TTIHAGu)vVSitK(&Jj39r+!uV?vmT6y9&8zPUZ!xHpBkPm(DV~d{sH< znde0w7;d0;_6gV3aCB?6XiCaUVL9!Uk*U3M?P9t!nmVcE{1__MMMFfz`(kKnO{+{3 zbbaWlWZo%kRhcwLl0v#Ky3m@!35%&AMy>5z4%{2olLF%u^UG7ca>@x`3No5L_EUYr zbWf;y#4fe}*O*)lLA6vswKSV*gtb|+j5e>%i1T^ns*zu)-*_rfl|4$~!fHn^$7Ty`A$hXl>$M$w%ttO7c+W>d)KEY;Y@RYn8+B39G)8c`t~DzEED*k9v^`gRG=T#Gi(mIl5jx5ci_8=)% zrD73mIho{MG>N6?oevn28pt78NgW2XzNAc4msPW33Rd4lj~A(KsPyaD$TVd-Ma+!y zTgDPlQz{@IJ2T1;4Y$`|)q7LSnhH+~g*6vrl@q@7nx2?+U7q$TrgtMp)2c(JTGKF3 zkuuUMcCvH1{E3iyh6y(%30xa=Sonx`NWNg`_LY%^E^JS?d)Z81|)Y&DIj zWJxVFHF9sLEx(-+<5kOQP*p0zjpbB0r^0(o_rE2>RmOy6H2eh-3N)2!xvre?DpR9S zb&c!NI0j4)nd}Sl)2Em=37u=Ro?6-k_Pae|>ru0-m3&x3I3u=2!fzCquPPCi%B1 zHsuCV=6rP;)>E4mQAIY_Oey-Y^db<+A&GnOD4`yu{Eug?F>yeZRys3lQglm&_2{a} z(kLcmEwc$YRK9C8q2qO;)^J^RD=ahw5sTHk(!MojmqfsuG6VJLCWZz zgS<|iE>IWY%zGBowxyV(>Kdu4s|)q0;rEdmVT62O&|9*K{J0UtXi7V5o^FNE|8^CP zLgy%Kp3mV57kOqQ*h&E%{KiV#P&NCllvH6Y6Ft?+8b`}MQC$-xYsl1c30XtWo6`#E zY|U(9EV?y6ib?ZqMg={ot>^Cdvs-H5+0=R%j}~sy15rG`WCe~5v*bmg)?_G6jn?w~ zc#=i8pFMGCax3B-t49*{*3$7zXHI#hDqf^bCoH348nUeVa#*+~&I1~k)<||#nW$el zOn#@K6Yt<$zK||0jg;|fMq)%h#4kqo#>8;_S!^r{CiwJQ-&AGwmLNKk7li0i{ zrjGhVz8rw^p@WuxUChWG8eph*K}@20(KN}nGPo{OS940H;*w?|OucLbeEB>jvnCN7 z6cv>`I*#!&j_S&c()s5P8Zxq48yr3_P0lH8Lq3?rVdKEqfHZLF&>N4;T2lqR^DONG z>Q{X!XHz^*G#&aD;OFaF`l&SS4 zC3W)mp|{k&YRNG)eY!g|W?YM?NoEP3)PYlq)fUpMcxIRLG!@dyI-o``groeLt2E=; zNfyV#KT^x~zZb~!QZHhr%%Z8OS0g$h|38hC;;IIvpmC=xSz0pxDyGpTe~`9%q|yMp zVo5G2y?>Kg^!`?UC6~~=XmsjJZ*FNV3?h@_DiH*Z4$D^*(~ENWP)3eHk1>6HVnu6< zQIc>SnTpubyjPkO(@}Dg0*`VUMMGrvmQ>}C8UE8En}-YOFd&c8)aX;Iv1=Yng*7e( z{OQ_Xw6SW}i?QfhD?;l+#k_oqsV96)gSt^J6c6CCfHc?UD3!ca!+(@7t#mTvNiDp6 zUVhURHqkUOadE9$DtVvYfV%rj|Qs>#jVrU-(R~ZfO)D z71QL;>Qp-P#OZWN)+9Tjx|Y+H&T_oUj$J?p8@UtjSaPxy2h@eO^%;uHu}{gEs;<4B zC6-rf$Z7Flcv}IN)6$UfA68S@jkPbw;#wSMJPlK3>=)M1o?h{zLxxLer_OF!3?mPY zX~I=v4QdiKG>uDI4KCR*?-a-CWohK=R(Xt9o_TRh`XLb+@=J2Hb9WpDD#Al(IpUry zFU4dES#?Qho6W1?tQ+SFj#AP#G%0j$k>Wr3Ui>F>V$%4lV{%Z3iJ%V5K`pzWLQHTO zlQyWUZ*+pon=6<)j%@fuO=|P>+AX)y*}`Uz%&0YngiTjPm-HB)E>b zuDPE1Yjb^b1Cg=zak{V5{mhM=zp+_qR+;_HP0Rrz?NvKHNW_Ml=`Z<1^%pyBZVoe< z3i5Rz4{jw=euUH70V7{WgP=lW+#h3(HS0v$(V;r-H;VMXjsB89PJd~4ywk1b1hdW5 zBTbZVH#^6JMN#w9@ z{(G8xnR}c2m@~~;=Dy~BCO_R^+y^>+ka@6qhqPwh2B&W{ZxXTd&E_r6UufQH z{?%M$-e%q|QvXh;7n^sPcboT^_nLn*?=$Z=A21&jY4>6CQS))JOn;v+pEREmDgTW5 zob#VIUoe-LFN&1^yVEb5ub8ij+<)EaH_SK9f0+L?-!k7e-w~<*uG8J?(>GH*LH@ZK6TFwFqi&3@#&5UO$ov zuHbwxuv<4Ioup!>IX+rf0Q}e+}a#t)|g|>TC>j7$vX6Ebh^oGHn%aynJwmcvsGkV zZKi%D7J79!-R1N|r+b{9WKK4>GpCr_n>(0O&1oY2?PTuk{9Vjl&E3oy=I-Vm=APzW z=HBK$rXGJ{9J9=Q&Hc>%%>&E>Mf5t@=|jvzO?@vK?aek1H|Lmoq>1}Sn!O_J9qsfn z=3Mhw-#^|w(fN8Fj&@EqPcct5Pcu&!Y5z>8&vN=~^Bm`&Yt9pi4;MK7d-Fo`B9Zpy zJAH|Hsd<^Xz`Wf2gL#E{rFoTkwfRT$8j*gk6Vc}e=ili3KRbQ1)3=znnu~n@HuHA# z4w3fma{6xb9`jzYT=yRk>Hi_8A9MN%Q6GNd6MV{i+I&W&-gD*)&R^p6OCs&R>ipN7 z{)g|s<@~or^nBOp_k91~PJdv2XntgVYh)Tb*9)FV>tQdb$KmKtFBO9Nt!I?emoIT&--FG9BKP&qDOhRhm0hI!o12&eM14}VIoSD|nwyzJOugiZ^240o!rao_${cQv zF!lZ;`q!^UqW;z*^ETG$I^WmpizwG%HkwUlv$>5(ef=0L%Io({(QcdbJDlHXc9|1J z>^Rx!?aV2r-n~V8JD5|=X`()9Ckgu9#reBBe}<`d5z+oWzCY8PW$tV4XYOwvVCrRV z^nZ|fuz84isEGb^oIXO-hu1h!?2J($&F_5w2d9~=h`XY)cxe`C zz26Gz-C0ntWP|!8W|Y$_#YpQrf=KJdRrtN$nnk|88VKq;jiA0t3F;S9QC>f?j`UjQ z+UBoJz3Po}`X(a$X#?k1n0oaW_cwI9pVJ$emCmm+`#XPt(|RWx?dsKEw4*P(LZ2b# zQ0EUb_2M<|Z)FY__2IYvQGaW*M#P?D&04e0_w|N4?l+oEX0xadKb?*Hdfgb*k4>Zf zHnZLN9cHJ9pHA}q?VLZw=^aFU(vHsG$@x1wy^Fc4xtlq|+}+$m#6R{D_2DgU=r_yU z*WAzC-_$oKQBS|G3+gRt)SoR9Cy#XgQ6hFb+WE&ht?%|D{{)f#PjdQXQJ-|0)2Ewf zh?G0aJX_Q!ohw26^UU+i^UVuH>RsscMWR0ZE;j02YF=h8FfTX%U|u28&Q&7gyH?aE zT`xiZH<&k?H<^DnZx*S4i_;55efWkv>fdJGZt5onk$3#|Nf53du ze8_y*e8haze9U~@e8POve9C;S`Or2gmTm*&^L|Bd;r$oLT0RlhlidPP&; zAVt2ub_(i8#X)^-64bxn2rh4~V6JGcB%;SEPU{=HD6e1X1XnZldzVP-_Z7iknrn*G zU)$+lnd_MAn)==~>iybW-`qf?zJ7=h_xqX~I{!E3#?G&Fy1yvXB>kJ0s8=oOlQxr} zy`knXQ$Nd&{NW;Y9AS<$N13C|t<5oJjXBn=HS5fJk$&}Crl9@}P4u&kIZo6kO>nx+ z+}3P2J4D7c(dllHcJ-U8Xm7H)ojJwa-rT{|_i9mZM{~MJySw`SZsrVgcXJPs{`NBW zasEuF_jP(drw=goRa@wHuz84isCk$2$AolzFsyjEEk`I(?jZyz@_V`XrHY zo$B;yzJG?(XFB~`QJ-|K^Yxp{(Dyv^eDebH_agmY8pJI zYV(igHRiSEb>^Q;eO(xO-5}ELP3Fzc|BHEx^KW(fujV52HuH9ocJ4Iqa{k@sJtF)1 z1HS)|$T%Jq^+``U{fx-EdDeW+eBSq8bowRp?;`EK?(`exnwZ)60moyS(#PFjq8J zGFLWNF;^97Z#Ab^H`j3fnoh4}u5JFx_t$lLJ*U@qdIP8XINjIW(ClaaMx_6Z%_`^j zH#ac{m;*)14|002)0;Ux#2hNhbZJYcw=##DBg~QJD08&AwMaiTPLFlEPQ=cQ&TlfC zeSe(OEh6P6INj#^?M`=?oo1IgQPd}G=kyeFdvgbKs)&9&I=z!Q-Q3yS#oX20&75KG zF4E4PPVZ&z?fjYMzRusz+}}LF_YZRVVDk|3Q1dWzwn%?-oIb)l((E;l5}Chaoj%Sy z-aNrP(LBjK**wKO)jZ8SU8Mgroj%L_t$DWZpJUE5&ll0>B9V1?vGXr6FEcOq{Xdvj zm{*!tnOBSGagBMM^Z#UCZ{A?uDANC5oW4b*{;lRB^LF3A!@Sd6Y~E$wZQdi&&flEA z&%ED!zio~l&qdn(%IUAoZ$$L{PShtAmd^fC zG|NTqFD+7kIp;6${1wfWoxh5?s`(3ZHIa7KaQc_#nj(I(j??R!>zThc*B7Z@;dCFf zueqVw&-{(Kk-4!*{VJ#Xo12&e%zCv&Wny($02HPcgSQcQB`# z)65;sokZ&I?DQ_?uI6s$43TnsIK8LH_+~mi%iP!8Po(?-P9JC<A50yI^OvwnkPH|G?93Ey7SL;`YflhaS`M&vY-~Z6*kIawFPt5;_=>M7dh4a5OzY^*HTc^J>zc+s{ z(=yqfWg_hroh}!tzl`&j6S2=qzQ3~bS2b62{_0Nu(&;tLwam4Be;udSHP>_g`c7|P zR+xRvzUGEzKl3-{Mk3>=bh=7p90Qyl==5Nba+^7Sh|`-pJaS+5F4FH>BK@u7{B_OsMA}>5tT6lf{)T2h zk@_1uU1?UC{mo6x0p>unTBM)BPH$>%W)3ljnwy)$MCxtn^j79@bA&n49A%C+w>HO^ zHRf26cI%w3ce+vJ`Ju)6<3+~Z=KJl=?=U-^Khf!Kv&Z?9o!-vr?M2#~=JZa!Ki%Bf z_jfb*F!%QTeMI!0<^27fKG63Ma{3Ub4>b=nXPbwMv~z^nYaZ?U$B6jN@lK!M`zJYl zveT!Ur<-S*zcqhno@<_GULfM9zc()wvCDklzts7cnG4Lzeg6uluN2Yq8mF%{uQUH- zUN17<8_hq9^mmKXx0;L0+s!*g+P_Dn{Cy&N-|zbmI{lFOu=5{v`Z4oy=Rava?fhrV zXPy7Nxx{?Q_y2CbY`)_AuQ~m?`G)zX@Bh<$+xhP}{jT}G^Z#vrV18(RWPWUZV*W?O zo}W4Wx%q|prHI|Wb^1Gz@;{hm%Vj$j%%WK?Qf_Idml0`a1*cauS29;NS20&Le_^g> zu5PX&GLLIHy|(!)a~*SCb3OCd=KAIaB6{{QH*|hKk@h!sy3(vN`Qf zEHeI~BK-|>{uWMe<@9ioen*MKud&Xr6{%P6bc5OG{AQ=OF~^xL=6JK!oM5(z=+!CG z{zT_@n?25-?DTdb`t9KSY0lqKMBiPV-p!n0?r!d3?kUpW-sVi_&ocKl_cQl54=@iD zseiC}s5#r5V;*T9Wga84?&msvoOy!tPc%<5Pc~06Pc=_7PZ!bSOsCIs`fT$YbDnv= z`FjyNUM!-|eDf0XQu8u%fqA+42lEQ^O7kl7Y7xDzar#>GI_F>S^bI0<{MqT7&A*tp zm8YP4f`NFLXtBs zS{N7Q$3^*Z(Lzh)jE}qHBY%9f(;E40k>4hb`l>WKcUZQ?H9B{sNs^sWzBAhFOg+l! zj-2k)r0Xf6&uopjZGeWX>NK*KHxYL(WdWQTY*RW3|u_vP1u$ zM?3=A9CD&0c11RX92c@B9>{M!mUAmqSy|>9Km9hoxcW8{r&XAPBVwFl$cdG8v_W=E^*1s#PO2efavO$s_ ztJ2}pqAJZ%KK?x@bZS$L!TLKuo(wnBzkM7Kp2<2Ht-p0@d0@=TK+Q$7T4EhlhhHKG z#&xyiruu^%B8i_@hi_M_ex0uIVPtE_HpyD~Gjc-6E=l@A(hDAo>(*nxa;7^n%A$s|0uPTV$u?Hj#t(R!a|RwZwHxw1(eeHS+OZBrV{*NUkS@{u82o z{JA>e&q(y#RaZ}9lK6kM?lG3`=qp>k zC$1-{%|So@>ChE1XOQl-Nn*o6vP`>Vv&Mn!l*F$FNi!rm4^r>7A-RhtgH(>X^gc*w zTBhGY^01ni??E9)OX6Ah%ixeD-yvsn<=`oUr8{@=2uLKQ9y0%-p}M4Qq-o#5S1DsNjyjLhv-clM{o2*j+SJ+$j$X9NBJ7*LS$#G*pjj45!R|#@^h3& z$nlG-=w#Bu&bWK!5QV+Wzi7|{9*%*?@+NyCQ zCxx6W*%oEm!Y|nEYNTIPNG#DF?X*V=oC?UHop!Z>#GBefpZ3tFJz8$p4pyUF#)5Yt z(HS4BiN8p!ijN^_xl>+NqraShy0jZ0snw-BH97&-YgSmr=v5oCC1h*Jj*wlFoU4%4 zA%}--2-z62DP(gC z{l8P5a|CkHjz9WW31ckP||7NitF-EwjTS$>-#Qq&)GYR$8Ke zr@RO`IwWP7MrB#X^TsMSl2}#S?8At*L{?fR zva+VJ8s3h?M_6GZ zhLwUu6Z{WJd%3OVD9d^whnAU_dX;80**~bsH6->TvBP*-0*P%oogyhYKH3}~C3!YO zV@kHlX2`8WQa;BW))LofmB-c^Y;_Ct)v9@}m!*h;ZP7c=iddm45hK8 zqu-v;lV=rHHG1~wFOt?cw{k0hTRtwB~p;zdL^TE-R)(zRNWDAXY94U)t@^t7>N z0Gl+*CRHI>jXXU!Dm_ASlepeQEj6kY&Pl|1ByU7$7ugt+HOkW=l3k0v0GaD{>YDh| zDC<>9vMV!Aa)^J({1iGouIZf!grqMQ-AA=@SK z(H#486h{t^96X3|A)7;v4@q6d*rY$?5D$^GgZ@bN7Dj=jF0qc%l*b>Cyy+qSAkmE{ zVI;jXI^^V#b0m2ug&Y-@fL2@~v0k1#qHeQ%mGKg3n>F8A zPKc9xQ=Fb_Lv~7HFHSjwLXMW?EgF({Hu&~9%^x}V1F}n!Rh-`hA&18`?GTTVb0k?q z_(h8(HXNrG$>GU__nwqTTb{2*OA>$bJ1t~eTr)DByLp1|D@hDNavH-kksXqpPfBM3 zPGookIYbyF&)b}akn~kL0p(M5KHCw$S(`|-#v74&*UfECRSpppSrw96j5MzjB(34a z$Q*HKhuK5sxtgqN#*L(%7R6*F+A>yT9v|)C)kx~L$hIxgjMjMOK{5)W6_RI7?2M!g zZ=aF0+z}RLkDx8`*(s3ph({rrk**j8yEfOf$rE3TW)~Y0{g4}noT~fmCY-uzL)L|4 zz0o?dGi0|UZ^by1HHM@N<3zTH#Orx#;FL`}oRN|2EzBU2$jx4Wq$FnwBrW56#C2LD zCLt+4h`lc(qIWta>ClJUJk-0bYp2#+;GHhfRnhRVvM{iX0J=6~l8A zlDn1C3rRfS-E*sQDOnZy)lm}b5sB!VH>OC=dZl-nlXT6yG)}9$yJBr}W<|0tkhH++ zLgFQikh3hiQ$EWQx4Gsns|GndBpULZgd~dL$4E5E&op=gD>7A1T61(MhBE)>I>5&~6IY%<@w57cQO-eBm9f&=xs)McY z1tj`sttZ4BHpnjLp%NBP-mjc=}aH_6&z zR5c-q>AcTC@?^s9jO>zR|3$JtaZV&^;FZh;lDkAOB-Y_g3;VzTNg@@JyTrU4laOda zgkWW$4=W2v-MnI08QJ%dv{Ul&5pg{#r{@Wp70Pqw zL82k29VDkB_8Mf~f$#{Po{+S|(-V?s5n>~f^4vpmmw6-#V3RKOhNK0eB9b!fw)hhx z?GCGUhgG}fMdUEXZg~+B4e5vm8dEz17k)Q30y%{&X^SvXIez}jF zs=wGANiD3yH*oaDDTUQFHYB}ZG3wN5z0nKb0MS2D6gfze$jOY3kR&!DSxKA(kW(ay zfjs{Z?}>Ft%H$_%-uCfMidVkB9~7vGf*@R(YR{CG$G^pa2Kyv5|2zVeF7 z)}%f;ye-2kkkrCAep+>-bX|IvfS&o=9nQ&I(*`jLNv%9Xw8Hg7NuK|Z=XHX#IDF#I9VXknY|0is7vvcyTl(P?XcF7%nLq-#A5g?lDmu*NqO2sQl4+B zklfAZGxlq)8E^J8c52RHNbE&TEHf$eoD?%fBf74&=!4hg5a97KWiUJoAin`^EXD^Wgd}? zlpP6~<29`jYmtnFxP_!&<`hXSRyY!ES>H&?Gs{TcW-`~v>^mhd;7v!1M$fuKvXii< zBU?k}J)>6FoNAHm89bdK`-QBMWXD4Ggq$SFF9q`V)up%9^i|q>n0-!i&63P==^W3h zWKSZ8vvfY$Bgtn?aq_E_%$ji8B9;@4ctS_=jXn_Y8=kqrWYZ%ol!N8L}$mfRK#7Q#v3=g&Z4__K8nO-YF9UkhI3? zN9JEtRmo=6Y9HAUl6-XI-Teefq8#t;YeI6DGbd}06;D)|q!!0ZvhN`CTYlm+*5KD0 z+~p77lQ+eFKPqHx$o$T$Bd)t7i9C~Kk@1quK>j5ha!OqDYdD^okzJBJ9dkCV3E3>k zds$Ane5;2K=jSor1(QR4p3N#H`Hq_08cE(-AbTW<$vm@V*%{YelJv=M%c>*F43PYd fY{hQZCP}-c|M*SnDo*hK$mPHO8)P0gG4uZba%s=( literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/FileContentIndex/87c19e25-a720-4d8f-8744-e9854565b891.vsidx b/.vs/WpfApp4/FileContentIndex/87c19e25-a720-4d8f-8744-e9854565b891.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..5d6aa3820bf1cceabcfdaf6c4190486176329a6f GIT binary patch literal 13319 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 literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/FileContentIndex/9d2e77c0-b747-4575-9f41-6374b43997e9.vsidx b/.vs/WpfApp4/FileContentIndex/9d2e77c0-b747-4575-9f41-6374b43997e9.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..66a25f60776c651edfe10a89bebfbe9fbf98cd21 GIT binary patch literal 19703 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 S9C$TQ82|UraeJh4{r>@hg@5e; literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/v17/DocumentLayout.backup.json b/.vs/WpfApp4/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..9fe78de --- /dev/null +++ b/.vs/WpfApp4/v17/DocumentLayout.backup.json @@ -0,0 +1,163 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 247, + "SelectedChildIndex": 4, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "WpfApp4.csproj", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeDocumentMoniker": "WpfApp4\\WpfApp4.csproj", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeToolTip": "WpfApp4\\WpfApp4.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2025-07-15T10:49:09.761Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "App.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeToolTip": "WpfApp4\\App.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAeAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:08:49.466Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "App.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeToolTip": "WpfApp4\\App.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-14T12:08:18.503Z" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "PdfService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeDocumentMoniker": "WpfApp4\\PdfService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeToolTip": "WpfApp4\\PdfService.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABgBAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:05:46.954Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "DatabaseService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeDocumentMoniker": "WpfApp4\\DatabaseService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeToolTip": "WpfApp4\\DatabaseService.cs", + "ViewState": "AgIAABwAAAAAAAAAAAAzwCUAAAA2AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:04:21.362Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "MainWindow.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-08T06:16:53.827Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "Fahrzeug.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeDocumentMoniker": "WpfApp4\\Fahrzeug.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeToolTip": "WpfApp4\\Fahrzeug.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAMkAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-13T20:58:44.24Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "FahrzeugVerwaltung.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeDocumentMoniker": "WpfApp4\\FahrzeugVerwaltung.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeToolTip": "WpfApp4\\FahrzeugVerwaltung.cs", + "ViewState": "AgIAAJgAAAAAAAAAAAA1wIQAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:51:06.505Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainWindow.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAqwBIAAAAPAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:16:49.191Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/WpfApp4/v17/DocumentLayout.json b/.vs/WpfApp4/v17/DocumentLayout.json new file mode 100644 index 0000000..9fe78de --- /dev/null +++ b/.vs/WpfApp4/v17/DocumentLayout.json @@ -0,0 +1,163 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 247, + "SelectedChildIndex": 4, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "WpfApp4.csproj", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeDocumentMoniker": "WpfApp4\\WpfApp4.csproj", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeToolTip": "WpfApp4\\WpfApp4.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2025-07-15T10:49:09.761Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "App.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeToolTip": "WpfApp4\\App.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAeAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:08:49.466Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "App.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeToolTip": "WpfApp4\\App.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-14T12:08:18.503Z" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "PdfService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeDocumentMoniker": "WpfApp4\\PdfService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeToolTip": "WpfApp4\\PdfService.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABgBAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:05:46.954Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "DatabaseService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeDocumentMoniker": "WpfApp4\\DatabaseService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeToolTip": "WpfApp4\\DatabaseService.cs", + "ViewState": "AgIAABwAAAAAAAAAAAAzwCUAAAA2AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:04:21.362Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "MainWindow.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-08T06:16:53.827Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "Fahrzeug.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeDocumentMoniker": "WpfApp4\\Fahrzeug.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeToolTip": "WpfApp4\\Fahrzeug.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAMkAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-13T20:58:44.24Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "FahrzeugVerwaltung.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeDocumentMoniker": "WpfApp4\\FahrzeugVerwaltung.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeToolTip": "WpfApp4\\FahrzeugVerwaltung.cs", + "ViewState": "AgIAAJgAAAAAAAAAAAA1wIQAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:51:06.505Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainWindow.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAqwBIAAAAPAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:16:49.191Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index ff0ef87..fc5e281 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ Dieses Projekt ist unter der YSA Lizenz lizenziert - siehe [LICENSE](LICENSE) Da ## 👥 Autor -**El Haddoury Younes** - *Initial work* - [GitHub] https://github.com/elhy17) +**El Haddoury Younes Ayman Alshian Saad Akki ** - *Initial work* ## 🙏 Danksagungen @@ -135,4 +135,4 @@ Dieses Projekt ist unter der YSA Lizenz lizenziert - siehe [LICENSE](LICENSE) Da --- -⭐ **Gefällt Ihnen das Projekt? Geben Sie uns einen Stern!** ⭐ +⭐ **Gefällt Ihnen das Projekt? Geben Sie uns einen Stern!** ⭐ \ No newline at end of file diff --git a/WpfApp4.sln b/WpfApp4.sln new file mode 100644 index 0000000..78e96c7 --- /dev/null +++ b/WpfApp4.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35728.132 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfApp4", "WpfApp4\WpfApp4.csproj", "{F6C5C16A-1943-4B83-A33B-9B0680A662FE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/WpfApp4/App.xaml b/WpfApp4/App.xaml new file mode 100644 index 0000000..eb57771 --- /dev/null +++ b/WpfApp4/App.xaml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/WpfApp4/App.xaml.cs b/WpfApp4/App.xaml.cs new file mode 100644 index 0000000..574fb08 --- /dev/null +++ b/WpfApp4/App.xaml.cs @@ -0,0 +1,31 @@ +using System; +using System.Windows; + +namespace FahrzeugVerwaltung +{ + + public partial class App : Application + { + protected override void OnStartup(StartupEventArgs e) + { + base.OnStartup(e); + + + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; + DispatcherUnhandledException += App_DispatcherUnhandledException; + } + + private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) + { + MessageBox.Show($"Ein unerwarteter Fehler ist aufgetreten:\n{e.Exception.Message}", + "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + e.Handled = true; + } + + private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + MessageBox.Show($"Ein kritischer Fehler ist aufgetreten:\n{((Exception)e.ExceptionObject).Message}", + "Kritischer Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + } + } +} \ No newline at end of file diff --git a/WpfApp4/DatabaseService.cs b/WpfApp4/DatabaseService.cs new file mode 100644 index 0000000..3cfa15e --- /dev/null +++ b/WpfApp4/DatabaseService.cs @@ -0,0 +1,305 @@ +using System; +using System.Collections.Generic; +using System.Data.SQLite; +using System.IO; +using System.Linq; + +namespace FahrzeugVerwaltung +{ + public class DatabaseService + { + private readonly string _connectionString; + private readonly string _dbPath; + + public DatabaseService() + { + _dbPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "fahrzeuge.db"); + _connectionString = $"Data Source={_dbPath};Version=3;"; + InitializeDatabase(); + } + + /// + /// Initialisiert die Datenbank und erstellt die Tabelle falls sie nicht existiert + /// + private void InitializeDatabase() + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string createTableQuery = @" + CREATE TABLE IF NOT EXISTS Fahrzeuge ( + Id INTEGER PRIMARY KEY AUTOINCREMENT, + Marke TEXT NOT NULL, + Modell TEXT NOT NULL, + Baujahr INTEGER NOT NULL, + Leistung INTEGER NOT NULL, + Kilometerstand INTEGER NOT NULL, + Kaufpreis DECIMAL(10,2) NOT NULL, + Farbe TEXT NOT NULL, + ErstelltAm DATETIME DEFAULT CURRENT_TIMESTAMP + )"; + + using (var command = new SQLiteCommand(createTableQuery, connection)) + { + command.ExecuteNonQuery(); + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Initialisieren der Datenbank: {ex.Message}"); + } + } + + /// + /// Speichert ein neues Fahrzeug in der Datenbank + /// + /// Das zu speichernde Fahrzeug + /// Die ID des gespeicherten Fahrzeugs + public int SpeichereFahrzeug(Fahrzeug fahrzeug) + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string insertQuery = @" + INSERT INTO Fahrzeuge (Marke, Modell, Baujahr, Leistung, Kilometerstand, Kaufpreis, Farbe) + VALUES (@Marke, @Modell, @Baujahr, @Leistung, @Kilometerstand, @Kaufpreis, @Farbe); + SELECT last_insert_rowid();"; + + using (var command = new SQLiteCommand(insertQuery, connection)) + { + command.Parameters.AddWithValue("@Marke", fahrzeug.Marke); + command.Parameters.AddWithValue("@Modell", fahrzeug.Modell); + command.Parameters.AddWithValue("@Baujahr", fahrzeug.Baujahr); + command.Parameters.AddWithValue("@Leistung", fahrzeug.Leistung); + command.Parameters.AddWithValue("@Kilometerstand", fahrzeug.Kilometerstand); + command.Parameters.AddWithValue("@Kaufpreis", fahrzeug.Kaufpreis); + command.Parameters.AddWithValue("@Farbe", fahrzeug.Farbe); + + var result = command.ExecuteScalar(); + return Convert.ToInt32(result); + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Speichern des Fahrzeugs: {ex.Message}"); + } + } + + /// + /// Lädt alle Fahrzeuge aus der Datenbank + /// + /// Liste aller Fahrzeuge + public List LadeAlleFahrzeuge() + { + var fahrzeuge = new List(); + + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string selectQuery = "SELECT * FROM Fahrzeuge ORDER BY Marke, Modell"; + + using (var command = new SQLiteCommand(selectQuery, connection)) + using (var reader = command.ExecuteReader()) + { + while (reader.Read()) + { + var fahrzeug = new Fahrzeug + { + Id = Convert.ToInt32(reader["Id"]), + Marke = reader["Marke"].ToString(), + Modell = reader["Modell"].ToString(), + Baujahr = Convert.ToInt32(reader["Baujahr"]), + Leistung = Convert.ToInt32(reader["Leistung"]), + Kilometerstand = Convert.ToInt32(reader["Kilometerstand"]), + Kaufpreis = Convert.ToDecimal(reader["Kaufpreis"]), + Farbe = reader["Farbe"].ToString() + }; + + fahrzeuge.Add(fahrzeug); + } + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Laden der Fahrzeuge: {ex.Message}"); + } + + return fahrzeuge; + } + + /// + /// Sucht Fahrzeuge basierend auf einem Suchbegriff + /// + /// Der Suchbegriff + /// Liste der gefundenen Fahrzeuge + public List SucheFahrzeuge(string suchbegriff) + { + var fahrzeuge = new List(); + + if (string.IsNullOrWhiteSpace(suchbegriff)) + return LadeAlleFahrzeuge(); + + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string searchQuery = @" + SELECT * FROM Fahrzeuge + WHERE Marke LIKE @Suchbegriff + OR Modell LIKE @Suchbegriff + OR Farbe LIKE @Suchbegriff + OR CAST(Baujahr AS TEXT) LIKE @Suchbegriff + ORDER BY Marke, Modell"; + + using (var command = new SQLiteCommand(searchQuery, connection)) + { + command.Parameters.AddWithValue("@Suchbegriff", $"%{suchbegriff}%"); + + using (var reader = command.ExecuteReader()) + { + while (reader.Read()) + { + var fahrzeug = new Fahrzeug + { + Id = Convert.ToInt32(reader["Id"]), + Marke = reader["Marke"].ToString(), + Modell = reader["Modell"].ToString(), + Baujahr = Convert.ToInt32(reader["Baujahr"]), + Leistung = Convert.ToInt32(reader["Leistung"]), + Kilometerstand = Convert.ToInt32(reader["Kilometerstand"]), + Kaufpreis = Convert.ToDecimal(reader["Kaufpreis"]), + Farbe = reader["Farbe"].ToString() + }; + + fahrzeuge.Add(fahrzeug); + } + } + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Suchen der Fahrzeuge: {ex.Message}"); + } + + return fahrzeuge; + } + + /// + /// Aktualisiert ein bestehendes Fahrzeug in der Datenbank + /// + /// Das zu aktualisierende Fahrzeug + /// True wenn erfolgreich, sonst False + public bool AktualisiereFahrzeug(Fahrzeug fahrzeug) + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string updateQuery = @" + UPDATE Fahrzeuge + SET Marke = @Marke, + Modell = @Modell, + Baujahr = @Baujahr, + Leistung = @Leistung, + Kilometerstand = @Kilometerstand, + Kaufpreis = @Kaufpreis, + Farbe = @Farbe + WHERE Id = @Id"; + + using (var command = new SQLiteCommand(updateQuery, connection)) + { + command.Parameters.AddWithValue("@Id", fahrzeug.Id); + command.Parameters.AddWithValue("@Marke", fahrzeug.Marke); + command.Parameters.AddWithValue("@Modell", fahrzeug.Modell); + command.Parameters.AddWithValue("@Baujahr", fahrzeug.Baujahr); + command.Parameters.AddWithValue("@Leistung", fahrzeug.Leistung); + command.Parameters.AddWithValue("@Kilometerstand", fahrzeug.Kilometerstand); + command.Parameters.AddWithValue("@Kaufpreis", fahrzeug.Kaufpreis); + command.Parameters.AddWithValue("@Farbe", fahrzeug.Farbe); + + int rowsAffected = command.ExecuteNonQuery(); + return rowsAffected > 0; + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Aktualisieren des Fahrzeugs: {ex.Message}"); + } + } + + /// + /// Löscht ein Fahrzeug aus der Datenbank + /// + /// Die ID des zu löschenden Fahrzeugs + /// True wenn erfolgreich, sonst False + public bool LoescheFahrzeug(int id) + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string deleteQuery = "DELETE FROM Fahrzeuge WHERE Id = @Id"; + + using (var command = new SQLiteCommand(deleteQuery, connection)) + { + command.Parameters.AddWithValue("@Id", id); + + int rowsAffected = command.ExecuteNonQuery(); + return rowsAffected > 0; + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Löschen des Fahrzeugs: {ex.Message}"); + } + } + + /// + /// Gibt die Anzahl der Fahrzeuge in der Datenbank zurück + /// + /// Anzahl der Fahrzeuge + public int GetAnzahlFahrzeuge() + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string countQuery = "SELECT COUNT(*) FROM Fahrzeuge"; + + using (var command = new SQLiteCommand(countQuery, connection)) + { + var result = command.ExecuteScalar(); + return Convert.ToInt32(result); + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Ermitteln der Fahrzeuganzahl: {ex.Message}"); + } + } + } +} \ No newline at end of file diff --git a/WpfApp4/Fahrzeug.cs b/WpfApp4/Fahrzeug.cs new file mode 100644 index 0000000..cadf7e0 --- /dev/null +++ b/WpfApp4/Fahrzeug.cs @@ -0,0 +1,202 @@ +using System; +using System.ComponentModel; + +namespace FahrzeugVerwaltung +{ + public class Fahrzeug : INotifyPropertyChanged + { + private int _id; + private string _marke; + private string _modell; + private int _baujahr; + private int _leistung; + private int _kilometerstand; + private decimal _kaufpreis; + private string _farbe; + + public int Id + { + get => _id; + set + { + _id = value; + OnPropertyChanged(nameof(Id)); + } + } + + public string Marke + { + get => _marke; + set + { + _marke = value; + OnPropertyChanged(nameof(Marke)); + } + } + + public string Modell + { + get => _modell; + set + { + _modell = value; + OnPropertyChanged(nameof(Modell)); + } + } + + public int Baujahr + { + get => _baujahr; + set + { + _baujahr = value; + OnPropertyChanged(nameof(Baujahr)); + OnPropertyChanged(nameof(AktuellerWert)); + OnPropertyChanged(nameof(AktuellerWertFormatiert)); + } + } + + public int Leistung + { + get => _leistung; + set + { + _leistung = value; + OnPropertyChanged(nameof(Leistung)); + } + } + + public int Kilometerstand + { + get => _kilometerstand; + set + { + _kilometerstand = value; + OnPropertyChanged(nameof(Kilometerstand)); + OnPropertyChanged(nameof(KilometerstandFormatiert)); + OnPropertyChanged(nameof(AktuellerWert)); + OnPropertyChanged(nameof(AktuellerWertFormatiert)); + } + } + + public decimal Kaufpreis + { + get => _kaufpreis; + set + { + _kaufpreis = value; + OnPropertyChanged(nameof(Kaufpreis)); + OnPropertyChanged(nameof(KaufpreisFormatiert)); + OnPropertyChanged(nameof(AktuellerWert)); + OnPropertyChanged(nameof(AktuellerWertFormatiert)); + } + } + + public string Farbe + { + get => _farbe; + set + { + _farbe = value; + OnPropertyChanged(nameof(Farbe)); + } + } + + // Formatierte Eigenschaften für die Anzeige + public string KilometerstandFormatiert => $"{Kilometerstand:N0} km"; + public string KaufpreisFormatiert => $"{Kaufpreis:C}"; + public string AktuellerWertFormatiert => $"{AktuellerWert:C}"; + + // Berechnet den aktuellen Wert basierend auf Alter und Kilometerstand + public decimal AktuellerWert + { + get + { + return BerechneAktuellenWert(); + } + } + + /// + /// Berechnet den aktuellen Wert des Fahrzeugs + /// Formel: Wertverlust basierend auf Alter und Kilometerstand + /// + /// Aktueller Wert des Fahrzeugs + public decimal BerechneAktuellenWert() + { + if (Kaufpreis <= 0 || Baujahr <= 0) + return 0; + + int aktuellesJahr = DateTime.Now.Year; + int alter = aktuellesJahr - Baujahr; + + // Wertverlust pro Jahr: 15% in den ersten 3 Jahren, dann 10% pro Jahr + decimal wertverlustProzent = 0; + + for (int i = 0; i < alter; i++) + { + if (i < 3) + wertverlustProzent += 0.15m; // 15% pro Jahr in den ersten 3 Jahren + else + wertverlustProzent += 0.10m; // 10% pro Jahr danach + } + + // Zusätzlicher Wertverlust basierend auf Kilometerstand + // Pro 10.000 km: 2% Wertverlust + decimal kmWertverlust = (Kilometerstand / 10000m) * 0.02m; + + wertverlustProzent += kmWertverlust; + + // Maximal 90% Wertverlust + if (wertverlustProzent > 0.90m) + wertverlustProzent = 0.90m; + + decimal aktuellerWert = Kaufpreis * (1 - wertverlustProzent); + + // Mindestwert: 5% des Kaufpreises + decimal mindestwert = Kaufpreis * 0.05m; + if (aktuellerWert < mindestwert) + aktuellerWert = mindestwert; + + return Math.Round(aktuellerWert, 2); + } + + /// + /// Gibt eine detaillierte Beschreibung des Fahrzeugs zurück + /// + /// Formatierte Fahrzeugbeschreibung + public string GetDetailedDescription() + { + return $"{Marke} {Modell} ({Baujahr}) - {Leistung} PS - {KilometerstandFormatiert} - {Farbe}"; + } + + /// + /// Berechnet das Alter des Fahrzeugs in Jahren + /// + /// Alter in Jahren + public int GetAlter() + { + return DateTime.Now.Year - Baujahr; + } + + /// + /// Prüft, ob das Fahrzeug als Oldtimer gilt (älter als 30 Jahre) + /// + /// True wenn Oldtimer, sonst False + public bool IsOldtimer() + { + return GetAlter() >= 30; + } + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public override string ToString() + { + return $"{Marke} {Modell} ({Baujahr})"; + } + } +} \ No newline at end of file diff --git a/WpfApp4/FahrzeugVerwaltung.cs b/WpfApp4/FahrzeugVerwaltung.cs new file mode 100644 index 0000000..8d530dc --- /dev/null +++ b/WpfApp4/FahrzeugVerwaltung.cs @@ -0,0 +1,193 @@ +using System; +using System.Globalization; +using System.Text.RegularExpressions; +using System.Windows; +using System.Windows.Controls; + +namespace FahrzeugVerwaltung +{ + public static class Utilities + { + /// + /// Validiert eine Eingabe für numerische Werte + /// + public static bool IsValidNumber(string input, out double result, double min = double.MinValue, double max = double.MaxValue) + { + result = 0; + + if (string.IsNullOrWhiteSpace(input)) + return false; + + if (double.TryParse(input, NumberStyles.Any, CultureInfo.CurrentCulture, out result)) + { + return result >= min && result <= max; + } + + return false; + } + + /// + /// Validiert eine Eingabe für Ganzzahlen + /// + public static bool IsValidInteger(string input, out int result, int min = int.MinValue, int max = int.MaxValue) + { + result = 0; + + if (string.IsNullOrWhiteSpace(input)) + return false; + + if (int.TryParse(input, out result)) + { + return result >= min && result <= max; + } + + return false; + } + + /// + /// Validiert eine Eingabe für Dezimalzahlen + /// + public static bool IsValidDecimal(string input, out decimal result, decimal min = decimal.MinValue, decimal max = decimal.MaxValue) + { + result = 0; + + if (string.IsNullOrWhiteSpace(input)) + return false; + + if (decimal.TryParse(input, NumberStyles.Any, CultureInfo.CurrentCulture, out result)) + { + return result >= min && result <= max; + } + + return false; + } + + /// + /// Bereinigt Eingabetext von überflüssigen Zeichen + /// + public static string CleanInput(string input) + { + if (string.IsNullOrWhiteSpace(input)) + return string.Empty; + + // Mehrfache Leerzeichen durch einzelne ersetzen + return Regex.Replace(input.Trim(), @"\s+", " "); + } + + /// + /// Zeigt eine Fehlermeldung an + /// + public static void ShowError(string message, string title = "Fehler") + { + MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Error); + } + + /// + /// Zeigt eine Warnmeldung an + /// + public static void ShowWarning(string message, string title = "Warnung") + { + MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Warning); + } + + /// + /// Zeigt eine Informationsmeldung an + /// + public static void ShowInfo(string message, string title = "Information") + { + MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Information); + } + + /// + /// Zeigt eine Bestätigungsdialog an + /// + public static bool ShowConfirmation(string message, string title = "Bestätigung") + { + return MessageBox.Show(message, title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes; + } + + /// + /// Formatiert einen Preis für die Anzeige + /// + public static string FormatPrice(decimal price) + { + return price.ToString("C", CultureInfo.CurrentCulture); + } + + /// + /// Formatiert einen Kilometerstand für die Anzeige + /// + public static string FormatKilometers(int kilometers) + { + return $"{kilometers:N0} km"; + } + + /// + /// Berechnet die Differenz zwischen zwei Jahren + /// + public static int CalculateYearsDifference(int fromYear, int toYear) + { + return Math.Abs(toYear - fromYear); + } + + /// + /// Prüft, ob ein Baujahr realistisch ist + /// + public static bool IsValidBuildYear(int year) + { + int currentYear = DateTime.Now.Year; + return year >= 1900 && year <= currentYear + 1; + } + + /// + /// Generiert einen Dateinamen basierend auf Fahrzeugdaten + /// + public static string GenerateFileName(Fahrzeug fahrzeug, string extension = "html") + { + string marke = CleanInput(fahrzeug.Marke).Replace(" ", "_"); + string modell = CleanInput(fahrzeug.Modell).Replace(" ", "_"); + string datum = DateTime.Now.ToString("yyyyMMdd_HHmmss"); + + return $"Fahrzeug_{marke}_{modell}_{datum}.{extension}"; + } + + /// + /// Prüft, ob eine Textbox nur numerische Eingaben enthält + /// + public static void SetNumericOnly(TextBox textBox) + { + textBox.PreviewTextInput += (sender, e) => + { + e.Handled = !IsNumeric(e.Text); + }; + } + + /// + /// Prüft, ob ein String nur Zahlen enthält + /// + private static bool IsNumeric(string text) + { + return Regex.IsMatch(text, @"^[0-9]+$"); + } + + /// + /// Konvertiert einen String sicher zu einem Integer + /// + public static int SafeParseInt(string value, int defaultValue = 0) + { + if (int.TryParse(value, out int result)) + return result; + return defaultValue; + } + + /// + /// Konvertiert einen String sicher zu einem Decimal + /// + public static decimal SafeParseDecimal(string value, decimal defaultValue = 0) + { + if (decimal.TryParse(value, out decimal result)) + return result; + return defaultValue; + } + } +} \ No newline at end of file diff --git a/WpfApp4/MainWindow.xaml b/WpfApp4/MainWindow.xaml new file mode 100644 index 0000000..3f27810 --- /dev/null +++ b/WpfApp4/MainWindow.xaml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +