first commit

This commit is contained in:
Blueberry 2025-04-11 11:22:09 +03:00
commit 0de516817e
355 changed files with 10483 additions and 0 deletions

Binary file not shown.

Binary file not shown.

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

Binary file not shown.

View File

@ -0,0 +1,241 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\Desktop\\Demo2703\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\demo2703.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\demo2703.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\addedit.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\addedit.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\history.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\history.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\addedit.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\addedit.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\migrations\\20250408220921_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\migrations\\20250408220921_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\context\\user19context.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\context\\user19context.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\models\\manufacturer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\models\\manufacturer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 1,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedHeight": 322,
"SelectedChildIndex": 6,
"Children": [
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "History.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml",
"RelativeDocumentMoniker": "Demo2703\\History.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml",
"RelativeToolTip": "Demo2703\\History.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-10T17:15:21.64Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "History.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml.cs",
"RelativeDocumentMoniker": "Demo2703\\History.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml.cs",
"RelativeToolTip": "Demo2703\\History.axaml.cs",
"ViewState": "AgIAAAYAAAAAAAAAAAAAABQAAAB3AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-10T17:15:21.314Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "AddEdit.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml.cs",
"RelativeDocumentMoniker": "Demo2703\\AddEdit.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml.cs",
"RelativeToolTip": "Demo2703\\AddEdit.axaml.cs",
"ViewState": "AgIAADAAAAAAAAAAAAAawDsAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-03T17:10:37.419Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "AddEdit.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml",
"RelativeDocumentMoniker": "Demo2703\\AddEdit.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml",
"RelativeToolTip": "Demo2703\\AddEdit.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-03T16:56:00.906Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MainWindow.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml",
"RelativeDocumentMoniker": "Demo2703\\MainWindow.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml",
"RelativeToolTip": "Demo2703\\MainWindow.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-03-27T08:27:08.723Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "MainWindow.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml.cs",
"RelativeDocumentMoniker": "Demo2703\\MainWindow.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml.cs",
"RelativeToolTip": "Demo2703\\MainWindow.axaml.cs",
"ViewState": "AgIAABgAAAAAAAAAAAAYwCQAAAB6AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-27T08:27:03.901Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Demo2703.csproj",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Demo2703.csproj",
"RelativeDocumentMoniker": "Demo2703\\Demo2703.csproj",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Demo2703.csproj",
"RelativeToolTip": "Demo2703\\Demo2703.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2025-04-03T16:28:04.703Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Product.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Product.cs",
"RelativeDocumentMoniker": "Demo2703\\Models\\Product.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Product.cs",
"RelativeToolTip": "Demo2703\\Models\\Product.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-03T16:30:26.668Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "Helper.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Helper.cs",
"RelativeDocumentMoniker": "Demo2703\\Helper.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Helper.cs",
"RelativeToolTip": "Demo2703\\Helper.cs",
"ViewState": "AgIAABQAAAAAAAAAAAAAwCYAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-27T12:11:16.789Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "Productsale.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Productsale.cs",
"RelativeDocumentMoniker": "Demo2703\\Models\\Productsale.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Productsale.cs",
"RelativeToolTip": "Demo2703\\Models\\Productsale.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAxwA0AAAAPAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-10T17:53:25.776Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Manufacturer.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Manufacturer.cs",
"RelativeDocumentMoniker": "Demo2703\\Models\\Manufacturer.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Manufacturer.cs",
"RelativeToolTip": "Demo2703\\Models\\Manufacturer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-03T17:54:18.443Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "20250408220921_InitialCreate.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"RelativeDocumentMoniker": "Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"RelativeToolTip": "Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"ViewState": "AgIAAAgAAAAAAAAAAAAxwAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-10T16:17:27.5Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "Microsoft.Common.CurrentVersion.targets",
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"RelativeDocumentMoniker": "..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"RelativeToolTip": "..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"ViewState": "AgIAAOQUAAAAAAAAAAArwPQUAAAEAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
"WhenOpened": "2025-04-10T16:38:58.906Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "User19Context.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Context\\User19Context.cs",
"RelativeDocumentMoniker": "Demo2703\\Context\\User19Context.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Context\\User19Context.cs",
"RelativeToolTip": "Demo2703\\Context\\User19Context.cs",
"ViewState": "AgIAANYAAAAAAAAAAAAqwF4BAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-27T12:10:43.749Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,241 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\prdb\\Desktop\\Demo2703\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\demo2703.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\demo2703.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\addedit.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\addedit.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\history.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\history.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\history.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\addedit.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\addedit.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\migrations\\20250408220921_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\migrations\\20250408220921_initialcreate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\context\\user19context.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\context\\user19context.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|c:\\users\\prdb\\desktop\\demo2703\\demo2703\\models\\manufacturer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}|Demo2703\\Demo2703.csproj|solutionrelative:demo2703\\models\\manufacturer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 1,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedHeight": 322,
"SelectedChildIndex": 6,
"Children": [
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "History.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml",
"RelativeDocumentMoniker": "Demo2703\\History.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml",
"RelativeToolTip": "Demo2703\\History.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-10T17:15:21.64Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "History.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml.cs",
"RelativeDocumentMoniker": "Demo2703\\History.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\History.axaml.cs",
"RelativeToolTip": "Demo2703\\History.axaml.cs",
"ViewState": "AgIAAAYAAAAAAAAAAAAAABQAAAB3AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-10T17:15:21.314Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "AddEdit.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml.cs",
"RelativeDocumentMoniker": "Demo2703\\AddEdit.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml.cs",
"RelativeToolTip": "Demo2703\\AddEdit.axaml.cs",
"ViewState": "AgIAADAAAAAAAAAAAAAawDsAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-03T17:10:37.419Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "AddEdit.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml",
"RelativeDocumentMoniker": "Demo2703\\AddEdit.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\AddEdit.axaml",
"RelativeToolTip": "Demo2703\\AddEdit.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-04-03T16:56:00.906Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MainWindow.axaml",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml",
"RelativeDocumentMoniker": "Demo2703\\MainWindow.axaml",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml",
"RelativeToolTip": "Demo2703\\MainWindow.axaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2025-03-27T08:27:08.723Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "MainWindow.axaml.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml.cs",
"RelativeDocumentMoniker": "Demo2703\\MainWindow.axaml.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\MainWindow.axaml.cs",
"RelativeToolTip": "Demo2703\\MainWindow.axaml.cs",
"ViewState": "AgIAABgAAAAAAAAAAAAYwCQAAAB6AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-27T08:27:03.901Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Demo2703.csproj",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Demo2703.csproj",
"RelativeDocumentMoniker": "Demo2703\\Demo2703.csproj",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Demo2703.csproj",
"RelativeToolTip": "Demo2703\\Demo2703.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2025-04-03T16:28:04.703Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Product.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Product.cs",
"RelativeDocumentMoniker": "Demo2703\\Models\\Product.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Product.cs",
"RelativeToolTip": "Demo2703\\Models\\Product.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-03T16:30:26.668Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "Helper.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Helper.cs",
"RelativeDocumentMoniker": "Demo2703\\Helper.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Helper.cs",
"RelativeToolTip": "Demo2703\\Helper.cs",
"ViewState": "AgIAABQAAAAAAAAAAAAAwCYAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-27T12:11:16.789Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "Productsale.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Productsale.cs",
"RelativeDocumentMoniker": "Demo2703\\Models\\Productsale.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Productsale.cs",
"RelativeToolTip": "Demo2703\\Models\\Productsale.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAxwA0AAAAPAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-10T17:53:25.776Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Manufacturer.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Manufacturer.cs",
"RelativeDocumentMoniker": "Demo2703\\Models\\Manufacturer.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Models\\Manufacturer.cs",
"RelativeToolTip": "Demo2703\\Models\\Manufacturer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-03T17:54:18.443Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "20250408220921_InitialCreate.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"RelativeDocumentMoniker": "Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"RelativeToolTip": "Demo2703\\Migrations\\20250408220921_InitialCreate.cs",
"ViewState": "AgIAAAgAAAAAAAAAAAAxwAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-10T16:17:27.5Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "Microsoft.Common.CurrentVersion.targets",
"DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"RelativeDocumentMoniker": "..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"RelativeToolTip": "..\\..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
"ViewState": "AgIAAOQUAAAAAAAAAAArwPQUAAAEAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
"WhenOpened": "2025-04-10T16:38:58.906Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "User19Context.cs",
"DocumentMoniker": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Context\\User19Context.cs",
"RelativeDocumentMoniker": "Demo2703\\Context\\User19Context.cs",
"ToolTip": "C:\\Users\\prdb\\Desktop\\Demo2703\\Demo2703\\Context\\User19Context.cs",
"RelativeToolTip": "Demo2703\\Context\\User19Context.cs",
"ViewState": "AgIAANYAAAAAAAAAAAAqwF4BAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-27T12:10:43.749Z"
}
]
}
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

25
Demo2703.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 d17.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo2703", "Demo2703\Demo2703.csproj", "{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D1444C7-3DF7-45D3-9377-8B09A0E13BE5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {ED858B3B-A60D-416A-BB6A-2E9EB294833A}
EndGlobalSection
EndGlobal

View File

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

44
Demo2703/AddEdit.axaml Normal file
View File

@ -0,0 +1,44 @@
<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="Demo2703.AddEdit"
x:CompileBindings="False"
Title="AddEdit">
<StackPanel Orientation="Horizontal">
<Border Background="#E7FABF" Margin="20" HorizontalAlignment="Left" BorderBrush="Blue" BorderThickness="1" Width="200" Height="200" >
<Image Name="ImageName"/>
</Border>
<StackPanel HorizontalAlignment="Stretch">
<DockPanel HorizontalAlignment="Center">
<TextBlock Text="Название:" FontSize="20"/>
<TextBox Margin="10, 0, 70, 20" Name="NameProduct "/>
</DockPanel>
<DockPanel HorizontalAlignment="Center">
<TextBlock Text="Цена:" FontSize="20"/>
<TextBox Margin="10, 0, 70, 20" Name="CostProduct "/>
</DockPanel>
<DockPanel HorizontalAlignment="Center">
<TextBlock Text="Описание:" FontSize="20"/>
<TextBox Margin="10, 0, 70, 20" Name="OpisanieProduct "/>
</DockPanel>
<DockPanel HorizontalAlignment="Center">
<TextBlock Text="Производитель:" FontSize="20"/>
<ComboBox Name="ManufackturerCombobox" Margin="10, 0, 70, 20" >
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DockPanel>
<Button Content="Добавить" Margin="40" Click="Button_Click" Background="#E7FABF" FontSize="20"/>
<Button Margin="0" Click="AddImage" Content="Добавить картинку" Background="#E7FABF" FontSize="20"/>
</StackPanel>
</StackPanel>
</Window>

100
Demo2703/AddEdit.axaml.cs Normal file
View File

@ -0,0 +1,100 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Media.Imaging;
using Avalonia.Platform.Storage;
using Demo2703.Models;
using Microsoft.EntityFrameworkCore;
using System;
using System.IO;
using System.Linq;
namespace Demo2703;
public partial class AddEdit : Window
{
int IndexId = -1; //íóæíî äëÿ ïðîâåðêè äîáàâëÿåòñÿ ëè íîâûé ýëåìåíò (òîãäà -1), èëè ðåäàêòèðóåòñÿ (òîãäà îí ïîòîì ïåðåçàïèñûâàåòñÿ íà àêòóàëüíûé àéäè)
public AddEdit()
{
InitializeComponent();
ManufackturerCombobox.ItemsSource = Helper.DBContext.Manufacturers.ToList();
}
public AddEdit( int Id)
{
InitializeComponent();
//ðåäàêòèðîâàíèå
IndexId = Id;
ManufackturerCombobox.ItemsSource = Helper.DBContext.Manufacturers.ToList();
//ïåðåäà÷à â ñîçäàííûé ýêçåìïëÿð êëàññà ëèñòà ñ ïðîäóêòîì ïîñðåäñòâîì ñðàâíåíèÿ àéäè èç áàçû ñ àéäè êîòîðûé ïåðåäàåòñÿ â êîíñòðóêòîðå
Product OldProduct = Helper.DBContext.Products.Include(hermozhovyj => hermozhovyj.Manufacturer).ToList().FirstOrDefault(dryn => dryn.Id == Id);
//IdProducta.Text = OldProduct.Id.ToString();
NameProduct.Text = OldProduct.Title;
CostProduct.Text = OldProduct.Cost.ToString();
OpisanieProduct.Text = OldProduct.Description;
ManufackturerCombobox.SelectedItem = OldProduct.Manufacturer;
ImageName.Source = OldProduct.Image;
}
//äîáàâëåíèå
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
if (IndexId == -1)
{
Product NewProduct = new Product();
int a = Helper.DBContext.Products.Count();
a++;
NewProduct.Id = a;
NewProduct.Title = NameProduct.Text;
NewProduct.Cost = Decimal.Parse(CostProduct.Text);
NewProduct.Description = OpisanieProduct.Text;
NewProduct.Manufacturerid = (ManufackturerCombobox.SelectedItem as Manufacturer).Id;
if (_imagePath != "")
{
NewProduct.Mainimagepath = _imageName;
File.Copy(_imagePath, Environment.CurrentDirectory + "/" + _imageName);
}
Helper.DBContext.Products.Add(NewProduct);
Helper.DBContext.SaveChanges();
}
//ðåäàêòèðîâàíèå
else
{
Product OldProduct = Helper.DBContext.Products.FirstOrDefault(w => w.Id == IndexId);
OldProduct.Title = NameProduct.Text;
OldProduct.Cost = Decimal.Parse(CostProduct.Text);
OldProduct.Description = OpisanieProduct.Text;
OldProduct.Manufacturerid = (ManufackturerCombobox.SelectedItem as Manufacturer).Id;
if (_imagePath != "")
{
OldProduct.Mainimagepath = _imageName;
File.Copy(_imagePath, Environment.CurrentDirectory + "/" + _imageName);
}
Helper.DBContext.Products.Update(OldProduct);
Helper.DBContext.SaveChanges();
}
new MainWindow().Show();
Close();
}
string _imageName = "";
string _imagePath = "";
private async void AddImage(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
var topLevel = TopLevel.GetTopLevel(this);
var files = await topLevel.StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions { Title = "Âûáåðèòå êàðòèíêó" });
if (files.Count() != 0)
{
try
{
_imagePath = files[0].Path.LocalPath;
ImageName.Source = new Bitmap(_imagePath);
_imageName = $"Òîâàðû øêîëû/{Guid.NewGuid()}{_imagePath.Substring(_imagePath.LastIndexOf('.'), _imagePath.Length - _imagePath.LastIndexOf('.'))}";
}
catch { }
}
}
}

10
Demo2703/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="Demo2703.App"
RequestedThemeVariant="Default">
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
<Application.Styles>
<FluentTheme />
</Application.Styles>
</Application>

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

@ -0,0 +1,23 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
namespace Demo2703;
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();
}
}

View File

@ -0,0 +1,351 @@
using System;
using System.Collections.Generic;
using Demo2703.Models;
using Microsoft.EntityFrameworkCore;
namespace Demo2703.Context;
public partial class User19Context : DbContext
{
public User19Context()
{
}
public User19Context(DbContextOptions<User19Context> options)
: base(options)
{
}
public virtual DbSet<Client> Clients { get; set; }
public virtual DbSet<Clientservice> Clientservices { get; set; }
public virtual DbSet<Documentbyservice> Documentbyservices { get; set; }
public virtual DbSet<Gender> Genders { get; set; }
public virtual DbSet<Manufacturer> Manufacturers { get; set; }
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<Productphoto> Productphotos { get; set; }
public virtual DbSet<Productsale> Productsales { get; set; }
public virtual DbSet<Service> Services { get; set; }
public virtual DbSet<Servicephoto> Servicephotos { get; set; }
public virtual DbSet<Tag> Tags { 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<Client>(entity =>
{
entity.HasKey(e => e.Id).HasName("client_pkey");
entity.ToTable("client", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Birthday).HasColumnName("birthday");
entity.Property(e => e.Email)
.HasMaxLength(255)
.HasColumnName("email");
entity.Property(e => e.Firstname)
.HasMaxLength(50)
.HasColumnName("firstname");
entity.Property(e => e.Gendercode)
.HasMaxLength(1)
.HasColumnName("gendercode");
entity.Property(e => e.Lastname)
.HasMaxLength(50)
.HasColumnName("lastname");
entity.Property(e => e.Patronymic)
.HasMaxLength(50)
.HasColumnName("patronymic");
entity.Property(e => e.Phone)
.HasMaxLength(20)
.HasColumnName("phone");
entity.Property(e => e.Photopath)
.HasMaxLength(1000)
.HasColumnName("photopath");
entity.Property(e => e.Registrationdate).HasColumnName("registrationdate");
entity.HasOne(d => d.GendercodeNavigation).WithMany(p => p.Clients)
.HasForeignKey(d => d.Gendercode)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_client_gender");
entity.HasMany(d => d.Tags).WithMany(p => p.Clients)
.UsingEntity<Dictionary<string, object>>(
"Tagofclient",
r => r.HasOne<Tag>().WithMany()
.HasForeignKey("Tagid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_tagofclient_tag"),
l => l.HasOne<Client>().WithMany()
.HasForeignKey("Clientid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_tagofclient_client"),
j =>
{
j.HasKey("Clientid", "Tagid").HasName("tagofclient_pkey");
j.ToTable("tagofclient", "demo2703");
j.IndexerProperty<int>("Clientid").HasColumnName("clientid");
j.IndexerProperty<int>("Tagid").HasColumnName("tagid");
});
});
modelBuilder.Entity<Clientservice>(entity =>
{
entity.HasKey(e => e.Id).HasName("clientservice_pkey");
entity.ToTable("clientservice", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Clientid).HasColumnName("clientid");
entity.Property(e => e.Comment).HasColumnName("comment");
entity.Property(e => e.Serviceid).HasColumnName("serviceid");
entity.Property(e => e.Starttime).HasColumnName("starttime");
entity.HasOne(d => d.Client).WithMany(p => p.Clientservices)
.HasForeignKey(d => d.Clientid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_clientservice_client");
entity.HasOne(d => d.Service).WithMany(p => p.Clientservices)
.HasForeignKey(d => d.Serviceid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_clientservice_service");
});
modelBuilder.Entity<Documentbyservice>(entity =>
{
entity.HasKey(e => e.Id).HasName("documentbyservice_pkey");
entity.ToTable("documentbyservice", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Clientserviceid).HasColumnName("clientserviceid");
entity.Property(e => e.Documentpath)
.HasMaxLength(1000)
.HasColumnName("documentpath");
entity.HasOne(d => d.Clientservice).WithMany(p => p.Documentbyservices)
.HasForeignKey(d => d.Clientserviceid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_documentbyservice_clientservice");
});
modelBuilder.Entity<Gender>(entity =>
{
entity.HasKey(e => e.Code).HasName("gender_pkey");
entity.ToTable("gender", "demo2703");
entity.Property(e => e.Code)
.HasMaxLength(1)
.ValueGeneratedNever()
.HasColumnName("code");
entity.Property(e => e.Name)
.HasMaxLength(10)
.HasColumnName("name");
});
modelBuilder.Entity<Manufacturer>(entity =>
{
entity.HasKey(e => e.Id).HasName("manufacturer_pkey");
entity.ToTable("manufacturer", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Name)
.HasMaxLength(100)
.HasColumnName("name");
entity.Property(e => e.Startdate).HasColumnName("startdate");
});
modelBuilder.Entity<Product>(entity =>
{
entity.HasKey(e => e.Id).HasName("product_pkey");
entity.ToTable("product", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Cost)
.HasPrecision(19, 4)
.HasColumnName("cost");
entity.Property(e => e.Description).HasColumnName("description");
entity.Property(e => e.Isactive).HasColumnName("isactive");
entity.Property(e => e.Mainimagepath)
.HasMaxLength(1000)
.HasColumnName("mainimagepath");
entity.Property(e => e.Manufacturerid).HasColumnName("manufacturerid");
entity.Property(e => e.Title)
.HasMaxLength(100)
.HasColumnName("title");
entity.HasOne(d => d.Manufacturer).WithMany(p => p.Products)
.HasForeignKey(d => d.Manufacturerid)
.HasConstraintName("fk_product_manufacturer");
entity.HasMany(d => d.Attachedproducts).WithMany(p => p.Mainproducts)
.UsingEntity<Dictionary<string, object>>(
"Attachedproduct",
r => r.HasOne<Product>().WithMany()
.HasForeignKey("Attachedproductid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_attachedproduct_product1"),
l => l.HasOne<Product>().WithMany()
.HasForeignKey("Mainproductid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_attachedproduct_product"),
j =>
{
j.HasKey("Mainproductid", "Attachedproductid").HasName("attachedproduct_pkey");
j.ToTable("attachedproduct", "demo2703");
j.IndexerProperty<int>("Mainproductid").HasColumnName("mainproductid");
j.IndexerProperty<int>("Attachedproductid").HasColumnName("attachedproductid");
});
entity.HasMany(d => d.Mainproducts).WithMany(p => p.Attachedproducts)
.UsingEntity<Dictionary<string, object>>(
"Attachedproduct",
r => r.HasOne<Product>().WithMany()
.HasForeignKey("Mainproductid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_attachedproduct_product"),
l => l.HasOne<Product>().WithMany()
.HasForeignKey("Attachedproductid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_attachedproduct_product1"),
j =>
{
j.HasKey("Mainproductid", "Attachedproductid").HasName("attachedproduct_pkey");
j.ToTable("attachedproduct", "demo2703");
j.IndexerProperty<int>("Mainproductid").HasColumnName("mainproductid");
j.IndexerProperty<int>("Attachedproductid").HasColumnName("attachedproductid");
});
});
modelBuilder.Entity<Productphoto>(entity =>
{
entity.HasKey(e => e.Id).HasName("productphoto_pkey");
entity.ToTable("productphoto", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Photopath)
.HasMaxLength(1000)
.HasColumnName("photopath");
entity.Property(e => e.Productid).HasColumnName("productid");
entity.HasOne(d => d.Product).WithMany(p => p.Productphotos)
.HasForeignKey(d => d.Productid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_productphoto_product");
});
modelBuilder.Entity<Productsale>(entity =>
{
entity.HasKey(e => e.Id).HasName("productsale_pkey");
entity.ToTable("productsale", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Clientserviceid).HasColumnName("clientserviceid");
entity.Property(e => e.Productid).HasColumnName("productid");
entity.Property(e => e.Quantity).HasColumnName("quantity");
entity.Property(e => e.Saledate).HasColumnName("saledate");
entity.HasOne(d => d.Clientservice).WithMany(p => p.Productsales)
.HasForeignKey(d => d.Clientserviceid)
.HasConstraintName("fk_productsale_clientservice");
entity.HasOne(d => d.Product).WithMany(p => p.Productsales)
.HasForeignKey(d => d.Productid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_productsale_product");
});
modelBuilder.Entity<Service>(entity =>
{
entity.HasKey(e => e.Id).HasName("service_pkey");
entity.ToTable("service", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Cost)
.HasPrecision(19, 4)
.HasColumnName("cost");
entity.Property(e => e.Description).HasColumnName("description");
entity.Property(e => e.Discount).HasColumnName("discount");
entity.Property(e => e.Durationinseconds).HasColumnName("durationinseconds");
entity.Property(e => e.Mainimagepath)
.HasMaxLength(1000)
.HasColumnName("mainimagepath");
entity.Property(e => e.Title)
.HasMaxLength(100)
.HasColumnName("title");
});
modelBuilder.Entity<Servicephoto>(entity =>
{
entity.HasKey(e => e.Id).HasName("servicephoto_pkey");
entity.ToTable("servicephoto", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Photopath)
.HasMaxLength(1000)
.HasColumnName("photopath");
entity.Property(e => e.Serviceid).HasColumnName("serviceid");
entity.HasOne(d => d.Service).WithMany(p => p.Servicephotos)
.HasForeignKey(d => d.Serviceid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_servicephoto_service");
});
modelBuilder.Entity<Tag>(entity =>
{
entity.HasKey(e => e.Id).HasName("tag_pkey");
entity.ToTable("tag", "demo2703");
entity.Property(e => e.Id)
.ValueGeneratedNever()
.HasColumnName("id");
entity.Property(e => e.Color).HasColumnName("color");
entity.Property(e => e.Title)
.HasMaxLength(30)
.HasColumnName("title");
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}

23
Demo2703/Demo2703.csproj Normal file
View File

@ -0,0 +1,23 @@
<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.6" />
<PackageReference Include="Avalonia.Desktop" Version="11.2.6" />
<PackageReference Include="Avalonia.Diagnostics" Version="11.2.6" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.6" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
</ItemGroup>
</Project>

74
Demo2703/Helper.cs Normal file
View File

@ -0,0 +1,74 @@
using Demo2703.Context;
using Demo2703.Models;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo2703
{
public static class Helper
{
public static User19Context DBContext = new User19Context();
public static List<Product> allProducts
{
get => DBContext.Products.Include(a => a.Manufacturer).ToList();
}
public static List<Productsale> SaleProduct
{
get => DBContext.Productsales.Include(b => b.Product).OrderByDescending(y => y.Saledate).ToList();
}
//заполняем лист
public static List<Product> Producty = allProducts;
//количество продуктов на экране
public static string KolichProd
{
get => $"{Producty.Count()}/{allProducts.Count()}";
}
//вывод в комбобокс по Фильтрации по производителю всех производителей
public static List<Manufacturer> ManufacturerList = new List<Manufacturer>(DBContext.Manufacturers.ToList())
.Concat( new List<Manufacturer> () { new Manufacturer() { Id = 0, Name = "Все элементы" } }).OrderBy(m => m.Id).ToList();
public static void IzmenaProductov (string Search, int Sort, int Manufack)
{
Producty.Clear();
//перезапись листа и перезаписываем данные
List<Product> newProducts = allProducts;
//сортировка по цене
if (Sort == 1)
{ //это по убыванию, OrderByDescending сортирует от большего к меньшему
newProducts = newProducts.OrderByDescending( a => a.Cost).ToList();
}
if ( Sort == 2)
{ //это по возрастанию, просто Ордер бай от меньшего к большему
newProducts = newProducts.OrderBy( a => a.Cost).ToList();
}
//поиск
//условие Если не Нул и не Пустой поиск, тогда выполняем фильтрацию в поиске
if (!string.IsNullOrEmpty(Search))
{
newProducts = newProducts.Where(a => a.Title.Contains(Search)).ToList();
}
if (Manufack != 0)
{
newProducts = newProducts.Where(m => m.Manufacturerid == Manufack).ToList();
}
Producty = newProducts;
}
}
}

39
Demo2703/History.axaml Normal file
View File

@ -0,0 +1,39 @@
<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:CompileBindings="False"
x:Class="Demo2703.History"
Title="History">
<DockPanel >
<ComboBox Background="#04A0FF" DockPanel.Dock="Top" Name="FilterProduct" SelectionChanged="ComboBox_SelectionChanged" Margin="5" Grid.Column="1" >
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Width="400" Text="{Binding Title}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Border BorderBrush="Black" BorderThickness="2">
<ListBox Name="ListBOX" Height="400">
<ListBox.ItemTemplate>
<DataTemplate>
<Border Background="#E7FABF" Margin="5" BorderBrush="Black" BorderThickness="2">
<Grid ColumnDefinitions="350, 350">
<StackPanel Grid.ColumnSpan="2" Grid.Column="0">
<TextBlock Text="{Binding Product.Title}"/>
<TextBlock Text="{Binding Saledate}"/>
<TextBlock Text="{Binding Quantity}"/>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
</DockPanel>
</Window>

23
Demo2703/History.axaml.cs Normal file
View File

@ -0,0 +1,23 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Demo2703.Models;
using System.Linq;
namespace Demo2703;
public partial class History : Window
{
public History()
{
InitializeComponent();
ListBOX.ItemsSource = Helper.SaleProduct;
FilterProduct.ItemsSource = Helper.allProducts;
}
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
{
ListBOX.ItemsSource = Helper.SaleProduct.Where(i => i.Productid == (FilterProduct.SelectedItem as Product).Id);
}
}

58
Demo2703/MainWindow.axaml Normal file
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="1920" d:DesignHeight="1080"
x:Class="Demo2703.MainWindow"
x:CompileBindings="False"
Title="Demo2703">
<DockPanel>
<Grid Background="#04A0FF" DockPanel.Dock="Top" ColumnDefinitions="*, *, *">
<TextBox TextChanged="TextBox_TextChanged" Background="#E7FABF" Margin="5" Name="SearchProduct" />
<ComboBox Name="FilterManufac" SelectionChanged="ComboBox_SelectionChanged_1" Margin="5" Grid.Column="1" HorizontalAlignment="Stretch">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox SelectionChanged="ComboBox_SelectionChanged" Name="SortCost" Margin="5" Grid.Column="2" HorizontalAlignment="Stretch">
<ComboBoxItem>Без сортировки</ComboBoxItem>
<ComboBoxItem>По убыванию</ComboBoxItem>
<ComboBoxItem>По возрастанию</ComboBoxItem>
</ComboBox>
</Grid>
<Grid DockPanel.Dock="Bottom" ColumnDefinitions="*, *, *">
<Button Name="DobavitTov" Background="#E7FABF" Grid.Column="0" Click="Button_Click" Content="Добавить товар" />
<TextBlock Grid.Column="1" Background="#E7FABF" Margin="10" Name="Kolich"/>
<Button Name="Historybutton" Background="#E7FABF" Content="История покупок" Grid.Column="2" Click="Button_Click_1"/>
</Grid>
<ListBox Name="ProductListBox">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border Tag="{Binding Id}" DoubleTapped="Border_DoubleTapped" Background="#04A0FF" BorderThickness="2" CornerRadius="2" BorderBrush="LightGray" Height="400" Width="300">
<Grid Margin="15" RowDefinitions="5*, *, *, *, *, *">
<Image Source="{Binding Image}"/>
<TextBlock TextWrapping="Wrap" Grid.Row="2" Text="{Binding Cost, StringFormat=' {0}руб.'}"/>
<TextBlock TextWrapping="Wrap" Grid.Row="3" Text="{Binding Title} "/>
<TextBlock TextWrapping="Wrap" Grid.Row="4" Text="{Binding Manufacturer.Name}"/>
<TextBlock TextWrapping="Wrap" Grid.Row="5" Text="{Binding Description}"/>
<TextBlock TextWrapping="Wrap" />
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
</Window>

View File

@ -0,0 +1,61 @@
using Avalonia.Controls;
using Demo2703.Models;
using System.Collections.Generic;
using System.Linq;
namespace Demo2703;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ProductListBox.ItemsSource = Helper.Producty;
FilterManufac.ItemsSource = Helper.ManufacturerList;
//Ñðàçó ñó¸ì â ôèëüòðàöèþ ïî ïðîèçâîäèòåëþ ïåðâûé ýëåìåíò Âñå ýëåìåíòû, ïîòîìó ÷òî èíà÷å îí áóäåò ïîëó÷àòü íàë è íèêàêàÿ ôèëüòðàöèÿ íå áóäåò ðàáîòàòü
FilterManufac.SelectedIndex= 0;
SortCost.SelectedIndex= 0;
}
private void TextBox_TextChanged(object? sender, Avalonia.Controls.TextChangedEventArgs e)
{
Change();
}
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
{
Change();
}
private void ComboBox_SelectionChanged_1(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
{
Change();
}
public void Change()
{
Helper.IzmenaProductov(SearchProduct.Text, SortCost.SelectedIndex, (FilterManufac.SelectedItem as Manufacturer).Id);
//ïåðåçàïèñûâàåì ëèñòáîêñ êîòîðûé â àõàìë
ProductListBox.ItemsSource = Helper.Producty;
//êîëè÷åñòâî ïðîäóêòîâ íà ýêðàíå
Kolich.Text = Helper.KolichProd;
}
private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new AddEdit().Show();
Close();
}
private void Border_DoubleTapped(object? sender, Avalonia.Input.TappedEventArgs e)
{
new AddEdit(int.Parse((sender as Border).Tag.ToString())).Show();
Close() ;
}
private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
new History().Show();
Close();
}
}

View File

@ -0,0 +1,564 @@
// <auto-generated />
using System;
using Demo2703.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Demo2703.Migrations
{
[DbContext(typeof(User19Context))]
[Migration("20250408220921_InitialCreate")]
partial class InitialCreate
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Attachedproduct", b =>
{
b.Property<int>("Mainproductid")
.HasColumnType("integer")
.HasColumnName("mainproductid");
b.Property<int>("Attachedproductid")
.HasColumnType("integer")
.HasColumnName("attachedproductid");
b.HasKey("Mainproductid", "Attachedproductid")
.HasName("attachedproduct_pkey");
b.HasIndex("Attachedproductid");
b.ToTable("attachedproduct", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Client", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<DateOnly?>("Birthday")
.HasColumnType("date")
.HasColumnName("birthday");
b.Property<string>("Email")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("email");
b.Property<string>("Firstname")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("firstname");
b.Property<char>("Gendercode")
.HasMaxLength(1)
.HasColumnType("character(1)")
.HasColumnName("gendercode");
b.Property<string>("Lastname")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("lastname");
b.Property<string>("Patronymic")
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("patronymic");
b.Property<string>("Phone")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("character varying(20)")
.HasColumnName("phone");
b.Property<string>("Photopath")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("photopath");
b.Property<DateOnly>("Registrationdate")
.HasColumnType("date")
.HasColumnName("registrationdate");
b.HasKey("Id")
.HasName("client_pkey");
b.HasIndex("Gendercode");
b.ToTable("client", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Clientservice", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int>("Clientid")
.HasColumnType("integer")
.HasColumnName("clientid");
b.Property<string>("Comment")
.HasColumnType("text")
.HasColumnName("comment");
b.Property<int>("Serviceid")
.HasColumnType("integer")
.HasColumnName("serviceid");
b.Property<DateOnly>("Starttime")
.HasColumnType("date")
.HasColumnName("starttime");
b.HasKey("Id")
.HasName("clientservice_pkey");
b.HasIndex("Clientid");
b.HasIndex("Serviceid");
b.ToTable("clientservice", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Documentbyservice", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int>("Clientserviceid")
.HasColumnType("integer")
.HasColumnName("clientserviceid");
b.Property<string>("Documentpath")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("documentpath");
b.HasKey("Id")
.HasName("documentbyservice_pkey");
b.HasIndex("Clientserviceid");
b.ToTable("documentbyservice", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Gender", b =>
{
b.Property<char>("Code")
.HasMaxLength(1)
.HasColumnType("character(1)")
.HasColumnName("code");
b.Property<string>("Name")
.HasMaxLength(10)
.HasColumnType("character varying(10)")
.HasColumnName("name");
b.HasKey("Code")
.HasName("gender_pkey");
b.ToTable("gender", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Manufacturer", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("name");
b.Property<DateOnly?>("Startdate")
.HasColumnType("date")
.HasColumnName("startdate");
b.HasKey("Id")
.HasName("manufacturer_pkey");
b.ToTable("manufacturer", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Product", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<decimal>("Cost")
.HasPrecision(19, 4)
.HasColumnType("numeric(19,4)")
.HasColumnName("cost");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<int>("Isactive")
.HasColumnType("integer")
.HasColumnName("isactive");
b.Property<string>("Mainimagepath")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("mainimagepath");
b.Property<int?>("Manufacturerid")
.HasColumnType("integer")
.HasColumnName("manufacturerid");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("title");
b.HasKey("Id")
.HasName("product_pkey");
b.HasIndex("Manufacturerid");
b.ToTable("product", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Productphoto", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Photopath")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("photopath");
b.Property<int>("Productid")
.HasColumnType("integer")
.HasColumnName("productid");
b.HasKey("Id")
.HasName("productphoto_pkey");
b.HasIndex("Productid");
b.ToTable("productphoto", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Productsale", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int?>("Clientserviceid")
.HasColumnType("integer")
.HasColumnName("clientserviceid");
b.Property<int>("Productid")
.HasColumnType("integer")
.HasColumnName("productid");
b.Property<int>("Quantity")
.HasColumnType("integer")
.HasColumnName("quantity");
b.Property<DateOnly>("Saledate")
.HasColumnType("date")
.HasColumnName("saledate");
b.HasKey("Id")
.HasName("productsale_pkey");
b.HasIndex("Clientserviceid");
b.HasIndex("Productid");
b.ToTable("productsale", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Service", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<decimal>("Cost")
.HasPrecision(19, 4)
.HasColumnType("numeric(19,4)")
.HasColumnName("cost");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<double?>("Discount")
.HasColumnType("double precision")
.HasColumnName("discount");
b.Property<int>("Durationinseconds")
.HasColumnType("integer")
.HasColumnName("durationinseconds");
b.Property<string>("Mainimagepath")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("mainimagepath");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("title");
b.HasKey("Id")
.HasName("service_pkey");
b.ToTable("service", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Servicephoto", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Photopath")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("photopath");
b.Property<int>("Serviceid")
.HasColumnType("integer")
.HasColumnName("serviceid");
b.HasKey("Id")
.HasName("servicephoto_pkey");
b.HasIndex("Serviceid");
b.ToTable("servicephoto", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Tag", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Color")
.IsRequired()
.HasColumnType("text")
.HasColumnName("color");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("character varying(30)")
.HasColumnName("title");
b.HasKey("Id")
.HasName("tag_pkey");
b.ToTable("tag", "demo2703");
});
modelBuilder.Entity("Tagofclient", b =>
{
b.Property<int>("Clientid")
.HasColumnType("integer")
.HasColumnName("clientid");
b.Property<int>("Tagid")
.HasColumnType("integer")
.HasColumnName("tagid");
b.HasKey("Clientid", "Tagid")
.HasName("tagofclient_pkey");
b.HasIndex("Tagid");
b.ToTable("tagofclient", "demo2703");
});
modelBuilder.Entity("Attachedproduct", b =>
{
b.HasOne("Demo2703.Models.Product", null)
.WithMany()
.HasForeignKey("Attachedproductid")
.IsRequired()
.HasConstraintName("fk_attachedproduct_product1");
b.HasOne("Demo2703.Models.Product", null)
.WithMany()
.HasForeignKey("Mainproductid")
.IsRequired()
.HasConstraintName("fk_attachedproduct_product");
});
modelBuilder.Entity("Demo2703.Models.Client", b =>
{
b.HasOne("Demo2703.Models.Gender", "GendercodeNavigation")
.WithMany("Clients")
.HasForeignKey("Gendercode")
.IsRequired()
.HasConstraintName("fk_client_gender");
b.Navigation("GendercodeNavigation");
});
modelBuilder.Entity("Demo2703.Models.Clientservice", b =>
{
b.HasOne("Demo2703.Models.Client", "Client")
.WithMany("Clientservices")
.HasForeignKey("Clientid")
.IsRequired()
.HasConstraintName("fk_clientservice_client");
b.HasOne("Demo2703.Models.Service", "Service")
.WithMany("Clientservices")
.HasForeignKey("Serviceid")
.IsRequired()
.HasConstraintName("fk_clientservice_service");
b.Navigation("Client");
b.Navigation("Service");
});
modelBuilder.Entity("Demo2703.Models.Documentbyservice", b =>
{
b.HasOne("Demo2703.Models.Clientservice", "Clientservice")
.WithMany("Documentbyservices")
.HasForeignKey("Clientserviceid")
.IsRequired()
.HasConstraintName("fk_documentbyservice_clientservice");
b.Navigation("Clientservice");
});
modelBuilder.Entity("Demo2703.Models.Product", b =>
{
b.HasOne("Demo2703.Models.Manufacturer", "Manufacturer")
.WithMany("Products")
.HasForeignKey("Manufacturerid")
.HasConstraintName("fk_product_manufacturer");
b.Navigation("Manufacturer");
});
modelBuilder.Entity("Demo2703.Models.Productphoto", b =>
{
b.HasOne("Demo2703.Models.Product", "Product")
.WithMany("Productphotos")
.HasForeignKey("Productid")
.IsRequired()
.HasConstraintName("fk_productphoto_product");
b.Navigation("Product");
});
modelBuilder.Entity("Demo2703.Models.Productsale", b =>
{
b.HasOne("Demo2703.Models.Clientservice", "Clientservice")
.WithMany("Productsales")
.HasForeignKey("Clientserviceid")
.HasConstraintName("fk_productsale_clientservice");
b.HasOne("Demo2703.Models.Product", "Product")
.WithMany("Productsales")
.HasForeignKey("Productid")
.IsRequired()
.HasConstraintName("fk_productsale_product");
b.Navigation("Clientservice");
b.Navigation("Product");
});
modelBuilder.Entity("Demo2703.Models.Servicephoto", b =>
{
b.HasOne("Demo2703.Models.Service", "Service")
.WithMany("Servicephotos")
.HasForeignKey("Serviceid")
.IsRequired()
.HasConstraintName("fk_servicephoto_service");
b.Navigation("Service");
});
modelBuilder.Entity("Tagofclient", b =>
{
b.HasOne("Demo2703.Models.Client", null)
.WithMany()
.HasForeignKey("Clientid")
.IsRequired()
.HasConstraintName("fk_tagofclient_client");
b.HasOne("Demo2703.Models.Tag", null)
.WithMany()
.HasForeignKey("Tagid")
.IsRequired()
.HasConstraintName("fk_tagofclient_tag");
});
modelBuilder.Entity("Demo2703.Models.Client", b =>
{
b.Navigation("Clientservices");
});
modelBuilder.Entity("Demo2703.Models.Clientservice", b =>
{
b.Navigation("Documentbyservices");
b.Navigation("Productsales");
});
modelBuilder.Entity("Demo2703.Models.Gender", b =>
{
b.Navigation("Clients");
});
modelBuilder.Entity("Demo2703.Models.Manufacturer", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("Demo2703.Models.Product", b =>
{
b.Navigation("Productphotos");
b.Navigation("Productsales");
});
modelBuilder.Entity("Demo2703.Models.Service", b =>
{
b.Navigation("Clientservices");
b.Navigation("Servicephotos");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,416 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Demo2703.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.EnsureSchema(
name: "demo2703");
migrationBuilder.CreateTable(
name: "gender",
schema: "demo2703",
columns: table => new
{
code = table.Column<char>(type: "character(1)", maxLength: 1, nullable: false),
name = table.Column<string>(type: "character varying(10)", maxLength: 10, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("gender_pkey", x => x.code);
});
migrationBuilder.CreateTable(
name: "manufacturer",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
name = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
startdate = table.Column<DateOnly>(type: "date", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("manufacturer_pkey", x => x.id);
});
migrationBuilder.CreateTable(
name: "service",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
title = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
cost = table.Column<decimal>(type: "numeric(19,4)", precision: 19, scale: 4, nullable: false),
durationinseconds = table.Column<int>(type: "integer", nullable: false),
description = table.Column<string>(type: "text", nullable: true),
discount = table.Column<double>(type: "double precision", nullable: true),
mainimagepath = table.Column<string>(type: "character varying(1000)", maxLength: 1000, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("service_pkey", x => x.id);
});
migrationBuilder.CreateTable(
name: "tag",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
title = table.Column<string>(type: "character varying(30)", maxLength: 30, nullable: false),
color = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("tag_pkey", x => x.id);
});
migrationBuilder.CreateTable(
name: "client",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
firstname = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
lastname = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
patronymic = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: true),
birthday = table.Column<DateOnly>(type: "date", nullable: true),
registrationdate = table.Column<DateOnly>(type: "date", nullable: false),
email = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
phone = table.Column<string>(type: "character varying(20)", maxLength: 20, nullable: false),
gendercode = table.Column<char>(type: "character(1)", maxLength: 1, nullable: false),
photopath = table.Column<string>(type: "character varying(1000)", maxLength: 1000, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("client_pkey", x => x.id);
table.ForeignKey(
name: "fk_client_gender",
column: x => x.gendercode,
principalSchema: "demo2703",
principalTable: "gender",
principalColumn: "code");
});
migrationBuilder.CreateTable(
name: "product",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
title = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
cost = table.Column<decimal>(type: "numeric(19,4)", precision: 19, scale: 4, nullable: false),
description = table.Column<string>(type: "text", nullable: true),
mainimagepath = table.Column<string>(type: "character varying(1000)", maxLength: 1000, nullable: true),
isactive = table.Column<int>(type: "integer", nullable: false),
manufacturerid = table.Column<int>(type: "integer", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("product_pkey", x => x.id);
table.ForeignKey(
name: "fk_product_manufacturer",
column: x => x.manufacturerid,
principalSchema: "demo2703",
principalTable: "manufacturer",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "servicephoto",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
serviceid = table.Column<int>(type: "integer", nullable: false),
photopath = table.Column<string>(type: "character varying(1000)", maxLength: 1000, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("servicephoto_pkey", x => x.id);
table.ForeignKey(
name: "fk_servicephoto_service",
column: x => x.serviceid,
principalSchema: "demo2703",
principalTable: "service",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "clientservice",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
clientid = table.Column<int>(type: "integer", nullable: false),
serviceid = table.Column<int>(type: "integer", nullable: false),
starttime = table.Column<DateOnly>(type: "date", nullable: false),
comment = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("clientservice_pkey", x => x.id);
table.ForeignKey(
name: "fk_clientservice_client",
column: x => x.clientid,
principalSchema: "demo2703",
principalTable: "client",
principalColumn: "id");
table.ForeignKey(
name: "fk_clientservice_service",
column: x => x.serviceid,
principalSchema: "demo2703",
principalTable: "service",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "tagofclient",
schema: "demo2703",
columns: table => new
{
clientid = table.Column<int>(type: "integer", nullable: false),
tagid = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("tagofclient_pkey", x => new { x.clientid, x.tagid });
table.ForeignKey(
name: "fk_tagofclient_client",
column: x => x.clientid,
principalSchema: "demo2703",
principalTable: "client",
principalColumn: "id");
table.ForeignKey(
name: "fk_tagofclient_tag",
column: x => x.tagid,
principalSchema: "demo2703",
principalTable: "tag",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "attachedproduct",
schema: "demo2703",
columns: table => new
{
mainproductid = table.Column<int>(type: "integer", nullable: false),
attachedproductid = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("attachedproduct_pkey", x => new { x.mainproductid, x.attachedproductid });
table.ForeignKey(
name: "fk_attachedproduct_product",
column: x => x.mainproductid,
principalSchema: "demo2703",
principalTable: "product",
principalColumn: "id");
table.ForeignKey(
name: "fk_attachedproduct_product1",
column: x => x.attachedproductid,
principalSchema: "demo2703",
principalTable: "product",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "productphoto",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
productid = table.Column<int>(type: "integer", nullable: false),
photopath = table.Column<string>(type: "character varying(1000)", maxLength: 1000, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("productphoto_pkey", x => x.id);
table.ForeignKey(
name: "fk_productphoto_product",
column: x => x.productid,
principalSchema: "demo2703",
principalTable: "product",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "documentbyservice",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
clientserviceid = table.Column<int>(type: "integer", nullable: false),
documentpath = table.Column<string>(type: "character varying(1000)", maxLength: 1000, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("documentbyservice_pkey", x => x.id);
table.ForeignKey(
name: "fk_documentbyservice_clientservice",
column: x => x.clientserviceid,
principalSchema: "demo2703",
principalTable: "clientservice",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "productsale",
schema: "demo2703",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false),
saledate = table.Column<DateOnly>(type: "date", nullable: false),
productid = table.Column<int>(type: "integer", nullable: false),
quantity = table.Column<int>(type: "integer", nullable: false),
clientserviceid = table.Column<int>(type: "integer", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("productsale_pkey", x => x.id);
table.ForeignKey(
name: "fk_productsale_clientservice",
column: x => x.clientserviceid,
principalSchema: "demo2703",
principalTable: "clientservice",
principalColumn: "id");
table.ForeignKey(
name: "fk_productsale_product",
column: x => x.productid,
principalSchema: "demo2703",
principalTable: "product",
principalColumn: "id");
});
migrationBuilder.CreateIndex(
name: "IX_attachedproduct_attachedproductid",
schema: "demo2703",
table: "attachedproduct",
column: "attachedproductid");
migrationBuilder.CreateIndex(
name: "IX_client_gendercode",
schema: "demo2703",
table: "client",
column: "gendercode");
migrationBuilder.CreateIndex(
name: "IX_clientservice_clientid",
schema: "demo2703",
table: "clientservice",
column: "clientid");
migrationBuilder.CreateIndex(
name: "IX_clientservice_serviceid",
schema: "demo2703",
table: "clientservice",
column: "serviceid");
migrationBuilder.CreateIndex(
name: "IX_documentbyservice_clientserviceid",
schema: "demo2703",
table: "documentbyservice",
column: "clientserviceid");
migrationBuilder.CreateIndex(
name: "IX_product_manufacturerid",
schema: "demo2703",
table: "product",
column: "manufacturerid");
migrationBuilder.CreateIndex(
name: "IX_productphoto_productid",
schema: "demo2703",
table: "productphoto",
column: "productid");
migrationBuilder.CreateIndex(
name: "IX_productsale_clientserviceid",
schema: "demo2703",
table: "productsale",
column: "clientserviceid");
migrationBuilder.CreateIndex(
name: "IX_productsale_productid",
schema: "demo2703",
table: "productsale",
column: "productid");
migrationBuilder.CreateIndex(
name: "IX_servicephoto_serviceid",
schema: "demo2703",
table: "servicephoto",
column: "serviceid");
migrationBuilder.CreateIndex(
name: "IX_tagofclient_tagid",
schema: "demo2703",
table: "tagofclient",
column: "tagid");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "attachedproduct",
schema: "demo2703");
migrationBuilder.DropTable(
name: "documentbyservice",
schema: "demo2703");
migrationBuilder.DropTable(
name: "productphoto",
schema: "demo2703");
migrationBuilder.DropTable(
name: "productsale",
schema: "demo2703");
migrationBuilder.DropTable(
name: "servicephoto",
schema: "demo2703");
migrationBuilder.DropTable(
name: "tagofclient",
schema: "demo2703");
migrationBuilder.DropTable(
name: "clientservice",
schema: "demo2703");
migrationBuilder.DropTable(
name: "product",
schema: "demo2703");
migrationBuilder.DropTable(
name: "tag",
schema: "demo2703");
migrationBuilder.DropTable(
name: "client",
schema: "demo2703");
migrationBuilder.DropTable(
name: "service",
schema: "demo2703");
migrationBuilder.DropTable(
name: "manufacturer",
schema: "demo2703");
migrationBuilder.DropTable(
name: "gender",
schema: "demo2703");
}
}
}

View File

@ -0,0 +1,561 @@
// <auto-generated />
using System;
using Demo2703.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Demo2703.Migrations
{
[DbContext(typeof(User19Context))]
partial class User19ContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Attachedproduct", b =>
{
b.Property<int>("Mainproductid")
.HasColumnType("integer")
.HasColumnName("mainproductid");
b.Property<int>("Attachedproductid")
.HasColumnType("integer")
.HasColumnName("attachedproductid");
b.HasKey("Mainproductid", "Attachedproductid")
.HasName("attachedproduct_pkey");
b.HasIndex("Attachedproductid");
b.ToTable("attachedproduct", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Client", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<DateOnly?>("Birthday")
.HasColumnType("date")
.HasColumnName("birthday");
b.Property<string>("Email")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("email");
b.Property<string>("Firstname")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("firstname");
b.Property<char>("Gendercode")
.HasMaxLength(1)
.HasColumnType("character(1)")
.HasColumnName("gendercode");
b.Property<string>("Lastname")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("lastname");
b.Property<string>("Patronymic")
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("patronymic");
b.Property<string>("Phone")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("character varying(20)")
.HasColumnName("phone");
b.Property<string>("Photopath")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("photopath");
b.Property<DateOnly>("Registrationdate")
.HasColumnType("date")
.HasColumnName("registrationdate");
b.HasKey("Id")
.HasName("client_pkey");
b.HasIndex("Gendercode");
b.ToTable("client", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Clientservice", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int>("Clientid")
.HasColumnType("integer")
.HasColumnName("clientid");
b.Property<string>("Comment")
.HasColumnType("text")
.HasColumnName("comment");
b.Property<int>("Serviceid")
.HasColumnType("integer")
.HasColumnName("serviceid");
b.Property<DateOnly>("Starttime")
.HasColumnType("date")
.HasColumnName("starttime");
b.HasKey("Id")
.HasName("clientservice_pkey");
b.HasIndex("Clientid");
b.HasIndex("Serviceid");
b.ToTable("clientservice", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Documentbyservice", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int>("Clientserviceid")
.HasColumnType("integer")
.HasColumnName("clientserviceid");
b.Property<string>("Documentpath")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("documentpath");
b.HasKey("Id")
.HasName("documentbyservice_pkey");
b.HasIndex("Clientserviceid");
b.ToTable("documentbyservice", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Gender", b =>
{
b.Property<char>("Code")
.HasMaxLength(1)
.HasColumnType("character(1)")
.HasColumnName("code");
b.Property<string>("Name")
.HasMaxLength(10)
.HasColumnType("character varying(10)")
.HasColumnName("name");
b.HasKey("Code")
.HasName("gender_pkey");
b.ToTable("gender", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Manufacturer", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("name");
b.Property<DateOnly?>("Startdate")
.HasColumnType("date")
.HasColumnName("startdate");
b.HasKey("Id")
.HasName("manufacturer_pkey");
b.ToTable("manufacturer", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Product", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<decimal>("Cost")
.HasPrecision(19, 4)
.HasColumnType("numeric(19,4)")
.HasColumnName("cost");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<int>("Isactive")
.HasColumnType("integer")
.HasColumnName("isactive");
b.Property<string>("Mainimagepath")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("mainimagepath");
b.Property<int?>("Manufacturerid")
.HasColumnType("integer")
.HasColumnName("manufacturerid");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("title");
b.HasKey("Id")
.HasName("product_pkey");
b.HasIndex("Manufacturerid");
b.ToTable("product", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Productphoto", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Photopath")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("photopath");
b.Property<int>("Productid")
.HasColumnType("integer")
.HasColumnName("productid");
b.HasKey("Id")
.HasName("productphoto_pkey");
b.HasIndex("Productid");
b.ToTable("productphoto", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Productsale", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int?>("Clientserviceid")
.HasColumnType("integer")
.HasColumnName("clientserviceid");
b.Property<int>("Productid")
.HasColumnType("integer")
.HasColumnName("productid");
b.Property<int>("Quantity")
.HasColumnType("integer")
.HasColumnName("quantity");
b.Property<DateOnly>("Saledate")
.HasColumnType("date")
.HasColumnName("saledate");
b.HasKey("Id")
.HasName("productsale_pkey");
b.HasIndex("Clientserviceid");
b.HasIndex("Productid");
b.ToTable("productsale", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Service", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<decimal>("Cost")
.HasPrecision(19, 4)
.HasColumnType("numeric(19,4)")
.HasColumnName("cost");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
b.Property<double?>("Discount")
.HasColumnType("double precision")
.HasColumnName("discount");
b.Property<int>("Durationinseconds")
.HasColumnType("integer")
.HasColumnName("durationinseconds");
b.Property<string>("Mainimagepath")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("mainimagepath");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("title");
b.HasKey("Id")
.HasName("service_pkey");
b.ToTable("service", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Servicephoto", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Photopath")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)")
.HasColumnName("photopath");
b.Property<int>("Serviceid")
.HasColumnType("integer")
.HasColumnName("serviceid");
b.HasKey("Id")
.HasName("servicephoto_pkey");
b.HasIndex("Serviceid");
b.ToTable("servicephoto", "demo2703");
});
modelBuilder.Entity("Demo2703.Models.Tag", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<string>("Color")
.IsRequired()
.HasColumnType("text")
.HasColumnName("color");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("character varying(30)")
.HasColumnName("title");
b.HasKey("Id")
.HasName("tag_pkey");
b.ToTable("tag", "demo2703");
});
modelBuilder.Entity("Tagofclient", b =>
{
b.Property<int>("Clientid")
.HasColumnType("integer")
.HasColumnName("clientid");
b.Property<int>("Tagid")
.HasColumnType("integer")
.HasColumnName("tagid");
b.HasKey("Clientid", "Tagid")
.HasName("tagofclient_pkey");
b.HasIndex("Tagid");
b.ToTable("tagofclient", "demo2703");
});
modelBuilder.Entity("Attachedproduct", b =>
{
b.HasOne("Demo2703.Models.Product", null)
.WithMany()
.HasForeignKey("Attachedproductid")
.IsRequired()
.HasConstraintName("fk_attachedproduct_product1");
b.HasOne("Demo2703.Models.Product", null)
.WithMany()
.HasForeignKey("Mainproductid")
.IsRequired()
.HasConstraintName("fk_attachedproduct_product");
});
modelBuilder.Entity("Demo2703.Models.Client", b =>
{
b.HasOne("Demo2703.Models.Gender", "GendercodeNavigation")
.WithMany("Clients")
.HasForeignKey("Gendercode")
.IsRequired()
.HasConstraintName("fk_client_gender");
b.Navigation("GendercodeNavigation");
});
modelBuilder.Entity("Demo2703.Models.Clientservice", b =>
{
b.HasOne("Demo2703.Models.Client", "Client")
.WithMany("Clientservices")
.HasForeignKey("Clientid")
.IsRequired()
.HasConstraintName("fk_clientservice_client");
b.HasOne("Demo2703.Models.Service", "Service")
.WithMany("Clientservices")
.HasForeignKey("Serviceid")
.IsRequired()
.HasConstraintName("fk_clientservice_service");
b.Navigation("Client");
b.Navigation("Service");
});
modelBuilder.Entity("Demo2703.Models.Documentbyservice", b =>
{
b.HasOne("Demo2703.Models.Clientservice", "Clientservice")
.WithMany("Documentbyservices")
.HasForeignKey("Clientserviceid")
.IsRequired()
.HasConstraintName("fk_documentbyservice_clientservice");
b.Navigation("Clientservice");
});
modelBuilder.Entity("Demo2703.Models.Product", b =>
{
b.HasOne("Demo2703.Models.Manufacturer", "Manufacturer")
.WithMany("Products")
.HasForeignKey("Manufacturerid")
.HasConstraintName("fk_product_manufacturer");
b.Navigation("Manufacturer");
});
modelBuilder.Entity("Demo2703.Models.Productphoto", b =>
{
b.HasOne("Demo2703.Models.Product", "Product")
.WithMany("Productphotos")
.HasForeignKey("Productid")
.IsRequired()
.HasConstraintName("fk_productphoto_product");
b.Navigation("Product");
});
modelBuilder.Entity("Demo2703.Models.Productsale", b =>
{
b.HasOne("Demo2703.Models.Clientservice", "Clientservice")
.WithMany("Productsales")
.HasForeignKey("Clientserviceid")
.HasConstraintName("fk_productsale_clientservice");
b.HasOne("Demo2703.Models.Product", "Product")
.WithMany("Productsales")
.HasForeignKey("Productid")
.IsRequired()
.HasConstraintName("fk_productsale_product");
b.Navigation("Clientservice");
b.Navigation("Product");
});
modelBuilder.Entity("Demo2703.Models.Servicephoto", b =>
{
b.HasOne("Demo2703.Models.Service", "Service")
.WithMany("Servicephotos")
.HasForeignKey("Serviceid")
.IsRequired()
.HasConstraintName("fk_servicephoto_service");
b.Navigation("Service");
});
modelBuilder.Entity("Tagofclient", b =>
{
b.HasOne("Demo2703.Models.Client", null)
.WithMany()
.HasForeignKey("Clientid")
.IsRequired()
.HasConstraintName("fk_tagofclient_client");
b.HasOne("Demo2703.Models.Tag", null)
.WithMany()
.HasForeignKey("Tagid")
.IsRequired()
.HasConstraintName("fk_tagofclient_tag");
});
modelBuilder.Entity("Demo2703.Models.Client", b =>
{
b.Navigation("Clientservices");
});
modelBuilder.Entity("Demo2703.Models.Clientservice", b =>
{
b.Navigation("Documentbyservices");
b.Navigation("Productsales");
});
modelBuilder.Entity("Demo2703.Models.Gender", b =>
{
b.Navigation("Clients");
});
modelBuilder.Entity("Demo2703.Models.Manufacturer", b =>
{
b.Navigation("Products");
});
modelBuilder.Entity("Demo2703.Models.Product", b =>
{
b.Navigation("Productphotos");
b.Navigation("Productsales");
});
modelBuilder.Entity("Demo2703.Models.Service", b =>
{
b.Navigation("Clientservices");
b.Navigation("Servicephotos");
});
#pragma warning restore 612, 618
}
}
}

33
Demo2703/Models/Client.cs Normal file
View File

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Client
{
public int Id { get; set; }
public string Firstname { get; set; } = null!;
public string Lastname { get; set; } = null!;
public string? Patronymic { get; set; }
public DateOnly? Birthday { get; set; }
public DateOnly Registrationdate { get; set; }
public string? Email { get; set; }
public string Phone { get; set; } = null!;
public char Gendercode { get; set; }
public string? Photopath { get; set; }
public virtual ICollection<Clientservice> Clientservices { get; set; } = new List<Clientservice>();
public virtual Gender GendercodeNavigation { get; set; } = null!;
public virtual ICollection<Tag> Tags { get; set; } = new List<Tag>();
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Clientservice
{
public int Id { get; set; }
public int Clientid { get; set; }
public int Serviceid { get; set; }
public DateOnly Starttime { get; set; }
public string? Comment { get; set; }
public virtual Client Client { get; set; } = null!;
public virtual ICollection<Documentbyservice> Documentbyservices { get; set; } = new List<Documentbyservice>();
public virtual ICollection<Productsale> Productsales { get; set; } = new List<Productsale>();
public virtual Service Service { get; set; } = null!;
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Documentbyservice
{
public int Id { get; set; }
public int Clientserviceid { get; set; }
public string Documentpath { get; set; } = null!;
public virtual Clientservice Clientservice { get; set; } = null!;
}

13
Demo2703/Models/Gender.cs Normal file
View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Gender
{
public char Code { get; set; }
public string? Name { get; set; }
public virtual ICollection<Client> Clients { get; set; } = new List<Client>();
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Manufacturer
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public DateOnly? Startdate { get; set; }
public virtual ICollection<Product> Products { get; set; } = new List<Product>();
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class MaterialType
{
public int IdMaterialType { get; set; }
public string? NameMaterial { get; set; }
public float? ProcentBraka { get; set; }
}

View File

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Partner
{
public long Inn { get; set; }
public int? PartnerType { get; set; }
public string? NamePartner { get; set; }
public string? Director { get; set; }
public string? Email { get; set; }
public string? Phone { get; set; }
public string? Adres { get; set; }
public int? Reyting { get; set; }
public virtual ICollection<PartnerProduct> PartnerProducts { get; set; } = new List<PartnerProduct>();
public virtual PartnerType? PartnerTypeNavigation { get; set; }
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class PartnerProduct
{
public int IdPartnerproduct { get; set; }
public long? ProductId { get; set; }
public long? PartnerId { get; set; }
public long? KolichProd { get; set; }
public DateOnly? DateProd { 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 Demo2703.Models;
public partial class PartnerType
{
public int TypeId { get; set; }
public string? NameTypepart { get; set; }
public virtual ICollection<Partner> Partners { get; set; } = new List<Partner>();
}

View File

@ -0,0 +1,47 @@
using Avalonia.Media.Imaging;
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Product
{
public int Id { get; set; }
public string Title { get; set; } = null!;
public decimal Cost { get; set; }
public string? Description { get; set; }
public string? Mainimagepath { get; set; }
public Bitmap? Image
{
get
{
try
{
return new Bitmap(Environment.CurrentDirectory + "/" + Mainimagepath);
}
catch
{
return null;
}
}
}
public int Isactive { get; set; }
public int? Manufacturerid { get; set; }
public virtual Manufacturer? Manufacturer { get; set; }
public virtual ICollection<Productphoto> Productphotos { get; set; } = new List<Productphoto>();
public virtual ICollection<Productsale> Productsales { get; set; } = new List<Productsale>();
public virtual ICollection<Product> Attachedproducts { get; set; } = new List<Product>();
public virtual ICollection<Product> Mainproducts { get; set; } = new List<Product>();
}

View File

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

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Productphoto
{
public int Id { get; set; }
public int Productid { get; set; }
public string Photopath { get; set; } = null!;
public virtual Product Product { get; set; } = null!;
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Productsale
{
public int Id { get; set; }
public DateOnly Saledate { get; set; }
public int Productid { get; set; }
public int Quantity { get; set; }
public int? Clientserviceid { get; set; }
public virtual Clientservice? Clientservice { get; set; }
public virtual Product Product { get; set; } = null!;
}

View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Service
{
public int Id { get; set; }
public string Title { get; set; } = null!;
public decimal Cost { get; set; }
public int Durationinseconds { get; set; }
public string? Description { get; set; }
public double? Discount { get; set; }
public string? Mainimagepath { get; set; }
public virtual ICollection<Clientservice> Clientservices { get; set; } = new List<Clientservice>();
public virtual ICollection<Servicephoto> Servicephotos { get; set; } = new List<Servicephoto>();
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Servicephoto
{
public int Id { get; set; }
public int Serviceid { get; set; }
public string Photopath { get; set; } = null!;
public virtual Service Service { get; set; } = null!;
}

15
Demo2703/Models/Tag.cs Normal file
View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Demo2703.Models;
public partial class Tag
{
public int Id { get; set; }
public string Title { get; set; } = null!;
public string Color { get; set; } = null!;
public virtual ICollection<Client> Clients { get; set; } = new List<Client>();
}

21
Demo2703/Program.cs Normal file
View File

@ -0,0 +1,21 @@
using Avalonia;
using System;
namespace Demo2703;
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
Demo2703/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="Demo2703.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.

Binary file not shown.

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