second commits

This commit is contained in:
Younes 2025-07-15 14:21:59 +02:00
commit e130260ba1
89 changed files with 5471 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.vs/WpfApp4/v17/.suo Normal file

Binary file not shown.

View File

@ -0,0 +1,171 @@
{
"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",
"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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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": "AgIAAAAAAAAAAAAAAAAAACUAAAA2AAAAAAAAAA==",
"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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@ -0,0 +1,171 @@
{
"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",
"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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
},
{
"$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",
"EditorCaption": ""
}
]
}
]
}
]
}

22
WpfApp4.sln Normal file
View File

@ -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

8
WpfApp4/App.xaml Normal file
View File

@ -0,0 +1,8 @@
<Application x:Class="FahrzeugVerwaltung.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<!-- Globale Styles können hier definiert werden -->
</Application.Resources>
</Application>

31
WpfApp4/App.xaml.cs Normal file
View File

@ -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);
}
}
}

305
WpfApp4/DatabaseService.cs Normal file
View File

@ -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();
}
/// <summary>
/// Initialisiert die Datenbank und erstellt die Tabelle falls sie nicht existiert
/// </summary>
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}");
}
}
/// <summary>
/// Speichert ein neues Fahrzeug in der Datenbank
/// </summary>
/// <param name="fahrzeug">Das zu speichernde Fahrzeug</param>
/// <returns>Die ID des gespeicherten Fahrzeugs</returns>
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}");
}
}
/// <summary>
/// Lädt alle Fahrzeuge aus der Datenbank
/// </summary>
/// <returns>Liste aller Fahrzeuge</returns>
public List<Fahrzeug> LadeAlleFahrzeuge()
{
var fahrzeuge = new List<Fahrzeug>();
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;
}
/// <summary>
/// Sucht Fahrzeuge basierend auf einem Suchbegriff
/// </summary>
/// <param name="suchbegriff">Der Suchbegriff</param>
/// <returns>Liste der gefundenen Fahrzeuge</returns>
public List<Fahrzeug> SucheFahrzeuge(string suchbegriff)
{
var fahrzeuge = new List<Fahrzeug>();
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;
}
/// <summary>
/// Aktualisiert ein bestehendes Fahrzeug in der Datenbank
/// </summary>
/// <param name="fahrzeug">Das zu aktualisierende Fahrzeug</param>
/// <returns>True wenn erfolgreich, sonst False</returns>
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}");
}
}
/// <summary>
/// Löscht ein Fahrzeug aus der Datenbank
/// </summary>
/// <param name="id">Die ID des zu löschenden Fahrzeugs</param>
/// <returns>True wenn erfolgreich, sonst False</returns>
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}");
}
}
/// <summary>
/// Gibt die Anzahl der Fahrzeuge in der Datenbank zurück
/// </summary>
/// <returns>Anzahl der Fahrzeuge</returns>
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}");
}
}
}
}

202
WpfApp4/Fahrzeug.cs Normal file
View File

@ -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();
}
}
/// <summary>
/// Berechnet den aktuellen Wert des Fahrzeugs
/// Formel: Wertverlust basierend auf Alter und Kilometerstand
/// </summary>
/// <returns>Aktueller Wert des Fahrzeugs</returns>
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);
}
/// <summary>
/// Gibt eine detaillierte Beschreibung des Fahrzeugs zurück
/// </summary>
/// <returns>Formatierte Fahrzeugbeschreibung</returns>
public string GetDetailedDescription()
{
return $"{Marke} {Modell} ({Baujahr}) - {Leistung} PS - {KilometerstandFormatiert} - {Farbe}";
}
/// <summary>
/// Berechnet das Alter des Fahrzeugs in Jahren
/// </summary>
/// <returns>Alter in Jahren</returns>
public int GetAlter()
{
return DateTime.Now.Year - Baujahr;
}
/// <summary>
/// Prüft, ob das Fahrzeug als Oldtimer gilt (älter als 30 Jahre)
/// </summary>
/// <returns>True wenn Oldtimer, sonst False</returns>
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})";
}
}
}

View File

@ -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
{
/// <summary>
/// Validiert eine Eingabe für numerische Werte
/// </summary>
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;
}
/// <summary>
/// Validiert eine Eingabe für Ganzzahlen
/// </summary>
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;
}
/// <summary>
/// Validiert eine Eingabe für Dezimalzahlen
/// </summary>
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;
}
/// <summary>
/// Bereinigt Eingabetext von überflüssigen Zeichen
/// </summary>
public static string CleanInput(string input)
{
if (string.IsNullOrWhiteSpace(input))
return string.Empty;
// Mehrfache Leerzeichen durch einzelne ersetzen
return Regex.Replace(input.Trim(), @"\s+", " ");
}
/// <summary>
/// Zeigt eine Fehlermeldung an
/// </summary>
public static void ShowError(string message, string title = "Fehler")
{
MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Error);
}
/// <summary>
/// Zeigt eine Warnmeldung an
/// </summary>
public static void ShowWarning(string message, string title = "Warnung")
{
MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Warning);
}
/// <summary>
/// Zeigt eine Informationsmeldung an
/// </summary>
public static void ShowInfo(string message, string title = "Information")
{
MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Information);
}
/// <summary>
/// Zeigt eine Bestätigungsdialog an
/// </summary>
public static bool ShowConfirmation(string message, string title = "Bestätigung")
{
return MessageBox.Show(message, title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes;
}
/// <summary>
/// Formatiert einen Preis für die Anzeige
/// </summary>
public static string FormatPrice(decimal price)
{
return price.ToString("C", CultureInfo.CurrentCulture);
}
/// <summary>
/// Formatiert einen Kilometerstand für die Anzeige
/// </summary>
public static string FormatKilometers(int kilometers)
{
return $"{kilometers:N0} km";
}
/// <summary>
/// Berechnet die Differenz zwischen zwei Jahren
/// </summary>
public static int CalculateYearsDifference(int fromYear, int toYear)
{
return Math.Abs(toYear - fromYear);
}
/// <summary>
/// Prüft, ob ein Baujahr realistisch ist
/// </summary>
public static bool IsValidBuildYear(int year)
{
int currentYear = DateTime.Now.Year;
return year >= 1900 && year <= currentYear + 1;
}
/// <summary>
/// Generiert einen Dateinamen basierend auf Fahrzeugdaten
/// </summary>
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}";
}
/// <summary>
/// Prüft, ob eine Textbox nur numerische Eingaben enthält
/// </summary>
public static void SetNumericOnly(TextBox textBox)
{
textBox.PreviewTextInput += (sender, e) =>
{
e.Handled = !IsNumeric(e.Text);
};
}
/// <summary>
/// Prüft, ob ein String nur Zahlen enthält
/// </summary>
private static bool IsNumeric(string text)
{
return Regex.IsMatch(text, @"^[0-9]+$");
}
/// <summary>
/// Konvertiert einen String sicher zu einem Integer
/// </summary>
public static int SafeParseInt(string value, int defaultValue = 0)
{
if (int.TryParse(value, out int result))
return result;
return defaultValue;
}
/// <summary>
/// Konvertiert einen String sicher zu einem Decimal
/// </summary>
public static decimal SafeParseDecimal(string value, decimal defaultValue = 0)
{
if (decimal.TryParse(value, out decimal result))
return result;
return defaultValue;
}
}
}

132
WpfApp4/MainWindow.xaml Normal file
View File

@ -0,0 +1,132 @@
<Window x:Class="FahrzeugVerwaltung.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Fahrzeugverwaltung" Height="700" Width="1000"
WindowStartupLocation="CenterScreen">
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Background" Value="#FF007ACC"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="BorderBrush" Value="#FF005A9B"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="10,5"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#FF005A9B"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="TextBox">
<Setter Property="Padding" Value="5"/>
<Setter Property="BorderBrush" Value="#FFCCCCCC"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Height" Value="25"/>
</Style>
<Style TargetType="GroupBox">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="#FF333333"/>
</Style>
</Window.Resources>
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Grid.Column="0" Grid.Row="0" Header="Neues Fahrzeug" Margin="5">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="Marke:" VerticalAlignment="Center"/>
<TextBox Grid.Row="0" Grid.Column="1" Name="txtMarke" Margin="5"/>
<Label Grid.Row="1" Grid.Column="0" Content="Modell:" VerticalAlignment="Center"/>
<TextBox Grid.Row="1" Grid.Column="1" Name="txtModell" Margin="5"/>
<Label Grid.Row="2" Grid.Column="0" Content="Baujahr:" VerticalAlignment="Center"/>
<TextBox Grid.Row="2" Grid.Column="1" Name="txtBaujahr" Margin="5"/>
<Label Grid.Row="3" Grid.Column="0" Content="Leistung (PS):" VerticalAlignment="Center"/>
<TextBox Grid.Row="3" Grid.Column="1" Name="txtLeistung" Margin="5"/>
<Label Grid.Row="4" Grid.Column="0" Content="Kilometerstand:" VerticalAlignment="Center"/>
<TextBox Grid.Row="4" Grid.Column="1" Name="txtKilometer" Margin="5"/>
<Label Grid.Row="5" Grid.Column="0" Content="Kaufpreis (€):" VerticalAlignment="Center"/>
<TextBox Grid.Row="5" Grid.Column="1" Name="txtKaufpreis" Margin="5"/>
<Label Grid.Row="6" Grid.Column="0" Content="Farbe:" VerticalAlignment="Center"/>
<TextBox Grid.Row="6" Grid.Column="1" Name="txtFarbe" Margin="5"/>
<Button Grid.Row="7" Grid.Column="1" Name="btnSpeichern" Content="Speichern"
Margin="5" HorizontalAlignment="Right" Width="120" Height="35"
Click="BtnSpeichern_Click"/>
</Grid>
</GroupBox>
<GroupBox Grid.Column="1" Grid.Row="0" Header="Fahrzeuge suchen" Margin="5">
<StackPanel Margin="10" Orientation="Horizontal">
<Label Content="Suchbegriff:" VerticalAlignment="Center"/>
<TextBox Name="txtSuche" Width="200" Margin="5"/>
<Button Name="btnSuchen" Content="Suchen" Width="80" Height="30" Margin="5"
Click="BtnSuchen_Click"/>
<Button Name="btnAlle" Content="Alle anzeigen" Width="100" Height="30" Margin="5"
Click="BtnAlle_Click"/>
</StackPanel>
</GroupBox>
<GroupBox Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Header="Fahrzeuge" Margin="5">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" Name="dgFahrzeuge" AutoGenerateColumns="False"
IsReadOnly="True" SelectionMode="Single" Margin="10,10,0,28"
SelectionChanged="DgFahrzeuge_SelectionChanged" Grid.RowSpan="2">
<DataGrid.Columns>
<DataGridTextColumn Header="Marke" Binding="{Binding Marke}" Width="100"/>
<DataGridTextColumn Header="Modell" Binding="{Binding Modell}" Width="120"/>
<DataGridTextColumn Header="Baujahr" Binding="{Binding Baujahr}" Width="80"/>
<DataGridTextColumn Header="Leistung" Binding="{Binding Leistung}" Width="80"/>
<DataGridTextColumn Header="Kilometer" Binding="{Binding KilometerstandFormatiert}" Width="100"/>
<DataGridTextColumn Header="Kaufpreis" Binding="{Binding KaufpreisFormatiert}" Width="100"/>
<DataGridTextColumn Header="Farbe" Binding="{Binding Farbe}" Width="80"/>
<DataGridTextColumn Header="Aktueller Wert" Binding="{Binding AktuellerWertFormatiert}" Width="120"/>
</DataGrid.Columns>
</DataGrid>
<TextBlock Grid.Row="1" Name="txtDetails" Margin="5" FontWeight="Bold" FontSize="14"
Text="Kein Fahrzeug ausgewählt" HorizontalAlignment="Center"/>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="10">
<Button Name="btnPdf" Content="Als PDF speichern" Width="150" Height="35"
Margin="5" IsEnabled="False" Click="BtnPdf_Click"/>
<Button Name="btnAktualisieren" Content="Aktualisieren" Width="120" Height="35"
Margin="5" Click="BtnAktualisieren_Click"/>
</StackPanel>
</Grid>
</GroupBox>
</Grid>
</Window>

333
WpfApp4/MainWindow.xaml.cs Normal file
View File

@ -0,0 +1,333 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Win32;
using System.IO;
using System.Text;
namespace FahrzeugVerwaltung
{
public partial class MainWindow : Window
{
private DatabaseService _databaseService;
private PdfService _pdfService;
private List<Fahrzeug> _aktuelleFahrzeuge;
private Fahrzeug _ausgewaehltesFahrzeug;
public MainWindow()
{
InitializeComponent();
InitializeServices();
LadeFahrzeuge();
}
/// <summary>
/// Initialisiert die Services
/// </summary>
private void InitializeServices()
{
try
{
_databaseService = new DatabaseService();
_pdfService = new PdfService();
_aktuelleFahrzeuge = new List<Fahrzeug>();
}
catch (Exception ex)
{
MessageBox.Show($"Fehler beim Initialisieren der Anwendung: {ex.Message}",
"Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
/// <summary>
/// Lädt alle Fahrzeuge aus der Datenbank
/// </summary>
private void LadeFahrzeuge()
{
try
{
_aktuelleFahrzeuge = _databaseService.LadeAlleFahrzeuge();
dgFahrzeuge.ItemsSource = _aktuelleFahrzeuge;
UpdateStatusText();
}
catch (Exception ex)
{
MessageBox.Show($"Fehler beim Laden der Fahrzeuge: {ex.Message}",
"Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
/// <summary>
/// Aktualisiert den Status-Text
/// </summary>
private void UpdateStatusText()
{
if (_aktuelleFahrzeuge.Count == 0)
{
txtDetails.Text = "Keine Fahrzeuge vorhanden";
}
else
{
txtDetails.Text = $"{_aktuelleFahrzeuge.Count} Fahrzeug(e) gefunden";
}
}
/// <summary>
/// Speichert ein neues Fahrzeug
/// </summary>
private void BtnSpeichern_Click(object sender, RoutedEventArgs e)
{
try
{
if (!ValidateInput())
return;
var fahrzeug = new Fahrzeug
{
Marke = txtMarke.Text.Trim(),
Modell = txtModell.Text.Trim(),
Baujahr = int.Parse(txtBaujahr.Text.Trim()),
Leistung = int.Parse(txtLeistung.Text.Trim()),
Kilometerstand = int.Parse(txtKilometer.Text.Trim()),
Kaufpreis = decimal.Parse(txtKaufpreis.Text.Trim()),
Farbe = txtFarbe.Text.Trim()
};
int neueId = _databaseService.SpeichereFahrzeug(fahrzeug);
fahrzeug.Id = neueId;
MessageBox.Show($"Fahrzeug '{fahrzeug.Marke} {fahrzeug.Modell}' wurde erfolgreich gespeichert!",
"Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
// Eingabefelder leeren
ClearInputFields();
// Fahrzeugliste aktualisieren
LadeFahrzeuge();
}
catch (Exception ex)
{
MessageBox.Show($"Fehler beim Speichern des Fahrzeugs: {ex.Message}",
"Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
/// <summary>
/// Validiert die Eingaben
/// </summary>
private bool ValidateInput()
{
var errors = new List<string>();
if (string.IsNullOrWhiteSpace(txtMarke.Text))
errors.Add("Marke ist erforderlich");
if (string.IsNullOrWhiteSpace(txtModell.Text))
errors.Add("Modell ist erforderlich");
if (!int.TryParse(txtBaujahr.Text, out int baujahr) || baujahr < 1900 || baujahr > DateTime.Now.Year)
errors.Add($"Baujahr muss zwischen 1900 und {DateTime.Now.Year} liegen");
if (!int.TryParse(txtLeistung.Text, out int leistung) || leistung <= 0)
errors.Add("Leistung muss eine positive Zahl sein");
if (!int.TryParse(txtKilometer.Text, out int kilometer) || kilometer < 0)
errors.Add("Kilometerstand muss 0 oder größer sein");
if (!decimal.TryParse(txtKaufpreis.Text, out decimal kaufpreis) || kaufpreis <= 0)
errors.Add("Kaufpreis muss eine positive Zahl sein");
if (string.IsNullOrWhiteSpace(txtFarbe.Text))
errors.Add("Farbe ist erforderlich");
if (errors.Any())
{
MessageBox.Show($"Bitte korrigieren Sie folgende Fehler:\n\n{string.Join("\n", errors)}",
"Eingabefehler", MessageBoxButton.OK, MessageBoxImage.Warning);
return false;
}
return true;
}
/// <summary>
/// Leert alle Eingabefelder
/// </summary>
private void ClearInputFields()
{
txtMarke.Clear();
txtModell.Clear();
txtBaujahr.Clear();
txtLeistung.Clear();
txtKilometer.Clear();
txtKaufpreis.Clear();
txtFarbe.Clear();
txtMarke.Focus();
}
/// <summary>
/// Sucht nach Fahrzeugen
/// </summary>
private void BtnSuchen_Click(object sender, RoutedEventArgs e)
{
try
{
string suchbegriff = txtSuche.Text.Trim();
if (string.IsNullOrWhiteSpace(suchbegriff))
{
MessageBox.Show("Bitte geben Sie einen Suchbegriff ein.",
"Hinweis", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
_aktuelleFahrzeuge = _databaseService.SucheFahrzeuge(suchbegriff);
dgFahrzeuge.ItemsSource = _aktuelleFahrzeuge;
UpdateStatusText();
if (_aktuelleFahrzeuge.Count == 0)
{
MessageBox.Show($"Keine Fahrzeuge mit dem Suchbegriff '{suchbegriff}' gefunden.",
"Suchergebnis", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
catch (Exception ex)
{
MessageBox.Show($"Fehler bei der Suche: {ex.Message}",
"Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
/// <summary>
/// Zeigt alle Fahrzeuge an
/// </summary>
private void BtnAlle_Click(object sender, RoutedEventArgs e)
{
txtSuche.Clear();
LadeFahrzeuge();
}
/// <summary>
/// Wird aufgerufen wenn ein Fahrzeug ausgewählt wird
/// </summary>
private void DgFahrzeuge_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
_ausgewaehltesFahrzeug = dgFahrzeuge.SelectedItem as Fahrzeug;
if (_ausgewaehltesFahrzeug != null)
{
txtDetails.Text = $"Ausgewählt: {_ausgewaehltesFahrzeug.GetDetailedDescription()} | " +
$"Aktueller Wert: {_ausgewaehltesFahrzeug.AktuellerWertFormatiert} | " +
$"Wertverlust: {((_ausgewaehltesFahrzeug.Kaufpreis - _ausgewaehltesFahrzeug.AktuellerWert) / _ausgewaehltesFahrzeug.Kaufpreis * 100):F1}%";
btnPdf.IsEnabled = true;
}
else
{
UpdateStatusText();
btnPdf.IsEnabled = false;
}
}
/// <summary>
/// Erstellt ein PDF für das ausgewählte Fahrzeug
/// </summary>
private void BtnPdf_Click(object sender, RoutedEventArgs e)
{
if (_ausgewaehltesFahrzeug == null)
{
MessageBox.Show("Bitte wählen Sie erst ein Fahrzeug aus.",
"Hinweis", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
try
{
var saveFileDialog = new SaveFileDialog
{
Filter = "PDF-Dateien (*.pdf)|*.pdf",
FileName = $"Fahrzeug_{_ausgewaehltesFahrzeug.Marke}_{_ausgewaehltesFahrzeug.Modell}_{DateTime.Now:yyyyMMdd_HHmmss}.pdf",
Title = "PDF speichern"
};
if (saveFileDialog.ShowDialog() == true)
{
bool erfolg = _pdfService.ErstelleFahrzeugPdf(_ausgewaehltesFahrzeug, saveFileDialog.FileName);
if (erfolg)
{
MessageBox.Show($"PDF wurde erfolgreich erstellt:\n{saveFileDialog.FileName}",
"Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
// Fragen ob PDF geöffnet werden soll
var result = MessageBox.Show("Möchten Sie das PDF jetzt öffnen?",
"PDF öffnen", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
System.Diagnostics.Process.Start(saveFileDialog.FileName);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show($"Fehler beim Erstellen des PDFs: {ex.Message}",
"Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
/// <summary>
/// Aktualisiert die Fahrzeugliste
/// </summary>
private void BtnAktualisieren_Click(object sender, RoutedEventArgs e)
{
LadeFahrzeuge();
MessageBox.Show("Fahrzeugliste wurde aktualisiert.",
"Information", MessageBoxButton.OK, MessageBoxImage.Information);
}
/// <summary>
/// Behandelt das Schließen des Fensters
/// </summary>
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
}
/// <summary>
/// Behandelt Tastatureingaben für Shortcuts
/// </summary>
protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)
{
// Strg+S zum Speichern
if (e.Key == System.Windows.Input.Key.S &&
System.Windows.Input.Keyboard.Modifiers == System.Windows.Input.ModifierKeys.Control)
{
BtnSpeichern_Click(null, null);
e.Handled = true;
}
// Strg+F zum Suchen
else if (e.Key == System.Windows.Input.Key.F &&
System.Windows.Input.Keyboard.Modifiers == System.Windows.Input.ModifierKeys.Control)
{
txtSuche.Focus();
e.Handled = true;
}
// F5 zum Aktualisieren
else if (e.Key == System.Windows.Input.Key.F5)
{
BtnAktualisieren_Click(null, null);
e.Handled = true;
}
// Escape zum Leeren der Eingabefelder
else if (e.Key == System.Windows.Input.Key.Escape)
{
ClearInputFields();
e.Handled = true;
}
base.OnKeyDown(e);
}
}
}

281
WpfApp4/PdfService.cs Normal file
View File

@ -0,0 +1,281 @@
using System;
using System.IO;
using System.Linq;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace FahrzeugVerwaltung
{
public class PdfService
{
/// <summary>
/// Erstellt ein PDF-Infoblatt für ein Fahrzeug
/// </summary>
/// <param name="fahrzeug">Das Fahrzeug für das PDF</param>
/// <param name="dateiPfad">Der Pfad wo das PDF gespeichert werden soll</param>
/// <returns>True wenn erfolgreich, sonst False</returns>
public bool ErstelleFahrzeugPdf(Fahrzeug fahrzeug, string dateiPfad)
{
try
{
// PDF-Dokument erstellen
using (var document = new iTextSharp.text.Document(PageSize.A4, 50, 50, 50, 50))
{
using (var writer = PdfWriter.GetInstance(document, new FileStream(dateiPfad, FileMode.Create)))
{
document.Open();
// Titel
var titelFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 18, BaseColor.DARK_GRAY);
var titel = new iTextSharp.text.Paragraph("FAHRZEUG-INFOBLATT", titelFont)
{
Alignment = Element.ALIGN_CENTER,
SpacingAfter = 20
};
document.Add(titel);
// Datum
var datumFont = FontFactory.GetFont(FontFactory.HELVETICA, 10, BaseColor.GRAY);
var datum = new iTextSharp.text.Paragraph($"Erstellt am: {DateTime.Now:dd.MM.yyyy HH:mm}", datumFont)
{
Alignment = Element.ALIGN_RIGHT,
SpacingAfter = 30
};
document.Add(datum);
// Fahrzeugdaten als Tabelle
var table = new PdfPTable(2)
{
WidthPercentage = 100,
SpacingAfter = 20
};
table.SetWidths(new float[] { 1f, 2f });
// Tabellen-Style
var headerFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12, BaseColor.WHITE);
var contentFont = FontFactory.GetFont(FontFactory.HELVETICA, 11, BaseColor.BLACK);
var labelFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 11, BaseColor.DARK_GRAY);
// Header
var headerCell1 = new PdfPCell(new Phrase("Eigenschaft", headerFont))
{
BackgroundColor = BaseColor.DARK_GRAY,
Padding = 10,
HorizontalAlignment = Element.ALIGN_CENTER
};
var headerCell2 = new PdfPCell(new Phrase("Wert", headerFont))
{
BackgroundColor = BaseColor.DARK_GRAY,
Padding = 10,
HorizontalAlignment = Element.ALIGN_CENTER
};
table.AddCell(headerCell1);
table.AddCell(headerCell2);
// Fahrzeugdaten hinzufügen
AddTableRow(table, "Marke", fahrzeug.Marke, labelFont, contentFont);
AddTableRow(table, "Modell", fahrzeug.Modell, labelFont, contentFont);
AddTableRow(table, "Baujahr", fahrzeug.Baujahr.ToString(), labelFont, contentFont);
AddTableRow(table, "Leistung", $"{fahrzeug.Leistung} PS", labelFont, contentFont);
AddTableRow(table, "Kilometerstand", fahrzeug.KilometerstandFormatiert, labelFont, contentFont);
AddTableRow(table, "Farbe", fahrzeug.Farbe, labelFont, contentFont);
AddTableRow(table, "Kaufpreis", fahrzeug.KaufpreisFormatiert, labelFont, contentFont);
// Berechnete Werte
var calculatedFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 11, BaseColor.BLUE);
AddTableRow(table, "Aktueller Wert", fahrzeug.AktuellerWertFormatiert, labelFont, calculatedFont);
AddTableRow(table, "Alter", $"{fahrzeug.GetAlter()} Jahre", labelFont, calculatedFont);
AddTableRow(table, "Wertverlust", $"{((fahrzeug.Kaufpreis - fahrzeug.AktuellerWert) / fahrzeug.Kaufpreis * 100):F1}%", labelFont, calculatedFont);
document.Add(table);
// Zusätzliche Informationen
var infoTitel = new iTextSharp.text.Paragraph("ZUSÄTZLICHE INFORMATIONEN",
FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 14, BaseColor.DARK_GRAY))
{
SpacingBefore = 20,
SpacingAfter = 10
};
document.Add(infoTitel);
var infoText = new StringBuilder();
infoText.AppendLine($"• Fahrzeugtyp: {(fahrzeug.IsOldtimer() ? "Oldtimer" : "Gebrauchtwagen")}");
infoText.AppendLine($"• Vollständige Bezeichnung: {fahrzeug.GetDetailedDescription()}");
infoText.AppendLine($"• Durchschnittliche Laufleistung pro Jahr: {(fahrzeug.Kilometerstand / Math.Max(fahrzeug.GetAlter(), 1)):N0} km");
if (fahrzeug.IsOldtimer())
{
infoText.AppendLine("• Oldtimer-Status: Dieses Fahrzeug ist über 30 Jahre alt und gilt als Oldtimer.");
}
var info = new iTextSharp.text.Paragraph(infoText.ToString(),
FontFactory.GetFont(FontFactory.HELVETICA, 10, BaseColor.BLACK))
{
SpacingAfter = 20
};
document.Add(info);
// Bewertungshinweise
var bewertungTitel = new iTextSharp.text.Paragraph("BEWERTUNGSHINWEISE",
FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 14, BaseColor.DARK_GRAY))
{
SpacingBefore = 20,
SpacingAfter = 10
};
document.Add(bewertungTitel);
var bewertungText = @"Der angegebene aktuelle Wert ist eine automatische Schätzung basierend auf:
Alter des Fahrzeugs (15% Wertverlust pro Jahr in den ersten 3 Jahren, dann 10% pro Jahr)
Kilometerstand (2% Wertverlust pro 10.000 km)
Mindestwert von 5% des ursprünglichen Kaufpreises
Diese Bewertung ersetzt keine professionelle Fahrzeugbewertung und dient nur als Richtwert.
Faktoren wie Zustand, Wartungshistorie, Unfallschäden und Marktlage werden nicht berücksichtigt.";
var bewertung = new iTextSharp.text.Paragraph(bewertungText,
FontFactory.GetFont(FontFactory.HELVETICA, 9, BaseColor.GRAY))
{
SpacingAfter = 30
};
document.Add(bewertung);
// Fußzeile
var fusszeile = new iTextSharp.text.Paragraph("Erstellt mit Fahrzeugverwaltung - Alle Angaben ohne Gewähr",
FontFactory.GetFont(FontFactory.HELVETICA, 8, BaseColor.LIGHT_GRAY))
{
Alignment = Element.ALIGN_CENTER
};
document.Add(fusszeile);
document.Close();
}
}
return true;
}
catch (Exception ex)
{
throw new Exception($"Fehler beim Erstellen des PDFs: {ex.Message}");
}
}
/// <summary>
/// Hilfsmethode zum Hinzufügen einer Tabellenzeile
/// </summary>
private void AddTableRow(PdfPTable table, string label, string value, Font labelFont, Font valueFont)
{
var labelCell = new PdfPCell(new Phrase(label, labelFont))
{
Padding = 8,
BackgroundColor = BaseColor.LIGHT_GRAY,
HorizontalAlignment = Element.ALIGN_LEFT
};
var valueCell = new PdfPCell(new Phrase(value, valueFont))
{
Padding = 8,
HorizontalAlignment = Element.ALIGN_LEFT
};
table.AddCell(labelCell);
table.AddCell(valueCell);
}
/// <summary>
/// Erstellt ein PDF mit einer Fahrzeugliste
/// </summary>
/// <param name="fahrzeuge">Liste der Fahrzeuge</param>
/// <param name="dateiPfad">Pfad für das PDF</param>
/// <returns>True wenn erfolgreich</returns>
public bool ErstelleFahrzeuglistePdf(System.Collections.Generic.List<Fahrzeug> fahrzeuge, string dateiPfad)
{
try
{
using (var document = new iTextSharp.text.Document(PageSize.A4.Rotate(), 30, 30, 30, 30))
{
using (var writer = PdfWriter.GetInstance(document, new FileStream(dateiPfad, FileMode.Create)))
{
document.Open();
// Titel
var titel = new iTextSharp.text.Paragraph("FAHRZEUGLISTE",
FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 16, BaseColor.DARK_GRAY))
{
Alignment = Element.ALIGN_CENTER,
SpacingAfter = 20
};
document.Add(titel);
// Datum und Anzahl
var info = new iTextSharp.text.Paragraph($"Erstellt am: {DateTime.Now:dd.MM.yyyy HH:mm} | Anzahl Fahrzeuge: {fahrzeuge.Count}",
FontFactory.GetFont(FontFactory.HELVETICA, 10, BaseColor.GRAY))
{
Alignment = Element.ALIGN_CENTER,
SpacingAfter = 20
};
document.Add(info);
// Tabelle mit allen Fahrzeugen
var table = new PdfPTable(8) { WidthPercentage = 100 };
table.SetWidths(new float[] { 1f, 1.2f, 0.8f, 0.8f, 1f, 1f, 0.8f, 1.2f });
// Header
var headerFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 10, BaseColor.WHITE);
var headers = new[] { "Marke", "Modell", "Baujahr", "Leistung", "Kilometer", "Kaufpreis", "Farbe", "Akt. Wert" };
foreach (var header in headers)
{
var headerCell = new PdfPCell(new Phrase(header, headerFont))
{
BackgroundColor = BaseColor.DARK_GRAY,
Padding = 5,
HorizontalAlignment = Element.ALIGN_CENTER
};
table.AddCell(headerCell);
}
// Datenzeilen
var contentFont = FontFactory.GetFont(FontFactory.HELVETICA, 9, BaseColor.BLACK);
foreach (var fahrzeug in fahrzeuge)
{
table.AddCell(new PdfPCell(new Phrase(fahrzeug.Marke, contentFont)) { Padding = 5 });
table.AddCell(new PdfPCell(new Phrase(fahrzeug.Modell, contentFont)) { Padding = 5 });
table.AddCell(new PdfPCell(new Phrase(fahrzeug.Baujahr.ToString(), contentFont)) { Padding = 5, HorizontalAlignment = Element.ALIGN_CENTER });
table.AddCell(new PdfPCell(new Phrase($"{fahrzeug.Leistung} PS", contentFont)) { Padding = 5, HorizontalAlignment = Element.ALIGN_CENTER });
table.AddCell(new PdfPCell(new Phrase(fahrzeug.KilometerstandFormatiert, contentFont)) { Padding = 5, HorizontalAlignment = Element.ALIGN_RIGHT });
table.AddCell(new PdfPCell(new Phrase(fahrzeug.KaufpreisFormatiert, contentFont)) { Padding = 5, HorizontalAlignment = Element.ALIGN_RIGHT });
table.AddCell(new PdfPCell(new Phrase(fahrzeug.Farbe, contentFont)) { Padding = 5 });
table.AddCell(new PdfPCell(new Phrase(fahrzeug.AktuellerWertFormatiert, contentFont)) { Padding = 5, HorizontalAlignment = Element.ALIGN_RIGHT });
}
document.Add(table);
// Zusammenfassung
var gesamtKaufpreis = fahrzeuge.Sum(f => f.Kaufpreis);
var gesamtAktuellerWert = fahrzeuge.Sum(f => f.AktuellerWert);
var gesamtWertverlust = gesamtKaufpreis - gesamtAktuellerWert;
var zusammenfassung = new iTextSharp.text.Paragraph($"\nZUSAMMENFASSUNG:\n" +
$"Gesamter Kaufpreis: {gesamtKaufpreis:C}\n" +
$"Gesamter aktueller Wert: {gesamtAktuellerWert:C}\n" +
$"Gesamter Wertverlust: {gesamtWertverlust:C} ({(gesamtWertverlust / gesamtKaufpreis * 100):F1}%)",
FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 11, BaseColor.DARK_GRAY))
{
SpacingBefore = 20
};
document.Add(zusammenfassung);
document.Close();
}
}
return true;
}
catch (Exception ex)
{
throw new Exception($"Fehler beim Erstellen der Fahrzeugliste: {ex.Message}");
}
}
}
}

17
WpfApp4/WpfApp4.csproj Normal file
View File

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="iTextSharp" Version="5.5.13.4" />
<PackageReference Include="Microsoft.Win32.SystemEvents" Version="6.0.0" />
<PackageReference Include="System.Data.SQLite" Version="1.0.119.0" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<ItemGroup>
<ApplicationDefinition Update="App.xaml">
<SubType>Designer</SubType>
</ApplicationDefinition>
</ItemGroup>
<ItemGroup>
<Page Update="MainWindow.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
</Project>

Binary file not shown.

View File

@ -0,0 +1,396 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"WpfApp4/1.0.0": {
"dependencies": {
"Microsoft.Win32.SystemEvents": "6.0.0",
"System.Data.SQLite": "1.0.119",
"iTextSharp": "5.5.13.4"
},
"runtime": {
"WpfApp4.dll": {}
}
},
"BouncyCastle.Cryptography/2.4.0": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.4.0.33771"
}
}
},
"EntityFramework/6.4.4": {
"dependencies": {
"Microsoft.CSharp": "4.7.0",
"System.CodeDom": "4.7.0",
"System.ComponentModel.Annotations": "4.7.0",
"System.Configuration.ConfigurationManager": "4.7.0",
"System.Data.SqlClient": "4.8.1"
},
"runtime": {
"lib/netstandard2.1/EntityFramework.SqlServer.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.400.420.21404"
},
"lib/netstandard2.1/EntityFramework.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.400.420.21404"
}
}
},
"iTextSharp/5.5.13.4": {
"dependencies": {
"BouncyCastle.Cryptography": "2.4.0"
},
"runtime": {
"lib/net461/itextsharp.dll": {
"assemblyVersion": "5.5.13.4",
"fileVersion": "5.5.13.4"
}
}
},
"Microsoft.CSharp/4.7.0": {},
"Microsoft.NETCore.Platforms/3.1.0": {},
"Microsoft.Win32.Registry/4.7.0": {
"dependencies": {
"System.Security.AccessControl": "4.7.0",
"System.Security.Principal.Windows": "4.7.0"
}
},
"Microsoft.Win32.SystemEvents/6.0.0": {},
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
"dependencies": {
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
}
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"runtimeTargets": {
"runtimes/win-arm64/native/sni.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "4.6.25512.1"
}
}
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"runtimeTargets": {
"runtimes/win-x64/native/sni.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "4.6.25512.1"
}
}
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"runtimeTargets": {
"runtimes/win-x86/native/sni.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "4.6.25512.1"
}
}
},
"Stub.System.Data.SQLite.Core.NetStandard/1.0.119": {
"runtime": {
"lib/netstandard2.1/System.Data.SQLite.dll": {
"assemblyVersion": "1.0.119.0",
"fileVersion": "1.0.119.0"
}
},
"runtimeTargets": {
"runtimes/linux-x64/native/SQLite.Interop.dll": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/SQLite.Interop.dll": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/SQLite.Interop.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "1.0.119.0"
},
"runtimes/win-x86/native/SQLite.Interop.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "1.0.119.0"
}
}
},
"System.CodeDom/4.7.0": {},
"System.ComponentModel.Annotations/4.7.0": {},
"System.Configuration.ConfigurationManager/4.7.0": {
"dependencies": {
"System.Security.Cryptography.ProtectedData": "4.7.0",
"System.Security.Permissions": "4.7.0"
}
},
"System.Data.SqlClient/4.8.1": {
"dependencies": {
"Microsoft.Win32.Registry": "4.7.0",
"System.Security.Principal.Windows": "4.7.0",
"runtime.native.System.Data.SqlClient.sni": "4.7.0"
},
"runtime": {
"lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"assemblyVersion": "4.6.1.1",
"fileVersion": "4.700.20.6702"
}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "4.6.1.1",
"fileVersion": "4.700.20.6702"
},
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.6.1.1",
"fileVersion": "4.700.20.6702"
}
}
},
"System.Data.SQLite/1.0.119": {
"dependencies": {
"System.Data.SQLite.Core": "1.0.119",
"System.Data.SQLite.EF6": "1.0.119"
}
},
"System.Data.SQLite.Core/1.0.119": {
"dependencies": {
"Stub.System.Data.SQLite.Core.NetStandard": "1.0.119"
}
},
"System.Data.SQLite.EF6/1.0.119": {
"dependencies": {
"EntityFramework": "6.4.4"
},
"runtime": {
"lib/netstandard2.1/System.Data.SQLite.EF6.dll": {
"assemblyVersion": "1.0.119.0",
"fileVersion": "1.0.119.0"
}
}
},
"System.Drawing.Common/4.7.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"Microsoft.Win32.SystemEvents": "6.0.0"
}
},
"System.Security.AccessControl/4.7.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"System.Security.Principal.Windows": "4.7.0"
}
},
"System.Security.Cryptography.ProtectedData/4.7.0": {},
"System.Security.Permissions/4.7.0": {
"dependencies": {
"System.Security.AccessControl": "4.7.0",
"System.Windows.Extensions": "4.7.0"
}
},
"System.Security.Principal.Windows/4.7.0": {},
"System.Windows.Extensions/4.7.0": {
"dependencies": {
"System.Drawing.Common": "4.7.0"
}
}
}
},
"libraries": {
"WpfApp4/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"BouncyCastle.Cryptography/2.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==",
"path": "bouncycastle.cryptography/2.4.0",
"hashPath": "bouncycastle.cryptography.2.4.0.nupkg.sha512"
},
"EntityFramework/6.4.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yj1+/4tci7Panu3jKDHYizxwVm0Jvm7b7m057b5h4u8NUHGCR8WIWirBTw+8EptRffwftIWPBeIRGNKD1ewEMQ==",
"path": "entityframework/6.4.4",
"hashPath": "entityframework.6.4.4.nupkg.sha512"
},
"iTextSharp/5.5.13.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/cvCNv8AJ+XuD99u4NfHSSxkBJKTdvP36wcfQF9V1Cjzi1ycyFSa4vJ64a3DhFVUTKVO60WF8OmAqngQDTHgYA==",
"path": "itextsharp/5.5.13.4",
"hashPath": "itextsharp.5.5.13.4.nupkg.sha512"
},
"Microsoft.CSharp/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"path": "microsoft.csharp/4.7.0",
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
},
"Microsoft.NETCore.Platforms/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==",
"path": "microsoft.netcore.platforms/3.1.0",
"hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512"
},
"Microsoft.Win32.Registry/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
"path": "microsoft.win32.registry/4.7.0",
"hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
},
"Microsoft.Win32.SystemEvents/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
"path": "microsoft.win32.systemevents/6.0.0",
"hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
},
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
"path": "runtime.native.system.data.sqlclient.sni/4.7.0",
"hashPath": "runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512"
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
"path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
"hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
"path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
"hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
"path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
"hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
},
"Stub.System.Data.SQLite.Core.NetStandard/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dI7ngiCNgdm+n00nQvFTa+LbHvE9MIQXwMSLRzJI/KAJ7G1WmCachsvfE1CD6xvb3OXJvYYEfv3+S/LHyhN0Rg==",
"path": "stub.system.data.sqlite.core.netstandard/1.0.119",
"hashPath": "stub.system.data.sqlite.core.netstandard.1.0.119.nupkg.sha512"
},
"System.CodeDom/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Hs9pw/kmvH3lXaZ1LFKj3pLQsiGfj2xo3sxSzwiLlRL6UcMZUTeCfoJ9Udalvn3yq5dLlPEZzYegrTQ1/LhPOQ==",
"path": "system.codedom/4.7.0",
"hashPath": "system.codedom.4.7.0.nupkg.sha512"
},
"System.ComponentModel.Annotations/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==",
"path": "system.componentmodel.annotations/4.7.0",
"hashPath": "system.componentmodel.annotations.4.7.0.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/anOTeSZCNNI2zDilogWrZ8pNqCmYbzGNexUnNhjW8k0sHqEZ2nHJBp147jBV3hGYswu5lINpNg1vxR7bnqvVA==",
"path": "system.configuration.configurationmanager/4.7.0",
"hashPath": "system.configuration.configurationmanager.4.7.0.nupkg.sha512"
},
"System.Data.SqlClient/4.8.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HKLykcv6eZLbLnSMnlQ6Os4+UAmFE+AgYm92CTvJYeTOBtOYusX3qu8OoGhFrnKZax91UcLcDo5vPrqvJUTSNQ==",
"path": "system.data.sqlclient/4.8.1",
"hashPath": "system.data.sqlclient.4.8.1.nupkg.sha512"
},
"System.Data.SQLite/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JSOJpnBf9goMnxGTJFGCmm6AffxgtpuXNXV5YvWO8UNC2zwd12qkUe5lAbnY+2ohIkIukgIjbvR1RA/sWILv3w==",
"path": "system.data.sqlite/1.0.119",
"hashPath": "system.data.sqlite.1.0.119.nupkg.sha512"
},
"System.Data.SQLite.Core/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bhQB8HVtRA+OOYw8UTD1F1kU+nGJ0/OZvH1JmlVUI4bGvgVEWeX1NcHjA765NvUoRVuCPlt8PrEpZ1thSsk1jg==",
"path": "system.data.sqlite.core/1.0.119",
"hashPath": "system.data.sqlite.core.1.0.119.nupkg.sha512"
},
"System.Data.SQLite.EF6/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BwwgCSeA80gsxdXtU7IQEBrN9kQXWQrD11hNYOJZbXBBI1C4r7hA4QhBAalO1nzijXikthGRUADIEMI3nlucLA==",
"path": "system.data.sqlite.ef6/1.0.119",
"hashPath": "system.data.sqlite.ef6.1.0.119.nupkg.sha512"
},
"System.Drawing.Common/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-v+XbyYHaZjDfn0ENmJEV1VYLgGgCTx1gnfOBcppowbpOAriglYgGCvFCPr2EEZyBvXlpxbEsTwkOlInl107ahA==",
"path": "system.drawing.common/4.7.0",
"hashPath": "system.drawing.common.4.7.0.nupkg.sha512"
},
"System.Security.AccessControl/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==",
"path": "system.security.accesscontrol/4.7.0",
"hashPath": "system.security.accesscontrol.4.7.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ehYW0m9ptxpGWvE4zgqongBVWpSDU/JCFD4K7krxkQwSz/sFQjEXCUqpvencjy6DYDbn7Ig09R8GFffu8TtneQ==",
"path": "system.security.cryptography.protecteddata/4.7.0",
"hashPath": "system.security.cryptography.protecteddata.4.7.0.nupkg.sha512"
},
"System.Security.Permissions/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dkOV6YYVBnYRa15/yv004eCGRBVADXw8qRbbNiCn/XpdJSUXkkUeIvdvFHkvnko4CdKMqG8yRHC4ox83LSlMsQ==",
"path": "system.security.permissions/4.7.0",
"hashPath": "system.security.permissions.4.7.0.nupkg.sha512"
},
"System.Security.Principal.Windows/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
"path": "system.security.principal.windows/4.7.0",
"hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512"
},
"System.Windows.Extensions/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CeWTdRNfRaSh0pm2gDTJFwVaXfTq6Xwv/sA887iwPTneW7oMtMlpvDIO+U60+3GWTB7Aom6oQwv5VZVUhQRdPQ==",
"path": "system.windows.extensions/4.7.0",
"hashPath": "system.windows.extensions.4.7.0.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
}
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,70 @@
#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "FC5AC95CFB6A4C015637D6AA7C9A1E9304D99E77"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Controls.Ribbon;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace FahrzeugVerwaltung {
/// <summary>
/// App
/// </summary>
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
public void InitializeComponent() {
#line 4 "..\..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
public static void Main() {
FahrzeugVerwaltung.App app = new FahrzeugVerwaltung.App();
app.InitializeComponent();
app.Run();
}
}
}

View File

@ -0,0 +1,70 @@
#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "FC5AC95CFB6A4C015637D6AA7C9A1E9304D99E77"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Controls.Ribbon;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace FahrzeugVerwaltung {
/// <summary>
/// App
/// </summary>
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
public void InitializeComponent() {
#line 4 "..\..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
public static void Main() {
FahrzeugVerwaltung.App app = new FahrzeugVerwaltung.App();
app.InitializeComponent();
app.Run();
}
}
}

Binary file not shown.

View File

@ -0,0 +1,279 @@
#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "8DF58188280DAFF07A7BEFCBC9F627B06C60AC18"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Controls.Ribbon;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace FahrzeugVerwaltung {
/// <summary>
/// MainWindow
/// </summary>
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 62 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtMarke;
#line default
#line hidden
#line 65 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtModell;
#line default
#line hidden
#line 68 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtBaujahr;
#line default
#line hidden
#line 71 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtLeistung;
#line default
#line hidden
#line 74 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtKilometer;
#line default
#line hidden
#line 77 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtKaufpreis;
#line default
#line hidden
#line 80 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtFarbe;
#line default
#line hidden
#line 82 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnSpeichern;
#line default
#line hidden
#line 90 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtSuche;
#line default
#line hidden
#line 91 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnSuchen;
#line default
#line hidden
#line 93 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnAlle;
#line default
#line hidden
#line 105 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.DataGrid dgFahrzeuge;
#line default
#line hidden
#line 120 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock txtDetails;
#line default
#line hidden
#line 124 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnPdf;
#line default
#line hidden
#line 126 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnAktualisieren;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/WpfApp4;component/mainwindow.xaml", System.UriKind.Relative);
#line 1 "..\..\..\MainWindow.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.txtMarke = ((System.Windows.Controls.TextBox)(target));
return;
case 2:
this.txtModell = ((System.Windows.Controls.TextBox)(target));
return;
case 3:
this.txtBaujahr = ((System.Windows.Controls.TextBox)(target));
return;
case 4:
this.txtLeistung = ((System.Windows.Controls.TextBox)(target));
return;
case 5:
this.txtKilometer = ((System.Windows.Controls.TextBox)(target));
return;
case 6:
this.txtKaufpreis = ((System.Windows.Controls.TextBox)(target));
return;
case 7:
this.txtFarbe = ((System.Windows.Controls.TextBox)(target));
return;
case 8:
this.btnSpeichern = ((System.Windows.Controls.Button)(target));
#line 84 "..\..\..\MainWindow.xaml"
this.btnSpeichern.Click += new System.Windows.RoutedEventHandler(this.BtnSpeichern_Click);
#line default
#line hidden
return;
case 9:
this.txtSuche = ((System.Windows.Controls.TextBox)(target));
return;
case 10:
this.btnSuchen = ((System.Windows.Controls.Button)(target));
#line 92 "..\..\..\MainWindow.xaml"
this.btnSuchen.Click += new System.Windows.RoutedEventHandler(this.BtnSuchen_Click);
#line default
#line hidden
return;
case 11:
this.btnAlle = ((System.Windows.Controls.Button)(target));
#line 94 "..\..\..\MainWindow.xaml"
this.btnAlle.Click += new System.Windows.RoutedEventHandler(this.BtnAlle_Click);
#line default
#line hidden
return;
case 12:
this.dgFahrzeuge = ((System.Windows.Controls.DataGrid)(target));
#line 107 "..\..\..\MainWindow.xaml"
this.dgFahrzeuge.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.DgFahrzeuge_SelectionChanged);
#line default
#line hidden
return;
case 13:
this.txtDetails = ((System.Windows.Controls.TextBlock)(target));
return;
case 14:
this.btnPdf = ((System.Windows.Controls.Button)(target));
#line 125 "..\..\..\MainWindow.xaml"
this.btnPdf.Click += new System.Windows.RoutedEventHandler(this.BtnPdf_Click);
#line default
#line hidden
return;
case 15:
this.btnAktualisieren = ((System.Windows.Controls.Button)(target));
#line 127 "..\..\..\MainWindow.xaml"
this.btnAktualisieren.Click += new System.Windows.RoutedEventHandler(this.BtnAktualisieren_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
}
}

View File

@ -0,0 +1,279 @@
#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "8DF58188280DAFF07A7BEFCBC9F627B06C60AC18"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Controls.Ribbon;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace FahrzeugVerwaltung {
/// <summary>
/// MainWindow
/// </summary>
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 62 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtMarke;
#line default
#line hidden
#line 65 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtModell;
#line default
#line hidden
#line 68 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtBaujahr;
#line default
#line hidden
#line 71 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtLeistung;
#line default
#line hidden
#line 74 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtKilometer;
#line default
#line hidden
#line 77 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtKaufpreis;
#line default
#line hidden
#line 80 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtFarbe;
#line default
#line hidden
#line 82 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnSpeichern;
#line default
#line hidden
#line 90 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox txtSuche;
#line default
#line hidden
#line 91 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnSuchen;
#line default
#line hidden
#line 93 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnAlle;
#line default
#line hidden
#line 105 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.DataGrid dgFahrzeuge;
#line default
#line hidden
#line 120 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock txtDetails;
#line default
#line hidden
#line 124 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnPdf;
#line default
#line hidden
#line 126 "..\..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button btnAktualisieren;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/WpfApp4;component/mainwindow.xaml", System.UriKind.Relative);
#line 1 "..\..\..\MainWindow.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.2.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.txtMarke = ((System.Windows.Controls.TextBox)(target));
return;
case 2:
this.txtModell = ((System.Windows.Controls.TextBox)(target));
return;
case 3:
this.txtBaujahr = ((System.Windows.Controls.TextBox)(target));
return;
case 4:
this.txtLeistung = ((System.Windows.Controls.TextBox)(target));
return;
case 5:
this.txtKilometer = ((System.Windows.Controls.TextBox)(target));
return;
case 6:
this.txtKaufpreis = ((System.Windows.Controls.TextBox)(target));
return;
case 7:
this.txtFarbe = ((System.Windows.Controls.TextBox)(target));
return;
case 8:
this.btnSpeichern = ((System.Windows.Controls.Button)(target));
#line 84 "..\..\..\MainWindow.xaml"
this.btnSpeichern.Click += new System.Windows.RoutedEventHandler(this.BtnSpeichern_Click);
#line default
#line hidden
return;
case 9:
this.txtSuche = ((System.Windows.Controls.TextBox)(target));
return;
case 10:
this.btnSuchen = ((System.Windows.Controls.Button)(target));
#line 92 "..\..\..\MainWindow.xaml"
this.btnSuchen.Click += new System.Windows.RoutedEventHandler(this.BtnSuchen_Click);
#line default
#line hidden
return;
case 11:
this.btnAlle = ((System.Windows.Controls.Button)(target));
#line 94 "..\..\..\MainWindow.xaml"
this.btnAlle.Click += new System.Windows.RoutedEventHandler(this.BtnAlle_Click);
#line default
#line hidden
return;
case 12:
this.dgFahrzeuge = ((System.Windows.Controls.DataGrid)(target));
#line 107 "..\..\..\MainWindow.xaml"
this.dgFahrzeuge.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.DgFahrzeuge_SelectionChanged);
#line default
#line hidden
return;
case 13:
this.txtDetails = ((System.Windows.Controls.TextBlock)(target));
return;
case 14:
this.btnPdf = ((System.Windows.Controls.Button)(target));
#line 125 "..\..\..\MainWindow.xaml"
this.btnPdf.Click += new System.Windows.RoutedEventHandler(this.BtnPdf_Click);
#line default
#line hidden
return;
case 15:
this.btnAktualisieren = ((System.Windows.Controls.Button)(target));
#line 127 "..\..\..\MainWindow.xaml"
this.btnAktualisieren.Click += new System.Windows.RoutedEventHandler(this.BtnAktualisieren_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
}
}

View File

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("WpfApp4")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("WpfApp4")]
[assembly: System.Reflection.AssemblyTitleAttribute("WpfApp4")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// Von der MSBuild WriteCodeFragment-Klasse generiert.

View File

@ -0,0 +1 @@
ab23e4bcae63858310949eae28c6127b50856b15bff9bb0d5cf8aefdae7c18a1

View File

@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = WpfApp4
build_property.ProjectDir = C:\Users\bib\source\repos\WpfApp4\WpfApp4\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@ -0,0 +1,6 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Linq;
global using global::System.Threading;
global using global::System.Threading.Tasks;

Binary file not shown.

View File

@ -0,0 +1 @@
4672a090f1dceefd8c5c6aef28c02c085cac83c8c120f1aa56638debed9295b4

View File

@ -0,0 +1,37 @@
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\MainWindow.baml
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\MainWindow.g.cs
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\App.g.cs
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4_MarkupCompile.cache
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.g.resources
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.AssemblyInfoInputs.cache
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.AssemblyInfo.cs
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.csproj.CoreCompileInputs.cache
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.csproj.AssemblyReference.cache
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\WpfApp4.exe
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\WpfApp4.deps.json
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\WpfApp4.runtimeconfig.json
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\WpfApp4.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\WpfApp4.pdb
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\BouncyCastle.Cryptography.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\EntityFramework.SqlServer.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\EntityFramework.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\itextsharp.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Data.SQLite.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Data.SqlClient.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Data.SQLite.EF6.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-arm64\native\sni.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x64\native\sni.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x86\native\sni.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\linux-x64\native\SQLite.Interop.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\osx-x64\native\SQLite.Interop.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x64\native\SQLite.Interop.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x86\native\SQLite.Interop.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\unix\lib\netcoreapp2.1\System.Data.SqlClient.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win\lib\netcoreapp2.1\System.Data.SqlClient.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.csproj.Up2Date
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\refint\WpfApp4.dll
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.pdb
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\WpfApp4.genruntimeconfig.cache
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\ref\WpfApp4.dll

View File

@ -0,0 +1,526 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"BouncyCastle.Cryptography/2.4.0": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.4.0.33771"
}
}
},
"EntityFramework/6.4.4": {
"dependencies": {
"Microsoft.CSharp": "4.7.0",
"System.CodeDom": "4.7.0",
"System.ComponentModel.Annotations": "4.7.0",
"System.Configuration.ConfigurationManager": "4.7.0",
"System.Data.SqlClient": "4.8.1"
},
"runtime": {
"lib/netstandard2.1/EntityFramework.SqlServer.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.400.420.21404"
},
"lib/netstandard2.1/EntityFramework.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.400.420.21404"
}
}
},
"iTextSharp/5.5.13.4": {
"dependencies": {
"BouncyCastle.Cryptography": "2.4.0"
},
"runtime": {
"lib/net461/itextsharp.dll": {
"assemblyVersion": "5.5.13.4",
"fileVersion": "5.5.13.4"
}
}
},
"Microsoft.CSharp/4.7.0": {},
"Microsoft.NETCore.Platforms/3.1.0": {},
"Microsoft.Win32.Registry/4.7.0": {
"dependencies": {
"System.Security.AccessControl": "4.7.0",
"System.Security.Principal.Windows": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
}
},
"runtimeTargets": {
"runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
},
"runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
}
}
},
"Microsoft.Win32.SystemEvents/6.0.0": {
"runtime": {
"lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.21.52210"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.21.52210"
}
}
},
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
"dependencies": {
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
}
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"runtimeTargets": {
"runtimes/win-arm64/native/sni.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "4.6.25512.1"
}
}
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"runtimeTargets": {
"runtimes/win-x64/native/sni.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "4.6.25512.1"
}
}
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"runtimeTargets": {
"runtimes/win-x86/native/sni.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "4.6.25512.1"
}
}
},
"Stub.System.Data.SQLite.Core.NetStandard/1.0.119": {
"runtime": {
"lib/netstandard2.1/System.Data.SQLite.dll": {
"assemblyVersion": "1.0.119.0",
"fileVersion": "1.0.119.0"
}
},
"runtimeTargets": {
"runtimes/linux-x64/native/SQLite.Interop.dll": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/SQLite.Interop.dll": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/SQLite.Interop.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "1.0.119.0"
},
"runtimes/win-x86/native/SQLite.Interop.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "1.0.119.0"
}
}
},
"System.CodeDom/4.7.0": {
"runtime": {
"lib/netstandard2.0/System.CodeDom.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.ComponentModel.Annotations/4.7.0": {
"runtime": {
"lib/netstandard2.1/System.ComponentModel.Annotations.dll": {
"assemblyVersion": "4.3.1.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Configuration.ConfigurationManager/4.7.0": {
"dependencies": {
"System.Security.Cryptography.ProtectedData": "4.7.0",
"System.Security.Permissions": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Data.SqlClient/4.8.1": {
"dependencies": {
"Microsoft.Win32.Registry": "4.7.0",
"System.Security.Principal.Windows": "4.7.0",
"runtime.native.System.Data.SqlClient.sni": "4.7.0"
},
"runtime": {
"lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"assemblyVersion": "4.6.1.1",
"fileVersion": "4.700.20.6702"
}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "4.6.1.1",
"fileVersion": "4.700.20.6702"
},
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.6.1.1",
"fileVersion": "4.700.20.6702"
}
}
},
"System.Data.SQLite/1.0.119": {
"dependencies": {
"System.Data.SQLite.Core": "1.0.119",
"System.Data.SQLite.EF6": "1.0.119"
}
},
"System.Data.SQLite.Core/1.0.119": {
"dependencies": {
"Stub.System.Data.SQLite.Core.NetStandard": "1.0.119"
}
},
"System.Data.SQLite.EF6/1.0.119": {
"dependencies": {
"EntityFramework": "6.4.4"
},
"runtime": {
"lib/netstandard2.1/System.Data.SQLite.EF6.dll": {
"assemblyVersion": "1.0.119.0",
"fileVersion": "1.0.119.0"
}
}
},
"System.Drawing.Common/4.7.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"Microsoft.Win32.SystemEvents": "6.0.0"
},
"runtime": {
"lib/netstandard2.0/System.Drawing.Common.dll": {
"assemblyVersion": "4.0.0.1",
"fileVersion": "4.6.26919.2"
}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.56404"
},
"runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Security.AccessControl/4.7.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"System.Security.Principal.Windows": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/System.Security.AccessControl.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Security.Cryptography.ProtectedData/4.7.0": {
"runtime": {
"lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.56404"
}
},
"runtimeTargets": {
"runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Security.Permissions/4.7.0": {
"dependencies": {
"System.Security.AccessControl": "4.7.0",
"System.Windows.Extensions": "4.7.0"
},
"runtime": {
"lib/netcoreapp3.0/System.Security.Permissions.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Security.Principal.Windows/4.7.0": {
"runtime": {
"lib/netstandard2.0/System.Security.Principal.Windows.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
},
"runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.700.19.56404"
}
}
},
"System.Windows.Extensions/4.7.0": {
"dependencies": {
"System.Drawing.Common": "4.7.0"
},
"runtime": {
"lib/netcoreapp3.0/System.Windows.Extensions.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.56404"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.700.19.56404"
}
}
}
}
},
"libraries": {
"BouncyCastle.Cryptography/2.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==",
"path": "bouncycastle.cryptography/2.4.0",
"hashPath": "bouncycastle.cryptography.2.4.0.nupkg.sha512"
},
"EntityFramework/6.4.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yj1+/4tci7Panu3jKDHYizxwVm0Jvm7b7m057b5h4u8NUHGCR8WIWirBTw+8EptRffwftIWPBeIRGNKD1ewEMQ==",
"path": "entityframework/6.4.4",
"hashPath": "entityframework.6.4.4.nupkg.sha512"
},
"iTextSharp/5.5.13.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/cvCNv8AJ+XuD99u4NfHSSxkBJKTdvP36wcfQF9V1Cjzi1ycyFSa4vJ64a3DhFVUTKVO60WF8OmAqngQDTHgYA==",
"path": "itextsharp/5.5.13.4",
"hashPath": "itextsharp.5.5.13.4.nupkg.sha512"
},
"Microsoft.CSharp/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"path": "microsoft.csharp/4.7.0",
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
},
"Microsoft.NETCore.Platforms/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==",
"path": "microsoft.netcore.platforms/3.1.0",
"hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512"
},
"Microsoft.Win32.Registry/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
"path": "microsoft.win32.registry/4.7.0",
"hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
},
"Microsoft.Win32.SystemEvents/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
"path": "microsoft.win32.systemevents/6.0.0",
"hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
},
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
"path": "runtime.native.system.data.sqlclient.sni/4.7.0",
"hashPath": "runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512"
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
"path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
"hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
"path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
"hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
"path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
"hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
},
"Stub.System.Data.SQLite.Core.NetStandard/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dI7ngiCNgdm+n00nQvFTa+LbHvE9MIQXwMSLRzJI/KAJ7G1WmCachsvfE1CD6xvb3OXJvYYEfv3+S/LHyhN0Rg==",
"path": "stub.system.data.sqlite.core.netstandard/1.0.119",
"hashPath": "stub.system.data.sqlite.core.netstandard.1.0.119.nupkg.sha512"
},
"System.CodeDom/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Hs9pw/kmvH3lXaZ1LFKj3pLQsiGfj2xo3sxSzwiLlRL6UcMZUTeCfoJ9Udalvn3yq5dLlPEZzYegrTQ1/LhPOQ==",
"path": "system.codedom/4.7.0",
"hashPath": "system.codedom.4.7.0.nupkg.sha512"
},
"System.ComponentModel.Annotations/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==",
"path": "system.componentmodel.annotations/4.7.0",
"hashPath": "system.componentmodel.annotations.4.7.0.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/anOTeSZCNNI2zDilogWrZ8pNqCmYbzGNexUnNhjW8k0sHqEZ2nHJBp147jBV3hGYswu5lINpNg1vxR7bnqvVA==",
"path": "system.configuration.configurationmanager/4.7.0",
"hashPath": "system.configuration.configurationmanager.4.7.0.nupkg.sha512"
},
"System.Data.SqlClient/4.8.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HKLykcv6eZLbLnSMnlQ6Os4+UAmFE+AgYm92CTvJYeTOBtOYusX3qu8OoGhFrnKZax91UcLcDo5vPrqvJUTSNQ==",
"path": "system.data.sqlclient/4.8.1",
"hashPath": "system.data.sqlclient.4.8.1.nupkg.sha512"
},
"System.Data.SQLite/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JSOJpnBf9goMnxGTJFGCmm6AffxgtpuXNXV5YvWO8UNC2zwd12qkUe5lAbnY+2ohIkIukgIjbvR1RA/sWILv3w==",
"path": "system.data.sqlite/1.0.119",
"hashPath": "system.data.sqlite.1.0.119.nupkg.sha512"
},
"System.Data.SQLite.Core/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bhQB8HVtRA+OOYw8UTD1F1kU+nGJ0/OZvH1JmlVUI4bGvgVEWeX1NcHjA765NvUoRVuCPlt8PrEpZ1thSsk1jg==",
"path": "system.data.sqlite.core/1.0.119",
"hashPath": "system.data.sqlite.core.1.0.119.nupkg.sha512"
},
"System.Data.SQLite.EF6/1.0.119": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BwwgCSeA80gsxdXtU7IQEBrN9kQXWQrD11hNYOJZbXBBI1C4r7hA4QhBAalO1nzijXikthGRUADIEMI3nlucLA==",
"path": "system.data.sqlite.ef6/1.0.119",
"hashPath": "system.data.sqlite.ef6.1.0.119.nupkg.sha512"
},
"System.Drawing.Common/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-v+XbyYHaZjDfn0ENmJEV1VYLgGgCTx1gnfOBcppowbpOAriglYgGCvFCPr2EEZyBvXlpxbEsTwkOlInl107ahA==",
"path": "system.drawing.common/4.7.0",
"hashPath": "system.drawing.common.4.7.0.nupkg.sha512"
},
"System.Security.AccessControl/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==",
"path": "system.security.accesscontrol/4.7.0",
"hashPath": "system.security.accesscontrol.4.7.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ehYW0m9ptxpGWvE4zgqongBVWpSDU/JCFD4K7krxkQwSz/sFQjEXCUqpvencjy6DYDbn7Ig09R8GFffu8TtneQ==",
"path": "system.security.cryptography.protecteddata/4.7.0",
"hashPath": "system.security.cryptography.protecteddata.4.7.0.nupkg.sha512"
},
"System.Security.Permissions/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dkOV6YYVBnYRa15/yv004eCGRBVADXw8qRbbNiCn/XpdJSUXkkUeIvdvFHkvnko4CdKMqG8yRHC4ox83LSlMsQ==",
"path": "system.security.permissions/4.7.0",
"hashPath": "system.security.permissions.4.7.0.nupkg.sha512"
},
"System.Security.Principal.Windows/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
"path": "system.security.principal.windows/4.7.0",
"hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512"
},
"System.Windows.Extensions/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CeWTdRNfRaSh0pm2gDTJFwVaXfTq6Xwv/sA887iwPTneW7oMtMlpvDIO+U60+3GWTB7Aom6oQwv5VZVUhQRdPQ==",
"path": "system.windows.extensions/4.7.0",
"hashPath": "system.windows.extensions.4.7.0.nupkg.sha512"
}
}
}

View File

@ -0,0 +1,25 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"additionalProbingPaths": [
"C:\\Users\\bib\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\bib\\.nuget\\packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false,
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
}
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
83bd939ab8ebd95532f6b744b0a45c3d160f382efa411ff4fc10e6b619242a8d

Binary file not shown.

View File

@ -0,0 +1,20 @@
WpfApp4
winexe
C#
.cs
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\
WpfApp4
none
false
TRACE;DEBUG;NET;NET8_0;NETCOREAPP
C:\Users\bib\source\repos\WpfApp4\WpfApp4\App.xaml
11407045341
72021310281
2051017195646
MainWindow.xaml;
False

View File

@ -0,0 +1,20 @@
WpfApp4
1.0.0.0
winexe
C#
.cs
C:\Users\bib\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\
WpfApp4
none
false
TRACE;DEBUG;NET;NET8_0;NETCOREAPP
C:\Users\bib\source\repos\WpfApp4\WpfApp4\App.xaml
11407045341
9-1995710215
2051017195646
MainWindow.xaml;
False

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,90 @@
{
"format": 1,
"restore": {
"C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj": {}
},
"projects": {
"C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj",
"projectName": "WpfApp4",
"projectPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj",
"packagesPath": "C:\\Users\\bib\\.nuget\\packages\\",
"outputPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\bib\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://www.nuget.org/api/v2/": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"dependencies": {
"Microsoft.Win32.SystemEvents": {
"target": "Package",
"version": "[6.0.0, )"
},
"System.Data.SQLite": {
"target": "Package",
"version": "[1.0.119, )"
},
"iTextSharp": {
"target": "Package",
"version": "[5.5.13.4, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WPF": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.103/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\bib\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.3</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\bib\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)entityframework\6.4.4\buildTransitive\netcoreapp3.0\EntityFramework.props" Condition="Exists('$(NuGetPackageRoot)entityframework\6.4.4\buildTransitive\netcoreapp3.0\EntityFramework.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgEntityFramework Condition=" '$(PkgEntityFramework)' == '' ">C:\Users\bib\.nuget\packages\entityframework\6.4.4</PkgEntityFramework>
<PkgSystem_Data_SQLite_EF6 Condition=" '$(PkgSystem_Data_SQLite_EF6)' == '' ">C:\Users\bib\.nuget\packages\system.data.sqlite.ef6\1.0.119</PkgSystem_Data_SQLite_EF6>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)entityframework\6.4.4\buildTransitive\netcoreapp3.0\EntityFramework.targets" Condition="Exists('$(NuGetPackageRoot)entityframework\6.4.4\buildTransitive\netcoreapp3.0\EntityFramework.targets')" />
</ImportGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
{
"version": 2,
"dgSpecHash": "mklQGtZGXIM=",
"success": true,
"projectFilePath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj",
"expectedPackageFiles": [
"C:\\Users\\bib\\.nuget\\packages\\bouncycastle.cryptography\\2.4.0\\bouncycastle.cryptography.2.4.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\entityframework\\6.4.4\\entityframework.6.4.4.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\itextsharp\\5.5.13.4\\itextsharp.5.5.13.4.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\stub.system.data.sqlite.core.netstandard\\1.0.119\\stub.system.data.sqlite.core.netstandard.1.0.119.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.codedom\\4.7.0\\system.codedom.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.configuration.configurationmanager\\4.7.0\\system.configuration.configurationmanager.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.data.sqlclient\\4.8.1\\system.data.sqlclient.4.8.1.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.data.sqlite\\1.0.119\\system.data.sqlite.1.0.119.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.data.sqlite.core\\1.0.119\\system.data.sqlite.core.1.0.119.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.data.sqlite.ef6\\1.0.119\\system.data.sqlite.ef6.1.0.119.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.drawing.common\\4.7.0\\system.drawing.common.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.security.accesscontrol\\4.7.0\\system.security.accesscontrol.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.security.cryptography.protecteddata\\4.7.0\\system.security.cryptography.protecteddata.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.security.permissions\\4.7.0\\system.security.permissions.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512",
"C:\\Users\\bib\\.nuget\\packages\\system.windows.extensions\\4.7.0\\system.windows.extensions.4.7.0.nupkg.sha512"
],
"logs": [
{
"code": "NU1701",
"level": "Warning",
"warningLevel": 1,
"message": "Das Paket \"iTextSharp 5.5.13.4\" wurde nicht mit dem Projektzielframework \"net8.0-windows7.0\", sondern mit \".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1\" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.",
"libraryId": "iTextSharp",
"targetGraphs": [
"net8.0-windows7.0"
]
}
]
}

9
WpfAppSQLite/App.xaml Normal file
View File

@ -0,0 +1,9 @@
<Application x:Class="WpfAppSQLite.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfAppSQLite"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>

13
WpfAppSQLite/App.xaml.cs Normal file
View File

@ -0,0 +1,13 @@
using System.Configuration;
using System.Data;
using System.Windows;
namespace WpfAppSQLite;
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}

View File

@ -0,0 +1,10 @@
using System.Windows;
[assembly:ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]

View File

@ -0,0 +1,12 @@
<Window x:Class="WpfAppSQLite.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfAppSQLite"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
</Grid>
</Window>

View File

@ -0,0 +1,23 @@
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfAppSQLite;
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}

View File

@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net9.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,72 @@
{
"format": 1,
"restore": {
"C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj": {}
},
"projects": {
"C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj",
"projectName": "WpfAppSQLite",
"projectPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj",
"packagesPath": "C:\\Users\\bib\\.nuget\\packages\\",
"outputPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\bib\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net9.0-windows"
],
"frameworks": {
"net9.0-windows7.0": {
"targetAlias": "net9.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0-windows7.0": {
"targetAlias": "net9.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WPF": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.103/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\bib\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\bib\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,78 @@
{
"version": 3,
"targets": {
"net9.0-windows7.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net9.0-windows7.0": []
},
"packageFolders": {
"C:\\Users\\bib\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj",
"projectName": "WpfAppSQLite",
"projectPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj",
"packagesPath": "C:\\Users\\bib\\.nuget\\packages\\",
"outputPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\bib\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net9.0-windows"
],
"frameworks": {
"net9.0-windows7.0": {
"targetAlias": "net9.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0-windows7.0": {
"targetAlias": "net9.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WPF": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.103/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "v+NRL45U4vk=",
"success": true,
"projectFilePath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfAppSQLite\\WpfAppSQLite.csproj",
"expectedPackageFiles": [],
"logs": []
}