first commit

This commit is contained in:
Blueberry 2025-04-11 15:47:49 +03:00
commit 09caba72f4
246 changed files with 9892 additions and 0 deletions

13
.config/dotnet-tools.json Normal file
View File

@ -0,0 +1,13 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "9.0.3",
"commands": [
"dotnet-ef"
],
"rollForward": false
}
}
}

Binary file not shown.

Binary file not shown.

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

Binary file not shown.

View File

@ -0,0 +1,265 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\Desktop\\Demka0411\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\productlist.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\productlist.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\productlist.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\productlist.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\listpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\listpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka2.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka2.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka2.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka2.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka3.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka3.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\dobavpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\dobavpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\dobavredactproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\dobavredactproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\dobavredactproduct.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\dobavredactproduct.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Product.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Models\\Product.cs",
"RelativeDocumentMoniker": "demo0411\\Models\\Product.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Models\\Product.cs",
"RelativeToolTip": "demo0411\\Models\\Product.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwBsAAAAHAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T12:27:51.721Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "ProductList.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\ProductList.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml.cs",
"RelativeToolTip": "demo0411\\ProductList.axaml.cs",
"ViewState": "AgIAAAYAAAAAAAAAAAAAAB8AAAATAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T12:25:26.172Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ProductList.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml",
"RelativeDocumentMoniker": "demo0411\\ProductList.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml",
"RelativeToolTip": "demo0411\\ProductList.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:24:30.678Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "History.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\History.axaml",
"RelativeDocumentMoniker": "demo0411\\History.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\History.axaml",
"RelativeToolTip": "demo0411\\History.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:24:06.806Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "ListPartner.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ListPartner.axaml",
"RelativeDocumentMoniker": "demo0411\\ListPartner.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ListPartner.axaml",
"RelativeToolTip": "demo0411\\ListPartner.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:19:33.206Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "DobavRedactProduct.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml",
"RelativeDocumentMoniker": "demo0411\\DobavRedactProduct.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml",
"RelativeToolTip": "demo0411\\DobavRedactProduct.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:15:44.163Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "Oshibka2.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml",
"RelativeDocumentMoniker": "demo0411\\Oshibka2.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml",
"RelativeToolTip": "demo0411\\Oshibka2.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:06:01.775Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "Oshibka3.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka3.axaml",
"RelativeDocumentMoniker": "demo0411\\Oshibka3.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka3.axaml",
"RelativeToolTip": "demo0411\\Oshibka3.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T11:52:04Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "DobavPartner.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavPartner.axaml",
"RelativeDocumentMoniker": "demo0411\\DobavPartner.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavPartner.axaml",
"RelativeToolTip": "demo0411\\DobavPartner.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T11:46:27.029Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "MainWindow.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\MainWindow.axaml",
"RelativeDocumentMoniker": "demo0411\\MainWindow.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\MainWindow.axaml",
"RelativeToolTip": "demo0411\\MainWindow.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T11:45:59.93Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "Helper.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Helper.cs",
"RelativeDocumentMoniker": "demo0411\\Helper.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Helper.cs",
"RelativeToolTip": "demo0411\\Helper.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:33:17.565Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Oshibka.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka.axaml",
"RelativeDocumentMoniker": "demo0411\\Oshibka.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka.axaml",
"RelativeToolTip": "demo0411\\Oshibka.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:08:16.621Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Oshibka2.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\Oshibka2.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml.cs",
"RelativeToolTip": "demo0411\\Oshibka2.axaml.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAIAAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:33:33.317Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "DobavRedactProduct.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\DobavRedactProduct.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml.cs",
"RelativeToolTip": "demo0411\\DobavRedactProduct.axaml.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:32:32.541Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "App.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\App.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\App.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\App.axaml.cs",
"RelativeToolTip": "demo0411\\App.axaml.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:31:48.742Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,252 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\Desktop\\Demka0411\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\productlist.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\productlist.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\productlist.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\productlist.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\listpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\listpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka2.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka2.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka2.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka2.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka3.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka3.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\dobavpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\dobavpartner.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\dobavredactproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\dobavredactproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\dobavredactproduct.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\dobavredactproduct.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\oshibka.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\oshibka.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|c:\\users\\prdb\\desktop\\demka0411\\demo0411\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}|demo0411\\DemoProd0411.csproj|solutionrelative:demo0411\\app.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Product.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Models\\Product.cs",
"RelativeDocumentMoniker": "demo0411\\Models\\Product.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Models\\Product.cs",
"RelativeToolTip": "demo0411\\Models\\Product.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAqwBsAAAAHAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T12:27:51.721Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "ProductList.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\ProductList.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml.cs",
"RelativeToolTip": "demo0411\\ProductList.axaml.cs",
"ViewState": "AgIAAAYAAAAAAAAAAAAAAB8AAAATAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T12:25:26.172Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ProductList.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml",
"RelativeDocumentMoniker": "demo0411\\ProductList.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ProductList.axaml",
"RelativeToolTip": "demo0411\\ProductList.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:24:30.678Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "History.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\History.axaml",
"RelativeDocumentMoniker": "demo0411\\History.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\History.axaml",
"RelativeToolTip": "demo0411\\History.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:24:06.806Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "ListPartner.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ListPartner.axaml",
"RelativeDocumentMoniker": "demo0411\\ListPartner.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\ListPartner.axaml",
"RelativeToolTip": "demo0411\\ListPartner.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:19:33.206Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "DobavRedactProduct.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml",
"RelativeDocumentMoniker": "demo0411\\DobavRedactProduct.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml",
"RelativeToolTip": "demo0411\\DobavRedactProduct.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:15:44.163Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "Oshibka2.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml",
"RelativeDocumentMoniker": "demo0411\\Oshibka2.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml",
"RelativeToolTip": "demo0411\\Oshibka2.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:06:01.775Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "Oshibka3.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka3.axaml",
"RelativeDocumentMoniker": "demo0411\\Oshibka3.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka3.axaml",
"RelativeToolTip": "demo0411\\Oshibka3.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T11:52:04Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "DobavPartner.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavPartner.axaml",
"RelativeDocumentMoniker": "demo0411\\DobavPartner.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavPartner.axaml",
"RelativeToolTip": "demo0411\\DobavPartner.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T11:46:27.029Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "MainWindow.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\MainWindow.axaml",
"RelativeDocumentMoniker": "demo0411\\MainWindow.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\MainWindow.axaml",
"RelativeToolTip": "demo0411\\MainWindow.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T11:45:59.93Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "Helper.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Helper.cs",
"RelativeDocumentMoniker": "demo0411\\Helper.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Helper.cs",
"RelativeToolTip": "demo0411\\Helper.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:33:17.565Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Oshibka.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka.axaml",
"RelativeDocumentMoniker": "demo0411\\Oshibka.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka.axaml",
"RelativeToolTip": "demo0411\\Oshibka.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-11T12:08:16.621Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Oshibka2.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\Oshibka2.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\Oshibka2.axaml.cs",
"RelativeToolTip": "demo0411\\Oshibka2.axaml.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAIAAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:33:33.317Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "DobavRedactProduct.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\DobavRedactProduct.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\DobavRedactProduct.axaml.cs",
"RelativeToolTip": "demo0411\\DobavRedactProduct.axaml.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:32:32.541Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "App.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\App.axaml.cs",
"RelativeDocumentMoniker": "demo0411\\App.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demka0411\\demo0411\\App.axaml.cs",
"RelativeToolTip": "demo0411\\App.axaml.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-11T11:31:48.742Z"
}
]
}
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

25
Demo0411.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.13.35825.156
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DemoProd0411", "demo0411\DemoProd0411.csproj", "{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8727E582-B043-4CF6-9C2C-33BEFAF3BA2B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7F75D02B-157A-4C9C-A0AF-A207589D651F}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

View File

@ -0,0 +1,6 @@
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}

Binary file not shown.

View File

@ -0,0 +1,12 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\Desktop\\yp_finall\\demo0411\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": []
}
]
}

BIN
demo0411/.vs/slnx.sqlite Normal file

Binary file not shown.

10
demo0411/App.axaml Normal file
View File

@ -0,0 +1,10 @@
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="demo0411.App"
RequestedThemeVariant="Default">
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
<Application.Styles>
<FluentTheme />
</Application.Styles>
</Application>

23
demo0411/App.axaml.cs Normal file
View File

@ -0,0 +1,23 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
namespace demo0411;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow();
}
base.OnFrameworkInitializationCompleted();
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,138 @@
using System;
using System.Collections.Generic;
using demo0411.Models;
using Microsoft.EntityFrameworkCore;
namespace demo0411.Context;
public partial class User19Context : DbContext
{
public User19Context()
{
}
public User19Context(DbContextOptions<User19Context> options)
: base(options)
{
}
public virtual DbSet<Partner> Partners { get; set; }
public virtual DbSet<PartnerProduct> PartnerProducts { get; set; }
public virtual DbSet<PartnerType> PartnerTypes { get; set; }
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<ProductType> ProductTypes { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263.
=> optionsBuilder.UseNpgsql("Host=45.67.56.214;Username=user19;Password=oplwLVnn;Port=5454;Database=user19");
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Partner>(entity =>
{
entity.HasKey(e => e.Id).HasName("partner_pk");
entity.ToTable("partner", "Product");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Addres)
.HasColumnType("character varying")
.HasColumnName("addres");
entity.Property(e => e.Director)
.HasColumnType("character varying")
.HasColumnName("director");
entity.Property(e => e.Email)
.HasColumnType("character varying")
.HasColumnName("email");
entity.Property(e => e.Inn)
.HasColumnType("character varying")
.HasColumnName("inn");
entity.Property(e => e.Name)
.HasColumnType("character varying")
.HasColumnName("name");
entity.Property(e => e.PartnerTypeId).HasColumnName("partner_type_id");
entity.Property(e => e.Phone)
.HasColumnType("character varying")
.HasColumnName("phone");
entity.Property(e => e.Raiting).HasColumnName("raiting");
entity.HasOne(d => d.PartnerType).WithMany(p => p.Partners)
.HasForeignKey(d => d.PartnerTypeId)
.HasConstraintName("partner_partner_type_fk");
});
modelBuilder.Entity<PartnerProduct>(entity =>
{
entity.HasKey(e => e.Id).HasName("partner_products_pk");
entity.ToTable("partner_products", "Product");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Amount).HasColumnName("amount");
entity.Property(e => e.PartnerId).HasColumnName("partner_id");
entity.Property(e => e.ProductId).HasColumnName("product_id");
entity.Property(e => e.SaleDate).HasColumnName("sale_date");
entity.HasOne(d => d.Partner).WithMany(p => p.PartnerProducts)
.HasForeignKey(d => d.PartnerId)
.HasConstraintName("partner_products_partner_fk");
entity.HasOne(d => d.Product).WithMany(p => p.PartnerProducts)
.HasForeignKey(d => d.ProductId)
.HasConstraintName("partner_products_product_fk");
});
modelBuilder.Entity<PartnerType>(entity =>
{
entity.HasKey(e => e.Id).HasName("partner_type_pk");
entity.ToTable("partner_type", "Product");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Name)
.HasColumnType("character varying")
.HasColumnName("name");
});
modelBuilder.Entity<Product>(entity =>
{
entity.HasKey(e => e.Id).HasName("product_pk");
entity.ToTable("product", "Product");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.MinCost).HasColumnName("min_cost");
entity.Property(e => e.Name)
.HasColumnType("character varying")
.HasColumnName("name");
entity.Property(e => e.TypeId).HasColumnName("type_id");
entity.HasOne(d => d.Type).WithMany(p => p.Products)
.HasForeignKey(d => d.TypeId)
.HasConstraintName("product_product_type_fk");
});
modelBuilder.Entity<ProductType>(entity =>
{
entity.HasKey(e => e.Id).HasName("product_type_pk");
entity.ToTable("product_type", "Product");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Coefficient).HasColumnName("coefficient");
entity.Property(e => e.Name)
.HasColumnType("character varying")
.HasColumnName("name");
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}

View File

@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationManifest>app.manifest</ApplicationManifest>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Avalonia" Version="11.2.1" />
<PackageReference Include="Avalonia.Desktop" Version="11.2.1" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.1" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.1" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Include="Avalonia.Diagnostics" Version="11.2.1">
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.14" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.14">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<AvaloniaResource Include="Assets\**" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.11" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,32 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="demo0411.DobavPartner"
Icon="/Assets/Мастер пол.ico"
x:CompileBindings="False"
Title="DobavPartner">
<StackPanel Margin="5" Background="#F4E8D3">
<TextBlock FontFamily="Segoe UI" Text="Добавление/редактирование партнера" HorizontalAlignment="Center"/>
<TextBlock FontFamily="Segoe UI" Text="Наименование"/>
<TextBox FontFamily="Segoe UI" Name="Name" />
<ComboBox FontFamily="Segoe UI" Name="PartType" Margin="0, 5, 0, 0" SelectionChanged="ComboBox_SelectionChanged"/>
<TextBlock FontFamily="Segoe UI" Text="Рейтинг"/>
<TextBox TextChanged="TextBox_TextChanged" FontFamily="Segoe UI" Name="Reiting" />
<TextBlock FontFamily="Segoe UI" Text="Адрес"/>
<TextBox FontFamily="Segoe UI" Name="Adress"/>
<TextBlock FontFamily="Segoe UI" Text="ФИО директора"/>
<TextBox FontFamily="Segoe UI" Name="FIO"/>
<TextBlock FontFamily="Segoe UI" Text="Телефон"/>
<TextBox TextChanged="TextBox_TextChanged" FontFamily="Segoe UI" Name="Telephone"/>
<TextBlock FontFamily="Segoe UI" Text="Почта"/>
<TextBox FontFamily="Segoe UI" Name="Email"/>
<TextBlock FontFamily="Segoe UI" Text="ИНН"/>
<TextBox TextChanged="TextBox_TextChanged" FontFamily="Segoe UI" Name="inn"/>
<DockPanel>
<Button Background="#67BA80" FontFamily="Segoe UI" Click="Button_Click_1" Margin="0, 5, 0, 0" Content="Назад"/>
<Button Background="#67BA80" FontFamily="Segoe UI" Margin="0, 5, 0, 0" Click="Button_Click" Name="Cont" Content="Добавить"/>
</DockPanel>
</StackPanel>
</Window>

View File

@ -0,0 +1,140 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Media.TextFormatting.Unicode;
using demo0411.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using Tmds.DBus.Protocol;
namespace demo0411;
public partial class DobavPartner : Window
{
private List<PartnerType> partnerTypes;
private int index = 0;
private int zapusk;
private int type;
private bool redact;
private int typeName;
public DobavPartner()
{
InitializeComponent();
partnerTypes = Helper.DbContext.PartnerTypes.ToList();
PartType.ItemsSource = Helper.DbContext.PartnerTypes.Select(s => s.Name).ToList();
zapusk = 0;
}
public DobavPartner(int ind, int stop)
{
zapusk = stop;
InitializeComponent();
zapusk = stop;
Partner partner = new Partner();
partnerTypes = Helper.DbContext.PartnerTypes.ToList();
partner = Helper.DbContext.Partners.ToList().FirstOrDefault(s => s.Id == ind);
Name.Text = partner.Name;
Adress.Text = partner.Addres;
FIO.Text = partner.Director;
inn.Text = Convert.ToString(partner.Inn);
Telephone.Text = partner.Phone;
Email.Text = partner.Email;
Reiting.Text = Convert.ToString(partner.Raiting);
PartType.ItemsSource = Helper.DbContext.PartnerTypes.Select(s => s.Name).ToList();
foreach (var partnertype in partnerTypes)
{
if (partnertype.Id == partner.PartnerTypeId)
{
typeName = partnertype.Id;
typeName--;
break;
}
}
PartType.SelectedIndex = typeName;
index = ind;
redact = true;
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
if (!String.IsNullOrEmpty(Name.Text) && !String.IsNullOrEmpty(Reiting.Text) && !String.IsNullOrEmpty(Adress.Text) && !String.IsNullOrEmpty(FIO.Text) && !String.IsNullOrEmpty(Email.Text) && !String.IsNullOrEmpty(Telephone.Text) && !String.IsNullOrEmpty(inn.Text))
{
if (redact)
{
Partner partner = Helper.DbContext.Partners.FirstOrDefault(s => s.Id == index);
foreach (var part in Helper.DbContext.Partners)
{
if (Name.Text == part.Name && index != part.Id)
{
var dialogWindow = new Oshibka3();
dialogWindow.ShowDialog(this);
return;
}
}
partner.Name = Name.Text;
partner.PartnerTypeId = type;
partner.Director = FIO.Text;
partner.Addres = Adress.Text;
partner.Inn = inn.Text;
partner.Phone = Telephone.Text;
partner.Email = Email.Text;
partner.Raiting = int.Parse(Reiting.Text);
Helper.DbContext.Partners.Update(partner);
Helper.DbContext.SaveChanges();
}
else
{
if (Helper.DbContext.Partners.ToList().Where(t => t.Name == Name.Text).Count() != 0)
{
var dialogWindow = new Oshibka3();
dialogWindow.ShowDialog(this);
return;
}
index = Helper.DbContext.Partners.Count();
index++;
Partner partner = new Partner() { Id = index, Director = FIO.Text, Name = Name.Text, PartnerTypeId = type, Addres = Adress.Text, Inn = inn.Text, Phone = Telephone.Text, Email = Email.Text, Raiting = int.Parse(Reiting.Text) };
Helper.DbContext.Partners.Add(partner);
Helper.DbContext.SaveChanges();
}
new ListPartner().Show();
this.Close();
}
else if (String.IsNullOrEmpty(Name.Text) || String.IsNullOrEmpty(Reiting.Text) || String.IsNullOrEmpty(Adress.Text) || String.IsNullOrEmpty(FIO.Text) || String.IsNullOrEmpty(Email.Text) || String.IsNullOrEmpty(Telephone.Text) || String.IsNullOrEmpty(inn.Text))
{
var dialogWindow = new Oshibka2();
dialogWindow.ShowDialog(this);
}
}
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
{
type = PartType.SelectedIndex;
type++;
}
private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new ListPartner().Show();
Close();
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
if (zapusk == 0)
{
TextBox textBox = (TextBox)sender;
string text = textBox.Text;
if (text.Any(c => !char.IsDigit(c)))
{
OshibkaWindow();
textBox.Text = new string(text.Where(c => char.IsDigit(c)).ToArray());
}
}
else { zapusk--; }
}
private void OshibkaWindow()
{
var dialogWindow = new Oshibka();
dialogWindow.ShowDialog(this);
}
}

View File

@ -0,0 +1,24 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="demo0411.DobavRedactProduct"
Icon="/Assets/Мастер пол.ico"
Title="DobavRedactProduct">
<StackPanel Background="#F4E8D3">
<TextBlock Margin="10 10 10 10" FontFamily="Segoe UI" HorizontalAlignment="Center" Text="Добавление/Редактирование продукта"/>
<TextBlock Margin="10 10 10 10" FontFamily="Segoe UI" Text="Наименование продукта: "/>
<TextBox Margin="10 10 10 10" Name="NameProduct" FontFamily="Segoe UI"/>
<TextBlock Margin="10 10 10 10" FontFamily="Segoe UI" Text="Тип продукта: "/>
<ComboBox Margin="10 10 10 10" SelectionChanged="ComboBox_SelectionChanged" FontFamily="Segoe UI" Name="TypeProd"/>
<TextBlock Margin="10 10 10 10" FontFamily="Segoe UI" Text="Артикул: "/>
<TextBox Margin="10 10 10 10" Name="Art" FontFamily="Segoe UI"/>
<TextBlock Margin="10 10 10 10" FontFamily="Segoe UI" Text="Минимальная стоимость: "/>
<TextBox Margin="10 10 10 10" TextChanged="TextBox_TextChanged" Name="MinCostProduct" FontFamily="Segoe UI"/>
<DockPanel>
<Button FontFamily="Segoe UI" Background="#67BA80" Content="Назад" Click="Button_Click"/>
<Button HorizontalAlignment="Center" FontFamily="Segoe UI" Background="#67BA80" Click="Button_Click_1" Content="Добавить"/>
</DockPanel>
</StackPanel>
</Window>

View File

@ -0,0 +1,132 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.Shapes;
using Avalonia.Markup.Xaml;
using demo0411.Models;
using Metsys.Bson;
using System.Linq;
using System;
namespace demo0411;
public partial class DobavRedactProduct : Window
{
private int idArticl;
private int typeProduct;
private bool redact = false;
public DobavRedactProduct()
{
InitializeComponent();
TypeProd.ItemsSource = Helper.DbContext.ProductTypes.Select(a => a.Name).ToList();
GeneretArticl();
Art.Text = Convert.ToString(idArticl);
}
public DobavRedactProduct(int id)
{
InitializeComponent();
TypeProd.ItemsSource = Helper.DbContext.ProductTypes.Select(a => a.Name).ToList();
idArticl = id;
Product product = new Product();
product = Helper.DbContext.Products.ToList().FirstOrDefault(s => s.Id == idArticl);
NameProduct.Text = product.Name;
typeProduct = (int)product.TypeId;
if (typeProduct == 4)
{
typeProduct = 3;
}
typeProduct--;
MinCostProduct.Text = Convert.ToString(product.MinCost);
Art.Text = Convert.ToString(idArticl);
Art.IsEnabled = false;
TypeProd.SelectedIndex = typeProduct;
redact = true;
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new ProductList().Show();
Close();
}
private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
if (redact == false)
{
if (Helper.DbContext.Products.ToList().Where(t => t.Name == NameProduct.Text).Count() != 0)
{
var dialogWindow = new Oshibka3();
dialogWindow.ShowDialog(this);
return;
}
Product product = new Product();
product.Id = idArticl;
product.TypeId = typeProduct;
product.Name = NameProduct.Text;
product.MinCost = float.Parse(MinCostProduct.Text);
Helper.DbContext.Products.Add(product);
Helper.DbContext.SaveChanges();
}
else
{
foreach (var part in Helper.DbContext.Partners)
{
if (NameProduct.Text == part.Name && idArticl != part.Id)
{
var dialogWindow = new Oshibka3();
dialogWindow.ShowDialog(this);
return;
}
}
Product product = new Product();
product = Helper.DbContext.Products.ToList().FirstOrDefault(s => s.Id == idArticl);
product.TypeId = typeProduct;
product.Name = NameProduct.Text;
product.MinCost = float.Parse(MinCostProduct.Text);
Helper.DbContext.Products.Update(product);
Helper.DbContext.SaveChanges();
}
new ProductList().Show();
Close();
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
TextBox textBox = (TextBox)sender;
string text = textBox.Text;
if (text.Any(c => !char.IsDigit(c)))
{
OshibkaWindow();
textBox.Text = new string(text.Where(c => char.IsDigit(c)).ToArray());
}
}
private void OshibkaWindow()
{
var dialogWindow = new Oshibka();
dialogWindow.ShowDialog(this);
}
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
{
typeProduct = TypeProd.SelectedIndex;
typeProduct++;
if (typeProduct == 4)
{
typeProduct = 1;
}
}
private void GeneretArticl()
{
Random random = new Random();
idArticl = random.Next(1000000, 9999999);
foreach (var products in Helper.DbContext.Products)
{
if (products.Id == idArticl)
{
GeneretArticl();
}
}
}
}

14
demo0411/Helper.cs Normal file
View File

@ -0,0 +1,14 @@
using demo0411.Context;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace demo0411
{
public static class Helper
{
public static User19Context DbContext = new User19Context();
}
}

35
demo0411/History.axaml Normal file
View File

@ -0,0 +1,35 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="demo0411.History"
x:CompileBindings="False"
Title="History"
Icon="/Assets/Мастер пол.ico">
<StackPanel>
<TextBlock Text="История реализации продукции" FontFamily="Segoe UI" HorizontalAlignment="Center"/>
<DockPanel>
<TextBlock FontFamily="Segoe UI" Text="Выберите партнера, чтобы увидеть историю реализации продукции: "/>
<ComboBox FontFamily="Segoe UI" SelectionChanged="ComboBox_SelectionChanged" Name="PartName"/>
</DockPanel>
<ListBox FontFamily="Segoe UI" Name="ListProducts" DockPanel.Dock="Bottom" Background="#F4E8D3" Height="400">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="2">
<StackPanel>
<TextBlock FontFamily="Segoe UI" Text="Наименование товара"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Product.Name}"/>
<TextBlock FontFamily="Segoe UI" Text="Количество"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Amount}"/>
<TextBlock FontFamily="Segoe UI" Text="Дата продажи"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding SaleDate}"/>
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button Click="Button_Click" Content="Назад" Background="#67BA80" FontFamily="Segoe UI"/>
</StackPanel>
</Window>

57
demo0411/History.axaml.cs Normal file
View File

@ -0,0 +1,57 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Metsys.Bson;
using Microsoft.EntityFrameworkCore;
using demo0411.Models;
using System.Collections.Generic;
using System.Linq;
namespace demo0411;
public partial class History : Window
{
private List<PartnerProduct> partnerProducts;
private List<Partner> partners;
private int namePart;
private int retur;
public History()
{
InitializeComponent();
partnerProducts = Helper.DbContext.PartnerProducts.Include(c => c.Product).Include(s => s.Partner).ToList();
partners = Helper.DbContext.Partners.Include(c => c.PartnerType).ToList();
PartName.ItemsSource = partners.Select(s => s.Name).ToList();
}
public History(int log)
{
InitializeComponent();
retur = log;
partnerProducts = Helper.DbContext.PartnerProducts.Include(c => c.Product).Include(s => s.Partner).ToList();
partners = Helper.DbContext.Partners.Include(c => c.PartnerType).ToList();
PartName.ItemsSource = partners.Select(s => s.Name).ToList();
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
if (retur == 1)
{
new ListPartner().Show();
Close();
}
else
{
new ProductList().Show();
Close();
}
}
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
{
namePart = PartName.SelectedIndex;
namePart++;
Start(namePart);
}
private void Start(int id)
{
ListProducts.ItemsSource = partnerProducts.Where(s => s.PartnerId == id);
}
}

View File

@ -0,0 +1,47 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="450"
x:Class="demo0411.ListPartner"
x:CompileBindings="False"
Icon="/Assets/Мастер пол.ico"
Title="ListPartner">
<StackPanel>
<TextBlock FontFamily="Segoe UI" Text="Список партнеров" HorizontalAlignment="Center" FontSize="24"/>
<Border BorderBrush="Black" BorderThickness="2" Margin="5">
<ListBox Name="ListPartners" DockPanel.Dock="Bottom" Background="#F4E8D3" Height="400">
<ListBox.ItemTemplate>
<DataTemplate>
<Border Background="#F4E8D3" Tag="{Binding Id}" DoubleTapped="Border_DoubleTapped" BorderBrush="Black" BorderThickness="2">
<Grid ColumnDefinitions="350, 150">
<StackPanel Grid.Column="0" Margin="5">
<DockPanel >
<TextBlock FontFamily="Segoe UI" Text="{Binding PartnerType.Name}" FontSize="18"/>
<TextBlock FontFamily="Segoe UI" Text="|" FontSize="18"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Name}" FontSize="18"/>
</DockPanel>
<TextBlock FontFamily="Segoe UI" Text="{Binding Director}"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Phone}"/>
<DockPanel>
<TextBlock FontFamily="Segoe UI" Text="Рейтинг: "/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Raiting}"/>
</DockPanel>
</StackPanel>
<DockPanel Margin="0, 10, 0, 0" Grid.Column="1">
<TextBlock FontFamily="Segoe UI" HorizontalAlignment="Right" Text="{Binding Sale}"/>
<TextBlock FontFamily="Segoe UI" Text="%"/>
</DockPanel>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
<DockPanel>
<Button Background="#67BA80" FontFamily="Segoe UI" Content="Добавить партнера" Click="Button_Click"/>
<Button Background="#67BA80" FontFamily="Segoe UI" Content="История товаров" Click="Button_Click_1"/>
<Button Background="#67BA80" Content="Назад" Click="Button_Click_2"/>
</DockPanel>
</StackPanel>
</Window>

View File

@ -0,0 +1,46 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using demo0411.Models;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
namespace demo0411;
public partial class ListPartner : Window
{
private List<Partner> partners;
private int log;
public ListPartner()
{
InitializeComponent();
partners = Helper.DbContext.Partners.Include(c => c.PartnerType).ToList();
ListPartners.ItemsSource = partners;
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new DobavPartner().Show();
Close();
}
private void Border_DoubleTapped(object? sender, Avalonia.Input.TappedEventArgs e)
{
int stop = 3;
new DobavPartner(int.Parse((sender as Border).Tag.ToString()), stop).Show();
Close();
}
private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
log = 1;
new History(log).Show();
Close();
}
private void Button_Click_2(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new MainWindow().Show();
Close();
}
}

19
demo0411/MainWindow.axaml Normal file
View File

@ -0,0 +1,19 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" Width="700" Height="450"
x:Class="demo0411.MainWindow"
x:CompileBindings="False"
Icon="/Assets/Мастер пол.ico"
Title="demo0411">
<Border Background="#F4E8D3" BorderThickness="2" Margin="5">
<StackPanel Margin="5">
<TextBlock Margin="10" Text="Выберите, какой список вы хотите просмотреть." HorizontalAlignment="Center"/>
<DockPanel Margin="100, 300">
<Button Background="#67BA80" FontFamily="Segoe UI" Content="Список партнеров" Click="Button_Click"/>
<Button Background="#67BA80" HorizontalAlignment="Right" FontFamily="Segoe UI" Content="Список продуктов" Click="Button_Click_1"/>
</DockPanel>
</StackPanel>
</Border>
</Window>

View File

@ -0,0 +1,25 @@
using Avalonia.Controls;
using Microsoft.EntityFrameworkCore;
using System.Linq;
namespace demo0411;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new ListPartner().Show();
Close();
}
private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new ProductList().Show();
Close();
}
}

View File

@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace demo0411.Models;
public partial class Partner
{
public int Id { get; set; }
public string? Name { get; set; }
public string? Director { get; set; }
public string? Email { get; set; }
public string? Phone { get; set; }
public string? Addres { get; set; }
public string? Inn { get; set; }
public int? Raiting { get; set; }
public int? PartnerTypeId { get; set; }
public int Sale
{
get
{
switch (PartnerProducts.Select(c => c.Amount).Sum())
{
case < 10000:
return 0;
case < 50000:
return 5;
case < 300000:
return 10;
case > 300000:
return 15;
}
return 0;
}
}
public virtual ICollection<PartnerProduct> PartnerProducts { get; set; } = new List<PartnerProduct>();
public virtual PartnerType? PartnerType { get; set; }
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
namespace demo0411.Models;
public partial class PartnerProduct
{
public int Id { get; set; }
public int? ProductId { get; set; }
public int? PartnerId { get; set; }
public int? Amount { get; set; }
public DateOnly? SaleDate { get; set; }
public virtual Partner? Partner { get; set; }
public virtual Product? Product { get; set; }
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
namespace demo0411.Models;
public partial class PartnerType
{
public int Id { get; set; }
public string? Name { get; set; }
public virtual ICollection<Partner> Partners { get; set; } = new List<Partner>();
}

View File

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace demo0411.Models;
public partial class Product
{
public int Id { get; set; }
public int? TypeId { get; set; }
public string? Name { get; set; }
public float? MinCost { get; set; }
//public string BackgroundColor
//{
// get
// {
// switch (PartnerProducts.Where(a => a.SaleDate.Value.Year == 2024).Select(c => c.Amount).Sum())
// {
// case < 10000: return "Red";
// case < 60000: return "Orange";
// case >= 60000: return "Green";
// }
// return "#F4E8D3";
// }
//}
public virtual ICollection<PartnerProduct> PartnerProducts { get; set; } = new List<PartnerProduct>();
public virtual ProductType? Type { get; set; }
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace demo0411.Models;
public partial class ProductType
{
public int Id { get; set; }
public float? Coefficient { get; set; }
public string? Name { get; set; }
public virtual ICollection<Product> Products { get; set; } = new List<Product>();
}

15
demo0411/Oshibka.axaml Normal file
View File

@ -0,0 +1,15 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="350"
x:Class="demo0411.Oshibka"
Title="Oshibka"
Icon="/Assets/Мастер пол.ico">
<StackPanel Background="#F4E8D3">
<TextBlock TextWrapping="Wrap" Margin="20 20" HorizontalAlignment="Center" Text="Не верное введение данных"/>
<TextBlock TextWrapping="Wrap" Margin="20 20" HorizontalAlignment="Center" Text="Была введена буква или символ в поле, где можно вводить только числа"/>
<Button Margin="20 20" HorizontalAlignment="Center" Click="Button_Click" Content="Назад" Background="#67BA80" FontFamily="Segoe UI"/>
</StackPanel>
</Window>

18
demo0411/Oshibka.axaml.cs Normal file
View File

@ -0,0 +1,18 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace demo0411;
public partial class Oshibka : Window
{
public Oshibka()
{
InitializeComponent();
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
Close();
}
}

14
demo0411/Oshibka2.axaml Normal file
View File

@ -0,0 +1,14 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="350"
x:Class="demo0411.Oshibka2"
Icon="/Assets/Мастер пол.ico"
Title="Oshibka2">
<StackPanel Background="#F4E8D3">
<TextBlock Margin="20 20" HorizontalAlignment="Center" Text="Не все поля имеют данные"/>
<TextBlock Margin="20 20" HorizontalAlignment="Center" Text="Было обнаружено поле(я), в котором(ых) нет данных."/>
<Button Margin="20 20" HorizontalAlignment="Center" Click="Button_Click" Content="Назад" Background="#67BA80" FontFamily="Segoe UI"/>
</StackPanel>
</Window>

View File

@ -0,0 +1,17 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace demo0411;
public partial class Oshibka2 : Window
{
public Oshibka2()
{
InitializeComponent();
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
Close();
}
}

16
demo0411/Oshibka3.axaml Normal file
View File

@ -0,0 +1,16 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="350"
x:Class="demo0411.Oshibka3"
Title="Oshibka3"
Icon="/Assets/Мастер пол.ico">
<StackPanel Background="#F4E8D3">
<TextBlock Margin="20 20" HorizontalAlignment="Center" Text="Ошибка данных"/>
<TextBlock Margin="20 20" HorizontalAlignment="Center" Text="Введенное имя пользователя уже существует."/>
<Button Click="Button_Click" Content="Назад" HorizontalAlignment="Center" Background="#67BA80" FontFamily="Segoe UI"/>
</StackPanel>
</Window>

View File

@ -0,0 +1,17 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace demo0411;
public partial class Oshibka3 : Window
{
public Oshibka3()
{
InitializeComponent();
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
Close();
}
}

View File

@ -0,0 +1,58 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="demo0411.ProductList"
x:CompileBindings="False"
Icon="/Assets/Мастер пол.ico"
Title="ProductList">
<StackPanel>
<TextBlock FontFamily="Segoe UI" Text="Список продуктов" HorizontalAlignment="Center"/>
<ListBox Background="#F4E8D3" SelectionMode="Single" Height="400" Name="ListPartnerProduct" Margin="5">
<ListBox.ItemTemplate>
<DataTemplate>
<Border Tag="{Binding Id}" DoubleTapped="Border_DoubleTapped" Background="#F4E8D3" BorderBrush="Black" BorderThickness="2">
<StackPanel>
<TextBlock FontFamily="Segoe UI" Text="{Binding Id}" HorizontalAlignment="Right"/>
<TextBlock FontFamily="Segoe UI" Text="Название продукта"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Name}"/>
<TextBlock FontFamily="Segoe UI" Text="Тип продукта"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Type.Name}"/>
<TextBlock FontFamily="Segoe UI" Text="Коэфф продукта"/>
<TextBlock FontFamily="Segoe UI" Text="{Binding Type.Coefficient}"/>
<DockPanel>
<TextBlock Margin="20 40" FontFamily="Segoe UI" Text="Есть у соедующих партнеров:"/>
<ListBox Background="#F4E8D3" ItemsSource="{Binding PartnerProducts}" Height="100" ScrollViewer.HorizontalScrollBarVisibility="Visible">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border CornerRadius="10">
<TextBlock Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Partner.Name}" />
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<DockPanel>
<Button Background="#67BA80" Content="Добавить товар" Click="Button_Click"/>
<Button Background="#67BA80" Content="История реализации товаров" Click="Button_Click_1"/>
</DockPanel>
<StackPanel>
<Button Margin="20 40" Background="#67BA80" Content="Назад" Click="Button_Click_2"/>
</StackPanel>
</StackPanel>
</Window>

View File

@ -0,0 +1,41 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Microsoft.EntityFrameworkCore;
using System.Linq;
namespace demo0411;
public partial class ProductList : Window
{
private int log;
public ProductList()
{
InitializeComponent();
ListPartnerProduct.ItemsSource = Helper.DbContext.Products.Include(a => a.Type).Include(a => a.PartnerProducts).ThenInclude(a => a.Partner).ToList();
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new DobavRedactProduct().Show();
Close();
}
private void Border_DoubleTapped(object? sender, Avalonia.Input.TappedEventArgs e)
{
new DobavRedactProduct(int.Parse((sender as Border).Tag.ToString())).Show();
Close();
}
private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
log = 2;
new History(log).Show();
Close();
}
private void Button_Click_2(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new MainWindow().Show();
Close();
}
}

21
demo0411/Program.cs Normal file
View File

@ -0,0 +1,21 @@
using Avalonia;
using System;
namespace demo0411;
class Program
{
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.LogToTrace();
}

18
demo0411/app.manifest Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- This manifest is used on Windows only.
Don't remove it as it might cause problems with window transparency and embedded controls.
For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests -->
<assemblyIdentity version="1.0.0.0" name="demo0411.Desktop"/>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
</assembly>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Reflection.NullabilityInfoContext.IsSupported": true,
"System.Runtime.InteropServices.BuiltInComInterop.IsSupported": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More