This commit is contained in:
ker73rus 2024-11-27 23:43:53 +04:00
commit 3c32df2456
424 changed files with 23757 additions and 0 deletions

Binary file not shown.

BIN
.vs/COP3_/v17/.futdcache.v2 Normal file

Binary file not shown.

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

Binary file not shown.

View File

@ -0,0 +1,378 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\datamodels\\iordermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|solutionrelative:datamodels\\iordermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\models\\order.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\models\\order.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\viewmodels\\orderviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\viewmodels\\orderviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formguide.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formguide.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\bindingmodels\\orderbindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\bindingmodels\\orderbindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\datamodels\\icitymodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|solutionrelative:datamodels\\icitymodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|C:\\Users\\pyata\\source\\repos\\COP3_\\cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\implements\\citystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\implements\\citystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\database.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\database.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\businesslogic\\orderlogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|solutionrelative:businesslogic\\orderlogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\storagecontracts\\icitystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\storagecontracts\\icitystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\bindingmodels\\citybindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\bindingmodels\\citybindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formguide.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formguide.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\businesslogic\\citylogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|solutionrelative:businesslogic\\citylogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\models\\city.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\models\\city.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\databaseimplement.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\databaseimplement.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formedit.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formedit.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\contracs.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\contracs.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 7,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "ICityStorage.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\StorageContracts\\ICityStorage.cs",
"RelativeDocumentMoniker": "Contarcs\\StorageContracts\\ICityStorage.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\StorageContracts\\ICityStorage.cs",
"RelativeToolTip": "Contarcs\\StorageContracts\\ICityStorage.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:32:54.45Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "OrderViewModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\ViewModels\\OrderViewModel.cs",
"RelativeDocumentMoniker": "Contarcs\\ViewModels\\OrderViewModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\ViewModels\\OrderViewModel.cs",
"RelativeToolTip": "Contarcs\\ViewModels\\OrderViewModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:29:09.243Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "FormGuide.Designer.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.Designer.cs",
"RelativeDocumentMoniker": "COP3_\\FormGuide.Designer.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.Designer.cs",
"RelativeToolTip": "COP3_\\FormGuide.Designer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:07:59.918Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "FormGuide.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.cs",
"RelativeDocumentMoniker": "COP3_\\FormGuide.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.cs",
"RelativeToolTip": "COP3_\\FormGuide.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAIcAAAAzAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:07:05.433Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "FormEdit.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs",
"RelativeDocumentMoniker": "COP3_\\FormEdit.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "COP3_\\FormEdit.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T11:36:14.385Z",
"EditorCaption": " [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "FormEdit.Designer.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.Designer.cs",
"RelativeDocumentMoniker": "COP3_\\FormEdit.Designer.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.Designer.cs",
"RelativeToolTip": "COP3_\\FormEdit.Designer.cs",
"ViewState": "AgIAAAcAAAAAAAAAAAAtwBYAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T11:32:16.815Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "FormEdit.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs",
"RelativeDocumentMoniker": "COP3_\\FormEdit.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs",
"RelativeToolTip": "COP3_\\FormEdit.cs",
"ViewState": "AgIAAAMAAAAAAAAAAAAAABsAAABHAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T11:31:51.212Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "CityLogic.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\CityLogic.cs",
"RelativeDocumentMoniker": "BusinessLogic\\CityLogic.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\CityLogic.cs",
"RelativeToolTip": "BusinessLogic\\CityLogic.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAKAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:58:22.804Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\Program.cs",
"RelativeDocumentMoniker": "COP3_\\Program.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\Program.cs",
"RelativeToolTip": "COP3_\\Program.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAYwCkAAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:55:48.526Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "DataBase.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBase.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\DataBase.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBase.cs",
"RelativeToolTip": "DataBaseImplement\\DataBase.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:54:12.544Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "City.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\City.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\Models\\City.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\City.cs",
"RelativeToolTip": "DataBaseImplement\\Models\\City.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:46:30.515Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "Order.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\Order.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\Models\\Order.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\Order.cs",
"RelativeToolTip": "DataBaseImplement\\Models\\Order.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:46:17.056Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "DataBaseImplement.csproj",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBaseImplement.csproj",
"RelativeDocumentMoniker": "DataBaseImplement\\DataBaseImplement.csproj",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBaseImplement.csproj",
"RelativeToolTip": "DataBaseImplement\\DataBaseImplement.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-11-27T10:43:55.615Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "CityStorage.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Implements\\CityStorage.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\Implements\\CityStorage.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Implements\\CityStorage.cs",
"RelativeToolTip": "DataBaseImplement\\Implements\\CityStorage.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAoAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:44:04.286Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "OrderLogic.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\OrderLogic.cs",
"RelativeDocumentMoniker": "BusinessLogic\\OrderLogic.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\OrderLogic.cs",
"RelativeToolTip": "BusinessLogic\\OrderLogic.cs",
"ViewState": "AgIAAD0AAAAAAAAAAAAYwFoAAABdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:42:06.648Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "Contracs.csproj",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj",
"RelativeDocumentMoniker": "Contarcs\\Contracs.csproj",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj",
"RelativeToolTip": "Contarcs\\Contracs.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-11-27T10:40:16.103Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "CityBindingModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\CityBindingModel.cs",
"RelativeDocumentMoniker": "Contarcs\\BindingModels\\CityBindingModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\CityBindingModel.cs",
"RelativeToolTip": "Contarcs\\BindingModels\\CityBindingModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:40:50.312Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "OrderBindingModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\OrderBindingModel.cs",
"RelativeDocumentMoniker": "Contarcs\\BindingModels\\OrderBindingModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\OrderBindingModel.cs",
"RelativeToolTip": "Contarcs\\BindingModels\\OrderBindingModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAAwAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:40:19.102Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ICityModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\ICityModel.cs",
"RelativeDocumentMoniker": "DataModels\\ICityModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\ICityModel.cs",
"RelativeToolTip": "DataModels\\ICityModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:39:46.988Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "IOrderModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\IOrderModel.cs",
"RelativeDocumentMoniker": "DataModels\\IOrderModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\IOrderModel.cs",
"RelativeToolTip": "DataModels\\IOrderModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:39:27.85Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "FormMain.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs",
"RelativeDocumentMoniker": "COP3_\\FormMain.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs",
"RelativeToolTip": "COP3_\\FormMain.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:05:34.264Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "FormMain.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs",
"RelativeDocumentMoniker": "COP3_\\FormMain.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "COP3_\\FormMain.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T09:27:02.569Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,378 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formedit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\datamodels\\iordermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|solutionrelative:datamodels\\iordermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\models\\order.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\models\\order.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\viewmodels\\orderviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\viewmodels\\orderviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formguide.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formguide.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\bindingmodels\\orderbindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\bindingmodels\\orderbindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\datamodels\\icitymodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}|DataModels\\DataModels.csproj|solutionrelative:datamodels\\icitymodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|C:\\Users\\pyata\\source\\repos\\COP3_\\cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\implements\\citystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\implements\\citystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\database.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\database.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\businesslogic\\orderlogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|solutionrelative:businesslogic\\orderlogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\storagecontracts\\icitystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\storagecontracts\\icitystorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\bindingmodels\\citybindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\bindingmodels\\citybindingmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formguide.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formguide.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\businesslogic\\citylogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}|BusinessLogic\\BusinessLogic.csproj|solutionrelative:businesslogic\\citylogic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\models\\city.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\models\\city.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\databaseimplement\\databaseimplement.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{665C4846-99D6-4732-A9AC-EC02072308C1}|DataBaseImplement\\DataBaseImplement.csproj|solutionrelative:databaseimplement\\databaseimplement.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\cop3_\\formedit.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{5F873328-EE2D-43AA-8CA4-D20618AB7E39}|COP3_\\COP3_.csproj|solutionrelative:cop3_\\formedit.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|c:\\users\\pyata\\source\\repos\\cop3_\\contarcs\\contracs.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}|Contarcs\\Contracs.csproj|solutionrelative:contarcs\\contracs.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 7,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "ICityStorage.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\StorageContracts\\ICityStorage.cs",
"RelativeDocumentMoniker": "Contarcs\\StorageContracts\\ICityStorage.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\StorageContracts\\ICityStorage.cs",
"RelativeToolTip": "Contarcs\\StorageContracts\\ICityStorage.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:32:54.45Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "OrderViewModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\ViewModels\\OrderViewModel.cs",
"RelativeDocumentMoniker": "Contarcs\\ViewModels\\OrderViewModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\ViewModels\\OrderViewModel.cs",
"RelativeToolTip": "Contarcs\\ViewModels\\OrderViewModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:29:09.243Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "FormGuide.Designer.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.Designer.cs",
"RelativeDocumentMoniker": "COP3_\\FormGuide.Designer.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.Designer.cs",
"RelativeToolTip": "COP3_\\FormGuide.Designer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:07:59.918Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "FormGuide.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.cs",
"RelativeDocumentMoniker": "COP3_\\FormGuide.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.cs",
"RelativeToolTip": "COP3_\\FormGuide.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAIcAAAAzAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T12:07:05.433Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "FormEdit.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs",
"RelativeDocumentMoniker": "COP3_\\FormEdit.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "COP3_\\FormEdit.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T11:36:14.385Z",
"EditorCaption": " [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "FormEdit.Designer.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.Designer.cs",
"RelativeDocumentMoniker": "COP3_\\FormEdit.Designer.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.Designer.cs",
"RelativeToolTip": "COP3_\\FormEdit.Designer.cs",
"ViewState": "AgIAAAcAAAAAAAAAAAAtwBYAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T11:32:16.815Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "FormEdit.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs",
"RelativeDocumentMoniker": "COP3_\\FormEdit.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormEdit.cs",
"RelativeToolTip": "COP3_\\FormEdit.cs",
"ViewState": "AgIAAAYAAAAAAAAAAAAAACUAAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T11:31:51.212Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "CityLogic.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\CityLogic.cs",
"RelativeDocumentMoniker": "BusinessLogic\\CityLogic.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\CityLogic.cs",
"RelativeToolTip": "BusinessLogic\\CityLogic.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAKAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:58:22.804Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\Program.cs",
"RelativeDocumentMoniker": "COP3_\\Program.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\Program.cs",
"RelativeToolTip": "COP3_\\Program.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAYwCkAAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:55:48.526Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "DataBase.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBase.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\DataBase.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBase.cs",
"RelativeToolTip": "DataBaseImplement\\DataBase.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:54:12.544Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "City.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\City.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\Models\\City.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\City.cs",
"RelativeToolTip": "DataBaseImplement\\Models\\City.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:46:30.515Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "Order.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\Order.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\Models\\Order.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Models\\Order.cs",
"RelativeToolTip": "DataBaseImplement\\Models\\Order.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:46:17.056Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "DataBaseImplement.csproj",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBaseImplement.csproj",
"RelativeDocumentMoniker": "DataBaseImplement\\DataBaseImplement.csproj",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBaseImplement.csproj",
"RelativeToolTip": "DataBaseImplement\\DataBaseImplement.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-11-27T10:43:55.615Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "CityStorage.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Implements\\CityStorage.cs",
"RelativeDocumentMoniker": "DataBaseImplement\\Implements\\CityStorage.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\Implements\\CityStorage.cs",
"RelativeToolTip": "DataBaseImplement\\Implements\\CityStorage.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAoAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:44:04.286Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "OrderLogic.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\OrderLogic.cs",
"RelativeDocumentMoniker": "BusinessLogic\\OrderLogic.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\OrderLogic.cs",
"RelativeToolTip": "BusinessLogic\\OrderLogic.cs",
"ViewState": "AgIAAD0AAAAAAAAAAAAYwFoAAABdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:42:06.648Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "Contracs.csproj",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj",
"RelativeDocumentMoniker": "Contarcs\\Contracs.csproj",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj",
"RelativeToolTip": "Contarcs\\Contracs.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-11-27T10:40:16.103Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "CityBindingModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\CityBindingModel.cs",
"RelativeDocumentMoniker": "Contarcs\\BindingModels\\CityBindingModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\CityBindingModel.cs",
"RelativeToolTip": "Contarcs\\BindingModels\\CityBindingModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:40:50.312Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "OrderBindingModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\OrderBindingModel.cs",
"RelativeDocumentMoniker": "Contarcs\\BindingModels\\OrderBindingModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\BindingModels\\OrderBindingModel.cs",
"RelativeToolTip": "Contarcs\\BindingModels\\OrderBindingModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAAwAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:40:19.102Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ICityModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\ICityModel.cs",
"RelativeDocumentMoniker": "DataModels\\ICityModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\ICityModel.cs",
"RelativeToolTip": "DataModels\\ICityModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:39:46.988Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "IOrderModel.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\IOrderModel.cs",
"RelativeDocumentMoniker": "DataModels\\IOrderModel.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\IOrderModel.cs",
"RelativeToolTip": "DataModels\\IOrderModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:39:27.85Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "FormMain.cs",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs",
"RelativeDocumentMoniker": "COP3_\\FormMain.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs",
"RelativeToolTip": "COP3_\\FormMain.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T10:05:34.264Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "FormMain.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs",
"RelativeDocumentMoniker": "COP3_\\FormMain.cs",
"ToolTip": "C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormMain.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "COP3_\\FormMain.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-27T09:27:02.569Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1 @@
{"ShowEmptyProjects":false,"CustomColumnOrderings":{"name":0,"file-path":1,"file-name":2,"neutral-value":3,"neutral-comment":4,"type":5},"ShowValidationErrors":true,"SelectedResourceGroupsByProject":{"C:\\Users\\pyata\\source\\repos\\COP3_\\DataBaseImplement\\DataBaseImplement.csproj":[],"C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\DataModels.csproj":[],"C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj":[],"C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\COP3_.csproj":["C:\\Users\\pyata\\source\\repos\\COP3_\\COP3_\\FormGuide.resx"],"C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj":[]},"VisibleColumnKeys":["name","neutral-value","neutral-comment"]}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Contarcs\Contracs.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,85 @@
using Contracts.BindingModels;
using Contracts.BusinessLogicContracts;
using Contracts.SearchModels;
using Contracts.StorageContracts;
using Contracts.ViewModels;
namespace BusinessLogic
{
public class CityLogic : ICityStatusLogic
{
ICityStorage _orderStorage;
public CityLogic(ICityStorage orderStorage)
{
_orderStorage = orderStorage;
}
public bool Create(CityBindingModel model)
{
CheckModel(model, false);
if (_orderStorage.Insert(model) == null)
{
return false;
}
return true;
}
public bool Delete(CityBindingModel model)
{
CheckModel(model, false);
if (_orderStorage.Delete(model) == null)
{
return false;
}
return true;
}
public CityViewModel? ReadElement(CitySearchModel model)
{
if (model == null)
{
return null;
}
var element = _orderStorage.GetElement(model);
if (element == null)
{
return null;
}
return element;
}
public List<CityViewModel>? ReadList(CitySearchModel? model)
{
var list = model == null ? _orderStorage.GetFullList() : _orderStorage.GetFilteredList(model);
if (list == null)
{
return null;
}
return list;
}
public bool Update(CityBindingModel model)
{
CheckModel(model, false);
if (_orderStorage.Update(model) == null) { return false; }
return true;
}
private void CheckModel(CityBindingModel model, bool param = true)
{
if (model == null)
{
throw new ArgumentNullException($"Объект \"{model}\" нулл");
}
if (!param)
{
return;
}
if (model.Name == null || string.IsNullOrEmpty(model.Name))
{
throw new ArgumentNullException("Что-то с именем клиента - его нет почему-то");
}
}
}
}

View File

@ -0,0 +1,95 @@
using Contracts.BindingModels;
using Contracts.BusinessLogicContracts;
using Contracts.SearchModels;
using Contracts.StorageContracts;
using Contracts.ViewModels;
using System;
namespace BusinessLogic
{
public class OrderLogic : IOrderLogic
{
IOrderStorage _orderStorage;
public OrderLogic(IOrderStorage orderStorage)
{
_orderStorage = orderStorage;
}
public bool Create(OrderBindingModel model)
{
CheckModel(model, false);
if (_orderStorage.Insert(model) == null)
{
return false;
}
return true;
}
public bool Delete(OrderBindingModel model)
{
CheckModel(model, false);
if (_orderStorage.Delete(model) == null)
{
return false;
}
return true;
}
public OrderViewModel? ReadElement(OrderSearchModel model)
{
if (model == null)
{
return null;
}
var element = _orderStorage.GetElement(model);
if (element == null)
{
return null;
}
return element;
}
public List<OrderViewModel>? ReadList(OrderSearchModel? model)
{
var list = model == null ? _orderStorage.GetFullList() : _orderStorage.GetFilteredList(model);
if (list == null)
{
return null;
}
return list;
}
public bool Update(OrderBindingModel model)
{
CheckModel(model, false);
if (_orderStorage.Update(model) == null) { return false; }
return true;
}
private void CheckModel(OrderBindingModel model, bool param = true)
{
if (model == null)
{
throw new ArgumentNullException($"Объект \"{model}\" нулл");
}
if (!param)
{
return;
}
if (model.FIO == null || string.IsNullOrEmpty(model.FIO))
{
throw new ArgumentNullException("Что-то с именем клиента - его нет почему-то");
}
if (model.OrderDestination == null || string.IsNullOrEmpty(model.OrderDestination))
{
throw new ArgumentNullException("что-то с путём заказа - его нет почему-то");
}
if (model.OrderDeliveryTime == null)
{
throw new ArgumentNullException("Что-то со сроком доставки, его почему-то нет");
}
}
}
}

View File

@ -0,0 +1,55 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"BusinessLogic/1.0.0": {
"dependencies": {
"Contracs": "1.0.0"
},
"runtime": {
"BusinessLogic.dll": {}
}
},
"Contracs/1.0.0": {
"dependencies": {
"DataModels": "1.0.0"
},
"runtime": {
"Contracs.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"DataModels/1.0.0": {
"runtime": {
"DataModels.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"BusinessLogic/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Contracs/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DataModels/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,223 @@
{
"format": 1,
"restore": {
"C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj": {}
},
"projects": {
"C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj",
"projectName": "BusinessLogic",
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj",
"packagesPath": "C:\\Users\\pyata\\.nuget\\packages\\",
"outputPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\pyata\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\comp": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {
"C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj": {
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj",
"projectName": "Contracs",
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj",
"packagesPath": "C:\\Users\\pyata\\.nuget\\packages\\",
"outputPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\pyata\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\comp": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {
"C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\DataModels.csproj": {
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\DataModels.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\DataModels.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\DataModels.csproj",
"projectName": "DataModels",
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\DataModels.csproj",
"packagesPath": "C:\\Users\\pyata\\.nuget\\packages\\",
"outputPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\DataModels\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\pyata\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\comp": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("BusinessLogic")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("BusinessLogic")]
[assembly: System.Reflection.AssemblyTitleAttribute("BusinessLogic")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
70085b2509cf1ddd8fde9ad2f47bf4a7ce1fba38cce5d18ae5d772c1f45049b5

View File

@ -0,0 +1,22 @@
is_global = true
build_property.ApplicationManifest =
build_property.StartupObject =
build_property.ApplicationDefaultFont =
build_property.ApplicationHighDpiMode =
build_property.ApplicationUseCompatibleTextRendering =
build_property.ApplicationVisualStyles =
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = BusinessLogic
build_property.ProjectDir = C:\Users\pyata\source\repos\COP3_\BusinessLogic\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.CsWinRTUseWindowsUIXamlProjections = false
build_property.EffectiveAnalysisLevelStyle = 8.0
build_property.EnableCodeStyleSeverity =

View File

@ -0,0 +1,10 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Drawing;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
global using global::System.Windows.Forms;

View File

@ -0,0 +1 @@
484581b382f9df6e7c9992216da3e316a5f379839727af950ffdc005c181780d

View File

@ -0,0 +1,17 @@
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\BusinessLogic.deps.json
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\BusinessLogic.dll
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\BusinessLogic.pdb
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.AssemblyInfoInputs.cache
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.AssemblyInfo.cs
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.csproj.CoreCompileInputs.cache
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.dll
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\refint\BusinessLogic.dll
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.pdb
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\ref\BusinessLogic.dll
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\Contracs.dll
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\DataModels.dll
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\Contracs.pdb
C:\Users\pyata\source\repos\COP3_\BusinessLogic\bin\Debug\net8.0-windows\DataModels.pdb
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\BusinessLogic.csproj.AssemblyReference.cache
C:\Users\pyata\source\repos\COP3_\BusinessLogic\obj\Debug\net8.0-windows\Business.CF5D6E35.Up2Date

View File

@ -0,0 +1,130 @@
{
"version": 3,
"targets": {
"net8.0-windows7.0": {
"Contracs/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"dependencies": {
"DataModels": "1.0.0"
},
"compile": {
"bin/placeholder/Contracs.dll": {}
},
"runtime": {
"bin/placeholder/Contracs.dll": {}
},
"frameworkReferences": [
"Microsoft.WindowsDesktop.App.WindowsForms"
]
},
"DataModels/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/DataModels.dll": {}
},
"runtime": {
"bin/placeholder/DataModels.dll": {}
},
"frameworkReferences": [
"Microsoft.WindowsDesktop.App.WindowsForms"
]
}
}
},
"libraries": {
"Contracs/1.0.0": {
"type": "project",
"path": "../Contarcs/Contracs.csproj",
"msbuildProject": "../Contarcs/Contracs.csproj"
},
"DataModels/1.0.0": {
"type": "project",
"path": "../DataModels/DataModels.csproj",
"msbuildProject": "../DataModels/DataModels.csproj"
}
},
"projectFileDependencyGroups": {
"net8.0-windows7.0": [
"Contracs >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\pyata\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj",
"projectName": "BusinessLogic",
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj",
"packagesPath": "C:\\Users\\pyata\\.nuget\\packages\\",
"outputPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\pyata\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\comp": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {
"C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj": {
"projectPath": "C:\\Users\\pyata\\source\\repos\\COP3_\\Contarcs\\Contracs.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "yKJ69OjbktY=",
"success": true,
"projectFilePath": "C:\\Users\\pyata\\source\\repos\\COP3_\\BusinessLogic\\BusinessLogic.csproj",
"expectedPackageFiles": [],
"logs": []
}

52
COP3_.sln Normal file
View File

@ -0,0 +1,52 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35521.163
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "COP3_", "COP3_\COP3_.csproj", "{5F873328-EE2D-43AA-8CA4-D20618AB7E39}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataBaseImplement", "DataBaseImplement\DataBaseImplement.csproj", "{665C4846-99D6-4732-A9AC-EC02072308C1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BusinessLogic", "BusinessLogic\BusinessLogic.csproj", "{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contracs", "Contarcs\Contracs.csproj", "{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataModels", "DataModels\DataModels.csproj", "{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsLibrary1", "WinFormsLibrary1\WinFormsLibrary1.csproj", "{2A5FA4D6-DB5C-4407-9D47-66BB61DDE865}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5F873328-EE2D-43AA-8CA4-D20618AB7E39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F873328-EE2D-43AA-8CA4-D20618AB7E39}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F873328-EE2D-43AA-8CA4-D20618AB7E39}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F873328-EE2D-43AA-8CA4-D20618AB7E39}.Release|Any CPU.Build.0 = Release|Any CPU
{665C4846-99D6-4732-A9AC-EC02072308C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{665C4846-99D6-4732-A9AC-EC02072308C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{665C4846-99D6-4732-A9AC-EC02072308C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{665C4846-99D6-4732-A9AC-EC02072308C1}.Release|Any CPU.Build.0 = Release|Any CPU
{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46BBA540-7DAB-4548-B486-E4A6E4C2C95E}.Release|Any CPU.Build.0 = Release|Any CPU
{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AD68ED7-C48E-460B-AA6B-3A4BDC456480}.Release|Any CPU.Build.0 = Release|Any CPU
{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC4BA75E-0706-40EA-BE5B-B43F34FB0919}.Release|Any CPU.Build.0 = Release|Any CPU
{2A5FA4D6-DB5C-4407-9D47-66BB61DDE865}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2A5FA4D6-DB5C-4407-9D47-66BB61DDE865}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A5FA4D6-DB5C-4407-9D47-66BB61DDE865}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A5FA4D6-DB5C-4407-9D47-66BB61DDE865}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

28
COP3_/COP3_.csproj Normal file
View File

@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Components" Version="1.0.1" />
<PackageReference Include="FixedWinFormsLibrary1" Version="1.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
<PackageReference Include="UserComponentsOption19" Version="1.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BusinessLogic\BusinessLogic.csproj" />
<ProjectReference Include="..\Contarcs\Contracs.csproj" />
<ProjectReference Include="..\DataBaseImplement\DataBaseImplement.csproj" />
</ItemGroup>
</Project>

14
COP3_/COP3_.csproj.user Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="FormEdit.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="FormGuide.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="FormMain.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

186
COP3_/FormEdit.Designer.cs generated Normal file
View File

@ -0,0 +1,186 @@
namespace COP3_
{
partial class FormEdit
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
textBoxFIO = new TextBox();
labelFIO = new Label();
labelGoodDescription = new Label();
labelOrderSum = new Label();
labelOrderStatus = new Label();
selectComponentOrderStatus = new UserComponentsOption19.SelectComponent();
buttonClose = new Button();
buttonSave = new Button();
userControlDatePicker1 = new Components.UserControlDatePicker();
userControlCheckedList1 = new Components.UserControlCheckedList();
SuspendLayout();
//
// textBoxFIO
//
textBoxFIO.Location = new Point(13, 33);
textBoxFIO.Margin = new Padding(3, 2, 3, 2);
textBoxFIO.Name = "textBoxFIO";
textBoxFIO.Size = new Size(303, 23);
textBoxFIO.TabIndex = 1;
textBoxFIO.TextChanged += valueChanged;
//
// labelFIO
//
labelFIO.AutoSize = true;
labelFIO.Location = new Point(13, 16);
labelFIO.Name = "labelFIO";
labelFIO.Size = new Size(34, 15);
labelFIO.TabIndex = 4;
labelFIO.Text = "ФИО";
//
// labelGoodDescription
//
labelGoodDescription.Anchor = AnchorStyles.Top | AnchorStyles.Right;
labelGoodDescription.AutoSize = true;
labelGoodDescription.Location = new Point(510, 9);
labelGoodDescription.Name = "labelGoodDescription";
labelGoodDescription.Size = new Size(73, 15);
labelGoodDescription.TabIndex = 7;
labelGoodDescription.Text = "Путь товара";
//
// labelOrderSum
//
labelOrderSum.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
labelOrderSum.AutoSize = true;
labelOrderSum.Location = new Point(12, 151);
labelOrderSum.Name = "labelOrderSum";
labelOrderSum.Size = new Size(87, 15);
labelOrderSum.TabIndex = 9;
labelOrderSum.Text = "Срок доставки";
//
// labelOrderStatus
//
labelOrderStatus.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
labelOrderStatus.AutoSize = true;
labelOrderStatus.Location = new Point(10, 66);
labelOrderStatus.Name = "labelOrderStatus";
labelOrderStatus.Size = new Size(101, 15);
labelOrderStatus.TabIndex = 10;
labelOrderStatus.Text = "Пунт назначения";
//
// selectComponentOrderStatus
//
selectComponentOrderStatus.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
selectComponentOrderStatus.Location = new Point(10, 83);
selectComponentOrderStatus.Margin = new Padding(3, 2, 3, 2);
selectComponentOrderStatus.Name = "selectComponentOrderStatus";
selectComponentOrderStatus.SelectedValue = "";
selectComponentOrderStatus.Size = new Size(165, 27);
selectComponentOrderStatus.TabIndex = 11;
selectComponentOrderStatus.SelectComponentChanged += valueChanged;
//
// buttonClose
//
buttonClose.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonClose.BackColor = Color.IndianRed;
buttonClose.ForeColor = SystemColors.ButtonHighlight;
buttonClose.Location = new Point(510, 325);
buttonClose.Margin = new Padding(3, 2, 3, 2);
buttonClose.Name = "buttonClose";
buttonClose.Size = new Size(121, 35);
buttonClose.TabIndex = 12;
buttonClose.Text = "Закрыть";
buttonClose.UseVisualStyleBackColor = false;
buttonClose.Click += buttonClose_Click;
//
// buttonSave
//
buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonSave.BackColor = Color.LightGreen;
buttonSave.ForeColor = Color.DarkGreen;
buttonSave.Location = new Point(707, 325);
buttonSave.Margin = new Padding(3, 2, 3, 2);
buttonSave.Name = "buttonSave";
buttonSave.Size = new Size(121, 35);
buttonSave.TabIndex = 13;
buttonSave.Text = "Сохранить";
buttonSave.UseVisualStyleBackColor = false;
buttonSave.Click += buttonSave_Click;
//
// userControlDatePicker1
//
userControlDatePicker1.BackColor = Color.Orange;
userControlDatePicker1.Location = new Point(12, 169);
userControlDatePicker1.Name = "userControlDatePicker1";
userControlDatePicker1.Size = new Size(193, 50);
userControlDatePicker1.TabIndex = 14;
//
// userControlCheckedList1
//
userControlCheckedList1.BackColor = Color.Firebrick;
userControlCheckedList1.Location = new Point(510, 43);
userControlCheckedList1.Name = "userControlCheckedList1";
userControlCheckedList1.Size = new Size(318, 259);
userControlCheckedList1.TabIndex = 15;
//
// FormEdit
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(903, 371);
Controls.Add(userControlCheckedList1);
Controls.Add(userControlDatePicker1);
Controls.Add(buttonSave);
Controls.Add(buttonClose);
Controls.Add(selectComponentOrderStatus);
Controls.Add(labelOrderStatus);
Controls.Add(labelOrderSum);
Controls.Add(labelGoodDescription);
Controls.Add(labelFIO);
Controls.Add(textBoxFIO);
Margin = new Padding(3, 2, 3, 2);
Name = "FormEdit";
Text = "Редактировать/добавить сущность";
Load += FormEdit_Add_Load;
ResumeLayout(false);
PerformLayout();
}
#endregion
private TextBox textBoxFIO;
private TextBox textBoxLastName;
private TextBox textBoxPatronymic;
private Label labelFIO;
private Label labelLastName;
private Label labelPatronymic;
private Label labelGoodDescription;
private TextBox textBoxGoodDescription;
private Label labelOrderSum;
private Label labelOrderStatus;
private UserComponentsOption19.SelectComponent selectComponentOrderStatus;
private Button buttonClose;
private Button buttonSave;
private Components.UserControlDatePicker userControlDatePicker1;
private Components.UserControlCheckedList userControlCheckedList1;
}
}

124
COP3_/FormEdit.cs Normal file
View File

@ -0,0 +1,124 @@
using Contracts.BindingModels;
using Contracts.BusinessLogicContracts;
using Contracts.SearchModels;
namespace COP3_
{
public partial class FormEdit : Form
{
private readonly IOrderLogic _orderLogic;
private readonly ICityStatusLogic _orderStatusLogic;
private int? _id;
public int Id { set { _id = value; } }
private bool isChanged = false;
public FormEdit(IOrderLogic orderLogic, ICityStatusLogic orderStatusLogic)
{
_orderLogic = orderLogic;
_orderStatusLogic = orderStatusLogic;
InitializeComponent();
selectComponentOrderStatus.FillList(_orderStatusLogic.ReadList(null), "Name");
textBoxFIO.TextChanged += valueChanged;
selectComponentOrderStatus.SelectComponentChanged += valueChanged;
userControlDatePicker1.MinDate = DateTime.Today.AddDays(1);
userControlDatePicker1.MaxDate = DateTime.Today.AddDays(3);
}
private void FormEdit_Add_Load(object sender, EventArgs e)
{
LoadData();
List<string> list = new List<string>();
foreach(var val in _orderStatusLogic.ReadList(null))
{
list.Add(val.Name);
}
}
private void LoadData()
{
try
{
if (_id != null)
{
var element = _orderLogic.ReadElement(new OrderSearchModel { Id = _id.Value });
if (element != null)
{
textBoxFIO.Text = element.FIO;
textBoxGoodDescription.Text = element.OrderPath.ToString();
selectComponentOrderStatus.SelectedValue = element.OrderDestination;
userControlDatePicker1.Date = element.OrderDeliveryTime;
}
}
isChanged = false;
}
catch (Exception)
{
throw;
}
}
private void valueChanged(object sender, EventArgs e)
{
isChanged = true;
}
private void buttonClose_Click(object sender, EventArgs e)
{
if (isChanged == true)
{
var result = MessageBox.Show(
"Есть несохраненные изменения. Вы уверены, что хотите закрыть?",
"Подтверждение",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
if (result == DialogResult.Yes)
{
Close();
}
else if (result == DialogResult.No)
{
MessageBox.Show("Окей, тогда делайте дальше)", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
Close();
}
}
private void buttonSave_Click(object sender, EventArgs e)
{
try
{
var element = new OrderBindingModel
{
Id = _id ?? 0,
FIO = textBoxFIO.Text,
OrderPath = textBoxGoodDescription.Text.Split(", "),
OrderDestination = selectComponentOrderStatus.SelectedValue.ToString(),
OrderDeliveryTime = userControlDatePicker1.Date,
};
var operatingResult = _id.HasValue ? _orderLogic.Update(element) : _orderLogic.Create(element);
if (!operatingResult)
{
throw new Exception("Ошибка при создании сущности");
}
MessageBox.Show("Создание сущности прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult = DialogResult.OK;
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}

120
COP3_/FormEdit.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

95
COP3_/FormGuide.Designer.cs generated Normal file
View File

@ -0,0 +1,95 @@
using DataBaseImplements.Models;
namespace COP3_
{
partial class FormGuide
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
dataGridViewGuide = new DataGridView();
OrderStatus = new DataGridViewTextBoxColumn();
ID = new DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)dataGridViewGuide).BeginInit();
SuspendLayout();
//
// dataGridViewGuide
//
dataGridViewGuide.AllowUserToAddRows = false;
dataGridViewGuide.AllowUserToDeleteRows = false;
dataGridViewGuide.AllowUserToResizeColumns = false;
dataGridViewGuide.AllowUserToResizeRows = false;
dataGridViewGuide.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
dataGridViewGuide.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridViewGuide.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridViewGuide.Columns.AddRange(new DataGridViewColumn[] { OrderStatus, ID });
dataGridViewGuide.EditMode = DataGridViewEditMode.EditOnF2;
dataGridViewGuide.Location = new Point(12, 11);
dataGridViewGuide.MultiSelect = false;
dataGridViewGuide.Name = "dataGridViewGuide";
dataGridViewGuide.RowHeadersVisible = false;
dataGridViewGuide.RowHeadersWidth = 51;
dataGridViewGuide.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridViewGuide.Size = new Size(282, 411);
dataGridViewGuide.TabIndex = 0;
dataGridViewGuide.CellEndEdit += dataGridViewGuide_CellEndEdit;
dataGridViewGuide.CellValidating += dataGridViewGuide_CellValidating;
dataGridViewGuide.KeyDown += dataGridViewGuide_KeyDown;
//
// ID
//
ID.HeaderText = "Id";
ID.MinimumWidth = 6;
ID.Name = "Id";
ID.Visible = false;
//
// OrderStatus
//
OrderStatus.HeaderText = "Статус заказа";
OrderStatus.MinimumWidth = 6;
OrderStatus.Name = "OrderStatus";
//
// FormGuide
//
AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(306, 435);
Controls.Add(dataGridViewGuide);
Name = "FormGuide";
Text = "Справочник";
((System.ComponentModel.ISupportInitialize)dataGridViewGuide).EndInit();
ResumeLayout(false);
}
#endregion
private DataGridView dataGridViewGuide;
private DataGridViewTextBoxColumn OrderStatus;
private DataGridViewTextBoxColumn ID;
}
}

140
COP3_/FormGuide.cs Normal file
View File

@ -0,0 +1,140 @@
using BusinessLogic;
using Contracts.BindingModels;
using Contracts.BusinessLogicContracts;
using Contracts.SearchModels;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace COP3_
{
public partial class FormGuide : Form
{
private readonly ICityStatusLogic _orderStatusLogic;
public FormGuide(ICityStatusLogic orderStatusLogic)
{
_orderStatusLogic = orderStatusLogic;
InitializeComponent();
LoadData();
}
private void LoadData()
{
try
{
var orderStatuses = _orderStatusLogic.ReadList(null);
if (orderStatuses != null)
{
dataGridViewGuide.Rows.Clear();
foreach (var status in orderStatuses)
{
dataGridViewGuide.Rows.Add(status.Name, status.Id);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void dataGridViewGuide_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Insert)
{
dataGridViewGuide.Rows.Add();
dataGridViewGuide.CurrentCell = dataGridViewGuide.Rows[dataGridViewGuide.Rows.Count - 1].Cells["OrderStatus"]; // Ставим фокус на новую строку
e.Handled = true;
}
if (e.KeyCode == Keys.Delete)
{
if (dataGridViewGuide.SelectedRows.Count == 1)
{
DataGridViewRow currentRow = dataGridViewGuide.SelectedRows[0];
if (currentRow.Cells["Id"].Value != null || Convert.ToInt32(currentRow.Cells["Id"].Value) != 0)
{
var result = MessageBox.Show(
"Подтвердите удаление",
"Подтверждение",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
if (result == DialogResult.Yes)
{
_orderStatusLogic.Delete(new CityBindingModel { Id = Convert.ToInt32(currentRow.Cells["Id"].Value) });
MessageBox.Show("Удалено");
LoadData();
}
else
{
MessageBox.Show("Удаление отменено", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("Нечего удалять", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void dataGridViewGuide_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
string? userInput = e.FormattedValue.ToString();
if (string.IsNullOrWhiteSpace(userInput))
{
MessageBox.Show("Введите значение в поле", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
e.Cancel = true;
}
}
private void dataGridViewGuide_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
try
{
DataGridViewRow currentRow = dataGridViewGuide.Rows[e.RowIndex];
if (currentRow.Cells["Id"].Value == null || Convert.ToInt32(currentRow.Cells["Id"].Value) == 0)
{
_orderStatusLogic.Create(new CityBindingModel
{
Name = currentRow.Cells["OrderStatus"].Value.ToString()!,
});
}
else
{
_orderStatusLogic.Update(new CityBindingModel
{
Id = Convert.ToInt32(currentRow.Cells["Id"].Value),
Name = currentRow.Cells["OrderStatus"].Value.ToString(),
});
}
MessageBox.Show("Новая запись сохранена");
}
catch (Exception ex)
{
MessageBox.Show("Попробуйте ещё раз" + ex.Message);
}
}
}
}

126
COP3_/FormGuide.resx Normal file
View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="OrderStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

146
COP3_/FormMain.Designer.cs generated Normal file
View File

@ -0,0 +1,146 @@
namespace COP3_
{
partial class FormMain
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
contextMenuStrip1 = new ContextMenuStrip(components);
созданиеЗаписиToolStripMenuItem = new ToolStripMenuItem();
открытиеЗаписиToolStripMenuItem = new ToolStripMenuItem();
удалениеЗаписиToolStripMenuItem = new ToolStripMenuItem();
созданиеПростогоДокументаToolStripMenuItem = new ToolStripMenuItem();
созданиеДокументаСТаблицейToolStripMenuItem = new ToolStripMenuItem();
созданиеДокументаСДиаграммойToolStripMenuItem = new ToolStripMenuItem();
справочникToolStripMenuItem = new ToolStripMenuItem();
bigTextWordNoVisibleComponent1 = new UserComponentsOption19.BigTextWordNoVisibleComponent(components);
componentExcelWithPieDiagram1 = new Components.ComponentExcelWithPieDiagram(components);
diagramWordNoVisibleComponent1 = new UserComponentsOption19.DiagramWordNoVisibleComponent(components);
listComponent1 = new UserComponentsOption19.ListComponent();
contextMenuStrip1.SuspendLayout();
SuspendLayout();
//
// contextMenuStrip1
//
contextMenuStrip1.AllowDrop = true;
contextMenuStrip1.Items.AddRange(new ToolStripItem[] { созданиеЗаписиToolStripMenuItem, открытиеЗаписиToolStripMenuItem, удалениеЗаписиToolStripMenuItem, созданиеПростогоДокументаToolStripMenuItem, созданиеДокументаСТаблицейToolStripMenuItem, созданиеДокументаСДиаграммойToolStripMenuItem, справочникToolStripMenuItem });
contextMenuStrip1.LayoutStyle = ToolStripLayoutStyle.Table;
contextMenuStrip1.Name = "contextMenuStrip1";
contextMenuStrip1.Size = new Size(311, 158);
contextMenuStrip1.Opening += contextMenuStrip1_Opening;
//
// созданиеЗаписиToolStripMenuItem
//
созданиеЗаписиToolStripMenuItem.Name = "созданиеЗаписиToolStripMenuItem";
созданиеЗаписиToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.A;
созданиеЗаписиToolStripMenuItem.Size = new Size(310, 22);
созданиеЗаписиToolStripMenuItem.Text = "Создание записи";
созданиеЗаписиToolStripMenuItem.Click += Create;
//
// открытиеЗаписиToolStripMenuItem
//
открытиеЗаписиToolStripMenuItem.Name = "открытиеЗаписиToolStripMenuItem";
открытиеЗаписиToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.U;
открытиеЗаписиToolStripMenuItem.Size = new Size(310, 22);
открытиеЗаписиToolStripMenuItem.Text = "Открытие записи";
открытиеЗаписиToolStripMenuItem.Click += Open;
//
// удалениеЗаписиToolStripMenuItem
//
удалениеЗаписиToolStripMenuItem.Name = "удалениеЗаписиToolStripMenuItem";
удалениеЗаписиToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.D;
удалениеЗаписиToolStripMenuItem.Size = new Size(310, 22);
удалениеЗаписиToolStripMenuItem.Text = "Удаление записи";
удалениеЗаписиToolStripMenuItem.Click += Delete;
//
// созданиеПростогоДокументаToolStripMenuItem
//
созданиеПростогоДокументаToolStripMenuItem.Name = "созданиеПростогоДокументаToolStripMenuItem";
созданиеПростогоДокументаToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.S;
созданиеПростогоДокументаToolStripMenuItem.Size = new Size(310, 22);
созданиеПростогоДокументаToolStripMenuItem.Text = "Создание простого документа";
//
// созданиеДокументаСТаблицейToolStripMenuItem
//
созданиеДокументаСТаблицейToolStripMenuItem.Name = "созданиеДокументаСТаблицейToolStripMenuItem";
созданиеДокументаСТаблицейToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.T;
созданиеДокументаСТаблицейToolStripMenuItem.Size = new Size(310, 22);
созданиеДокументаСТаблицейToolStripMenuItem.Text = "Создание документа с таблицей";
//
// созданиеДокументаСДиаграммойToolStripMenuItem
//
созданиеДокументаСДиаграммойToolStripMenuItem.Name = "созданиеДокументаСДиаграммойToolStripMenuItem";
созданиеДокументаСДиаграммойToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.C;
созданиеДокументаСДиаграммойToolStripMenuItem.Size = new Size(310, 22);
созданиеДокументаСДиаграммойToolStripMenuItem.Text = "Создание документа с диаграммой";
//
// справочникToolStripMenuItem
//
справочникToolStripMenuItem.Name = "справочникToolStripMenuItem";
справочникToolStripMenuItem.Size = new Size(310, 22);
справочникToolStripMenuItem.Text = "Справочник";
справочникToolStripMenuItem.Click += справочникToolStripMenuItem_Click;
//
// listComponent1
//
listComponent1.ContextMenuStrip = contextMenuStrip1;
listComponent1.Dock = DockStyle.Fill;
listComponent1.Location = new Point(0, 0);
listComponent1.Margin = new Padding(3, 2, 3, 2);
listComponent1.Name = "listComponent1";
listComponent1.SelectedIndex = -1;
listComponent1.Size = new Size(800, 450);
listComponent1.TabIndex = 1;
//
// FormMain
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450);
Controls.Add(listComponent1);
Name = "FormMain";
Text = "Form1";
Load += FormMain_Load;
contextMenuStrip1.ResumeLayout(false);
ResumeLayout(false);
}
#endregion
private ContextMenuStrip contextMenuStrip1;
private ToolStripMenuItem созданиеЗаписиToolStripMenuItem;
private ToolStripMenuItem открытиеЗаписиToolStripMenuItem;
private ToolStripMenuItem удалениеЗаписиToolStripMenuItem;
private ToolStripMenuItem созданиеДокументаСТаблицейToolStripMenuItem;
private ToolStripMenuItem созданиеДокументаСДиаграммойToolStripMenuItem;
private ToolStripMenuItem созданиеПростогоДокументаToolStripMenuItem;
private UserComponentsOption19.BigTextWordNoVisibleComponent bigTextWordNoVisibleComponent1;
private Components.ComponentExcelWithPieDiagram componentExcelWithPieDiagram1;
private UserComponentsOption19.DiagramWordNoVisibleComponent diagramWordNoVisibleComponent1;
private ToolStripMenuItem справочникToolStripMenuItem;
private UserComponentsOption19.ListComponent listComponent1;
}
}

278
COP3_/FormMain.cs Normal file
View File

@ -0,0 +1,278 @@
using Components;
using Contracts.BindingModels;
using Contracts.BusinessLogicContracts;
namespace COP3_
{
public partial class FormMain : Form
{
private readonly IOrderLogic _orderLogic;
public FormMain(IOrderLogic orderLogic)
{
InitializeComponent();
_orderLogic = orderLogic;
this.KeyPreview = true;
LoadData();
}
private void FormMain_Load(object sender, EventArgs e)
{
LoadData();
}
private void LoadData()
{
try
{
var orders = _orderLogic.ReadList(null);
}
catch (Exception ex)
{
MessageBox.Show($"{ex.Message}");
}
}
private void Create(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormEdit));
if (!(service is FormEdit form))
{
return;
}
if (form.ShowDialog() == DialogResult.OK)
{
LoadData();
}
}
private void Open(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormEdit));
if (!(service is FormEdit form))
{
return;
}
var selectedOrder = listComponent1.GetObjectFromSelectedRow<OrderBindingModel>();
form.Id = Convert.ToInt32(selectedOrder.Id);
if (form.ShowDialog() == DialogResult.OK)
{
LoadData();
}
}
private void Delete(object sender, EventArgs e)
{
try
{
var selectedOrder = listComponent1.GetObjectFromSelectedRow<OrderBindingModel>();
if (selectedOrder != null)
{
var result = MessageBox.Show(
"Ïîäòâåðäèòå óäàëåíèå çàïèñè",
"Ïîäòâåðæäåíèå",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
if (result == DialogResult.Yes)
{
_orderLogic.Delete(new OrderBindingModel { Id = selectedOrder.Id });
MessageBox.Show("Óäàëåíî");
LoadData();
}
else if (result == DialogResult.No)
{
MessageBox.Show("Óäàëåíèå îòìåíåíî", "Èíôîðìàöèÿ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
LoadData();
}
LoadData();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void CreateDoc(object sender, EventArgs e)
{
using (SaveFileDialog saveFileDialog = new SaveFileDialog())
{
saveFileDialog.Filter = "Word Documents (*.docx)|*.docx";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = saveFileDialog.FileName;
string title = "çàêàçû, êîòîðûå îïëà÷åíû ïîëíîñòüþ çà ñ÷åò ñêèäîê :D";
string[] data;
try
{
var orders = _orderLogic.ReadList(null);
if (orders != null)
{
/* // Ôèëüòðóåì çàêàçû, ãäå ñóììà çàêàçà ðàâíà null èëè ïóñòîé ñòðîêå
var freeOrders = orders
.Where(x => string.IsNullOrEmpty(x.OrderDeliveryTime))
.Select(x => $"ID: {x.Id}, ÔÈÎ: {x.FIO}, Ñòàòóñ çàêàçà: {x.OrderDestination}, Îïèñàíèå çàêàçà: {x.OrderPath}")
.ToList();
if (freeOrders.Count == 0)
{
MessageBox.Show("Íåò çàêàçîâ, îïëà÷åííûõ ñêèäêàìè.");
return;
}
*/
// Ïðåîáðàçóåì ñïèñîê â ìàññèâ ñòðîê äëÿ ïåðåäà÷è â ìåòîä
//data = freeOrders.ToArray();
// Ñîçäàåì äîêóìåíò Word
// bigTextWordNoVisibleComponent1.CreateAndSaveDocument(filePath, title, data);
MessageBox.Show("Óñïåøíî :D ïðîâåðÿé íàëè÷èå ôàéëà...");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
private void CreateTableDoc(object sender, EventArgs e)
{
using (SaveFileDialog saveFileDialog = new SaveFileDialog())
{
saveFileDialog.Filter = "Excel Files (*.xlsx)|*.xlsx";
saveFileDialog.Title = "Ñîõðàíèòü äèàãðàììó â Excel";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = saveFileDialog.FileName;
try
{
var orders = _orderLogic.ReadList(null);
if (orders == null || !orders.Any())
{
MessageBox.Show("Íåò äàííûõ äëÿ ñîçäàíèÿ äèàãðàììû.");
return;
}
/* var groupedData = orders
.Where(o => o.OrderDeliveryTime != null && o.OrderDeliveryTime != "" && o.OrderDeliveryTime != string.Empty)
.GroupBy(o => o.OrderDestination)
.Select(g => new ComponentExcelWithPieDiagram.ChartData
{
SeriesName = g.Key,
SeriesValue = g.Count()
})
.ToList();
if (!groupedData.Any())
{
MessageBox.Show("Íåò îïëà÷åííûõ çàêàçîâ.");
return;
}
string title = "Îïëà÷åííûå çàêàçû ïî ñòàòóñàì";
string diagramTitle = "Ðàñïðåäåëåíèå îïëà÷åííûõ çàêàçîâ";
componentExcelWithPieDiagram1.CreateExcelWithPieChart(
filePath,
title,
diagramTitle,
ComponentExcelWithPieDiagram.LegendPosition.Left,
groupedData
);*/
MessageBox.Show("Ôàéë óñïåøíî ñîçäàí.", "Èíôîðìàöèÿ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show($"Îøèáêà ïðè ñîçäàíèè ôàéëà: {ex.Message}", "Îøèáêà", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
private void CreateDiagramDoc(object sender, EventArgs e)
{
using (SaveFileDialog fileDialog = new SaveFileDialog())
{
fileDialog.Filter = "PDF Files (*.pdf)|*.pdf";
fileDialog.Title = "Ñîõðàíèòü äèàãðàììó â PDF";
if (fileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = fileDialog.FileName;
string fileTitle = "Èíôîðìàöèÿ î çàêàçàõ";
try
{
var orders = _orderLogic.ReadList(null);
/* if (orders == null || !orders.Any())
{
MessageBox.Show("Íåò äàííûõ");
return;
}
List<UserComponentsOption19.DiagramWordNoVisibleComponent.ChartSeries> tables = new List<UserComponentsOption19.DiagramWordNoVisibleComponent.ChartSeries>();
string[,] tableData = new string[orders.Count + 1, 5];
// Øàïêà òàáëèöû
tableData[0, 0] = "Èäåíòèôèêàòîð";
tableData[0, 1] = "ÔÈÎ";
tableData[0, 2] = "Ñòàòóñ çàêàçà";
tableData[0, 3] = "Ñóììà çàêàçîâ";
tableData[0, 4] = "Îïèñàíèå";
for (int i = 0; i < orders.Count; i++)
{
var order = orders[i];
tableData[i + 1, 0] = order.Id.ToString();
tableData[i + 1, 1] = order.FIO;
tableData[i + 1, 2] = order.OrderDestination;
tableData[i + 1, 3] = string.IsNullOrWhiteSpace(order.OrderDeliveryTime)
? "Îïëà÷åí ñêèäêàìè"
: order.OrderDeliveryTime;
tableData[i + 1, 4] = order.OrderPath;
}
diagramWordNoVisibleComponent1.CreateDocumentWithChart(filePath, fileTitle, "", UserComponentsOption19.DiagramWordNoVisibleComponent.LegendPosition.Bottom, tables);
*/
MessageBox.Show("Ôàéë óñïåøíî ñîçäàí.", "Èíôîðìàöèÿ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show($"Îøèáêà ïðè ñîçäàíèè ôàéëà: {ex.Message}", "Îøèáêà", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
{
}
private void ñïðàâî÷íèêToolStripMenuItem_Click(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormGuide));
if (!(service is FormGuide form))
{
return;
}
if (form.ShowDialog() == DialogResult.OK)
{
LoadData();
}
}
}
}

132
COP3_/FormMain.resx Normal file
View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="bigTextWordNoVisibleComponent1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>172, 17</value>
</metadata>
<metadata name="componentExcelWithPieDiagram1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>399, 21</value>
</metadata>
<metadata name="diagramWordNoVisibleComponent1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>634, 21</value>
</metadata>
</root>

52
COP3_/Program.cs Normal file
View File

@ -0,0 +1,52 @@
using BusinessLogic;
using Contracts.BusinessLogicContracts;
using Contracts.StorageContracts;
using DataBaseImplements.Implements;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;
namespace COP3_
{
internal static class Program
{
private static ServiceProvider? _serviceProvider;
/// <summary>
/// </summary>
public static ServiceProvider? ServiceProvider => _serviceProvider;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
var services = new ServiceCollection();
ConfigureServices(services);
_serviceProvider = services.BuildServiceProvider();
Application.Run(_serviceProvider.GetRequiredService<FormMain>());
}
private static void ConfigureServices(ServiceCollection services)
{
services.AddLogging(option =>
{
option.SetMinimumLevel(LogLevel.Information);
//option.AddNLog("nlog.config");
});
services.AddTransient<IOrderStorage, OrderStorage>();
services.AddTransient<ICityStorage, CityStorage>();
services.AddTransient<IOrderLogic, OrderLogic>();
services.AddTransient<ICityStatusLogic, CityLogic>();
services.AddTransient<FormMain>();
services.AddTransient<FormEdit>();
services.AddTransient<FormGuide>();
}
}
}

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,20 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.Reflection.NullabilityInfoContext.IsSupported": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
}
}
}

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.

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