first commit

This commit is contained in:
Aria 2026-05-14 15:38:46 +04:00
commit 0d52423c92
71 changed files with 5110 additions and 0 deletions

BIN
ER-PDF.pdf Normal file

Binary file not shown.

280
ScriptBD.sql Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,420 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|c:\\users\\student\\desktop\\modul_skryabina\\skryabinamodul\\skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\producteditform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\producteditform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\admin.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\admin.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\guest.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\guest.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\manager.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\manager.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\client.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\client.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 20,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "OrdersEditForm.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs",
"RelativeToolTip": "SkryabinaModul\\OrdersEditForm.cs",
"ViewState": "AgIAAFIAAAAAAAAAAAAcwG0AAABxAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:35:48.151Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "OrdersEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\OrdersEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:34:33.323Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "OrdersAdmin.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersAdmin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs",
"RelativeToolTip": "SkryabinaModul\\OrdersAdmin.cs",
"ViewState": "AgIAAC8AAAAAAAAAAAA1wEwAAABRAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:29:53.293Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "OrdersAdmin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersAdmin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\OrdersAdmin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:27:33.599Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "OrdersManager.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersManager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs",
"RelativeToolTip": "SkryabinaModul\\OrdersManager.cs",
"ViewState": "AgIAABEAAAAAAAAAAAAmwCgAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:14:50.125Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "OrdersManager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersManager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\OrdersManager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:12:32.263Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "Guest.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Guest.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs",
"RelativeToolTip": "SkryabinaModul\\Guest.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAACTAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:01:15.059Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "Guest.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Guest.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Guest.Designer.cs",
"ViewState": "AgIAAC4AAAAAAAAAAAApwEkAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:00:19.484Z"
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "Client.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Client.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs",
"RelativeToolTip": "SkryabinaModul\\Client.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABMAAAAbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:58:06.815Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "Manager.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Manager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs",
"RelativeToolTip": "SkryabinaModul\\Manager.cs",
"ViewState": "AgIAAEYAAAAAAAAAAAASwFgAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:55:11.21Z"
},
{
"$type": "Document",
"DocumentIndex": 22,
"Title": "Manager.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Manager.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Manager.Designer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAYwIMAAABUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:54:28.495Z"
},
{
"$type": "Document",
"DocumentIndex": 23,
"Title": "Client.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Client.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Client.Designer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:54:08.898Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "Class1.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Class1.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Class1.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Class1.cs",
"RelativeToolTip": "SkryabinaModul\\Class1.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:26:13.043Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "ProductEditForm.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\ProductEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs",
"RelativeToolTip": "SkryabinaModul\\ProductEditForm.cs",
"ViewState": "AgIAAEgAAAAAAAAAAAAAAGoAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:23:22.722Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "ProductEditForm.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\ProductEditForm.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\ProductEditForm.Designer.cs",
"ViewState": "AgIAABEBAAAAAAAAAADwvxkBAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:22:52.901Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ProductEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\ProductEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\ProductEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:22:19.812Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Admin.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Admin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs",
"RelativeToolTip": "SkryabinaModul\\Admin.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAD0AAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:21:11.655Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "Admin.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Admin.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Admin.Designer.cs",
"ViewState": "AgIAAHEAAAAAAAAAAAAwwH4AAAA7AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:20:13.813Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Form1.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Form1.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs",
"RelativeToolTip": "SkryabinaModul\\Form1.cs",
"ViewState": "AgIAABcAAAAAAAAAAAAUwDUAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:16:24.514Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 24,
"Title": "Form1.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Form1.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Form1.Designer.cs",
"ViewState": "AgIAAEwAAAAAAAAAAADwv2AAAABQAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:13:33.445Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Guest.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Guest.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Guest.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:03:21.947Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Manager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Manager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Manager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:03:02.065Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "Client.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Client.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Client.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:02:50.887Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "Admin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Admin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Admin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:02:35.015Z"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Form1.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:02:02.699Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,420 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|c:\\users\\student\\desktop\\modul_skryabina\\skryabinamodul\\skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\orderseditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\producteditform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\producteditform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersadmin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\producteditform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\admin.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\admin.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\admin.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\ordersmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\guest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\manager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\client.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\class1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\guest.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\guest.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\manager.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\manager.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\client.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\client.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\skryabinamodul\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9BE5A1F3-D5DA-4431-9A90-979504879292}|SkryabinaModul\\SkryabinaModul.csproj|solutionrelative:skryabinamodul\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 20,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "OrdersEditForm.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs",
"RelativeToolTip": "SkryabinaModul\\OrdersEditForm.cs",
"ViewState": "AgIAAFIAAAAAAAAAAAAcwG0AAABxAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:35:48.151Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "OrdersEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\OrdersEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:34:33.323Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "OrdersAdmin.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersAdmin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs",
"RelativeToolTip": "SkryabinaModul\\OrdersAdmin.cs",
"ViewState": "AgIAAC8AAAAAAAAAAAA1wEwAAABRAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:29:53.293Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "OrdersAdmin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersAdmin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersAdmin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\OrdersAdmin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:27:33.599Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "OrdersManager.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersManager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs",
"RelativeToolTip": "SkryabinaModul\\OrdersManager.cs",
"ViewState": "AgIAABEAAAAAAAAAAAAmwCgAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:14:50.125Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "OrdersManager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\OrdersManager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\OrdersManager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\OrdersManager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:12:32.263Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "Guest.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Guest.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs",
"RelativeToolTip": "SkryabinaModul\\Guest.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAACTAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:01:15.059Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "Guest.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Guest.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Guest.Designer.cs",
"ViewState": "AgIAAC4AAAAAAAAAAAApwEkAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T10:00:19.484Z"
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "Client.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Client.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs",
"RelativeToolTip": "SkryabinaModul\\Client.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABMAAAAbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:58:06.815Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "Manager.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Manager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs",
"RelativeToolTip": "SkryabinaModul\\Manager.cs",
"ViewState": "AgIAAEYAAAAAAAAAAAASwFgAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:55:11.21Z"
},
{
"$type": "Document",
"DocumentIndex": 22,
"Title": "Manager.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Manager.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Manager.Designer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAYwIMAAABUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:54:28.495Z"
},
{
"$type": "Document",
"DocumentIndex": 23,
"Title": "Client.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Client.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Client.Designer.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:54:08.898Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "Class1.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Class1.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Class1.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Class1.cs",
"RelativeToolTip": "SkryabinaModul\\Class1.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:26:13.043Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "ProductEditForm.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\ProductEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs",
"RelativeToolTip": "SkryabinaModul\\ProductEditForm.cs",
"ViewState": "AgIAAEgAAAAAAAAAAAAAAGoAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:23:22.722Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "ProductEditForm.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\ProductEditForm.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\ProductEditForm.Designer.cs",
"ViewState": "AgIAABEBAAAAAAAAAADwvxkBAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:22:52.901Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ProductEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\ProductEditForm.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\ProductEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\ProductEditForm.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:22:19.812Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Admin.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Admin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs",
"RelativeToolTip": "SkryabinaModul\\Admin.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAD0AAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:21:11.655Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "Admin.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Admin.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Admin.Designer.cs",
"ViewState": "AgIAAHEAAAAAAAAAAAAwwH4AAAA7AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:20:13.813Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Form1.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Form1.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs",
"RelativeToolTip": "SkryabinaModul\\Form1.cs",
"ViewState": "AgIAABcAAAAAAAAAAAAUwDUAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:16:24.514Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 24,
"Title": "Form1.Designer.cs",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.Designer.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Form1.Designer.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.Designer.cs",
"RelativeToolTip": "SkryabinaModul\\Form1.Designer.cs",
"ViewState": "AgIAAEwAAAAAAAAAAADwv2AAAABQAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:13:33.445Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "Guest.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Guest.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Guest.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Guest.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:03:21.947Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Manager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Manager.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Manager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Manager.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:03:02.065Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "Client.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Client.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Client.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Client.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:02:50.887Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "Admin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Admin.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Admin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Admin.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:02:35.015Z"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"DocumentMoniker": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs",
"RelativeDocumentMoniker": "SkryabinaModul\\Form1.cs",
"ToolTip": "C:\\Users\\student\\Desktop\\Modul_Skryabina\\SkryabinaModul\\SkryabinaModul\\Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"RelativeToolTip": "SkryabinaModul\\Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-05-14T09:02:02.699Z"
}
]
}
]
}
]
}

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.13.35931.197 d17.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkryabinaModul", "SkryabinaModul\SkryabinaModul.csproj", "{9BE5A1F3-D5DA-4431-9A90-979504879292}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9BE5A1F3-D5DA-4431-9A90-979504879292}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9BE5A1F3-D5DA-4431-9A90-979504879292}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9BE5A1F3-D5DA-4431-9A90-979504879292}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9BE5A1F3-D5DA-4431-9A90-979504879292}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1CC06948-E952-4CB2-B7F5-5BC2A7BCDCF1}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,230 @@
namespace SkryabinaModul
{
partial class Admin
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null)) { components.Dispose(); }
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.labelSearch = new System.Windows.Forms.Label();
this.textBoxSearch = new System.Windows.Forms.TextBox();
this.labelFilter = new System.Windows.Forms.Label();
this.comboBoxFilter = new System.Windows.Forms.ComboBox();
this.labelSort = new System.Windows.Forms.Label();
this.comboBoxSort = new System.Windows.Forms.ComboBox();
this.buttonAdd = new System.Windows.Forms.Button();
this.buttonEdit = new System.Windows.Forms.Button();
this.buttonDelete = new System.Windows.Forms.Button();
this.labelTitle = new System.Windows.Forms.Label();
this.buttonBack = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Font = new System.Drawing.Font("Comic Sans MS", 9F);
this.dataGridView1.Location = new System.Drawing.Point(24, 135);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.Size = new System.Drawing.Size(1050, 350);
this.dataGridView1.TabIndex = 7;
//
// labelSearch
//
this.labelSearch.AutoSize = true;
this.labelSearch.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelSearch.Location = new System.Drawing.Point(20, 70);
this.labelSearch.Name = "labelSearch";
this.labelSearch.Size = new System.Drawing.Size(57, 19);
this.labelSearch.TabIndex = 1;
this.labelSearch.Text = "Поиск:";
//
// textBoxSearch
//
this.textBoxSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxSearch.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxSearch.Location = new System.Drawing.Point(24, 92);
this.textBoxSearch.Name = "textBoxSearch";
this.textBoxSearch.Size = new System.Drawing.Size(200, 26);
this.textBoxSearch.TabIndex = 2;
//
// labelFilter
//
this.labelFilter.AutoSize = true;
this.labelFilter.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelFilter.Location = new System.Drawing.Point(240, 70);
this.labelFilter.Name = "labelFilter";
this.labelFilter.Size = new System.Drawing.Size(61, 19);
this.labelFilter.TabIndex = 3;
this.labelFilter.Text = "Фильтр:";
//
// comboBoxFilter
//
this.comboBoxFilter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxFilter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxFilter.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxFilter.FormattingEnabled = true;
this.comboBoxFilter.Items.AddRange(new object[] {
"Все",
"По названию",
"По артикулу",
"По производителю",
"По поставщику"});
this.comboBoxFilter.Location = new System.Drawing.Point(244, 92);
this.comboBoxFilter.Name = "comboBoxFilter";
this.comboBoxFilter.Size = new System.Drawing.Size(180, 26);
this.comboBoxFilter.TabIndex = 4;
//
// labelSort
//
this.labelSort.AutoSize = true;
this.labelSort.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelSort.Location = new System.Drawing.Point(440, 70);
this.labelSort.Name = "labelSort";
this.labelSort.Size = new System.Drawing.Size(88, 19);
this.labelSort.TabIndex = 5;
this.labelSort.Text = "Сортировка:";
//
// comboBoxSort
//
this.comboBoxSort.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxSort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSort.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxSort.FormattingEnabled = true;
this.comboBoxSort.Items.AddRange(new object[] {
"По умолчанию",
"По названию А-Я",
"По названию Я-А",
"По цене возр.",
"По цене убыв.",
"По артикулу",
"По количеству"});
this.comboBoxSort.Location = new System.Drawing.Point(444, 92);
this.comboBoxSort.Name = "comboBoxSort";
this.comboBoxSort.Size = new System.Drawing.Size(180, 26);
this.comboBoxSort.TabIndex = 6;
//
// buttonAdd
//
this.buttonAdd.BackColor = System.Drawing.Color.Red;
this.buttonAdd.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonAdd.Location = new System.Drawing.Point(24, 500);
this.buttonAdd.Name = "buttonAdd";
this.buttonAdd.Size = new System.Drawing.Size(120, 40);
this.buttonAdd.TabIndex = 8;
this.buttonAdd.Text = "Добавить";
this.buttonAdd.UseVisualStyleBackColor = false;
//
// buttonEdit
//
this.buttonEdit.BackColor = System.Drawing.Color.Red;
this.buttonEdit.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonEdit.Location = new System.Drawing.Point(160, 500);
this.buttonEdit.Name = "buttonEdit";
this.buttonEdit.Size = new System.Drawing.Size(140, 40);
this.buttonEdit.TabIndex = 9;
this.buttonEdit.Text = "Редактировать";
this.buttonEdit.UseVisualStyleBackColor = false;
//
// buttonDelete
//
this.buttonDelete.BackColor = System.Drawing.Color.Red;
this.buttonDelete.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonDelete.ForeColor = System.Drawing.Color.Black;
this.buttonDelete.Location = new System.Drawing.Point(954, 500);
this.buttonDelete.Name = "buttonDelete";
this.buttonDelete.Size = new System.Drawing.Size(120, 40);
this.buttonDelete.TabIndex = 10;
this.buttonDelete.Text = "Удалить";
this.buttonDelete.UseVisualStyleBackColor = false;
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 20F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(20, 15);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(309, 38);
this.labelTitle.TabIndex = 0;
this.labelTitle.Text = "Управление товарами";
//
// buttonBack
//
this.buttonBack.BackColor = System.Drawing.Color.Red;
this.buttonBack.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonBack.Location = new System.Drawing.Point(24, 560);
this.buttonBack.Name = "buttonBack";
this.buttonBack.Size = new System.Drawing.Size(120, 40);
this.buttonBack.TabIndex = 11;
this.buttonBack.Text = "Назад";
this.buttonBack.UseVisualStyleBackColor = false;
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// button1
//
this.button1.BackColor = System.Drawing.Color.Red;
this.button1.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.button1.ForeColor = System.Drawing.Color.Black;
this.button1.Location = new System.Drawing.Point(954, 83);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(120, 40);
this.button1.TabIndex = 12;
this.button1.Text = "Заказы";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Admin
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(1100, 620);
this.Controls.Add(this.button1);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.buttonDelete);
this.Controls.Add(this.buttonEdit);
this.Controls.Add(this.buttonAdd);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.comboBoxSort);
this.Controls.Add(this.labelSort);
this.Controls.Add(this.comboBoxFilter);
this.Controls.Add(this.labelFilter);
this.Controls.Add(this.textBoxSearch);
this.Controls.Add(this.labelSearch);
this.Controls.Add(this.labelTitle);
this.Font = new System.Drawing.Font("Comic Sans MS", 8.25F);
this.Name = "Admin";
this.Text = "Админ-панель - Управление товарами";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label labelSearch;
private System.Windows.Forms.TextBox textBoxSearch;
private System.Windows.Forms.Label labelFilter;
private System.Windows.Forms.ComboBox comboBoxFilter;
private System.Windows.Forms.Label labelSort;
private System.Windows.Forms.ComboBox comboBoxSort;
private System.Windows.Forms.Button buttonAdd;
private System.Windows.Forms.Button buttonEdit;
private System.Windows.Forms.Button buttonDelete;
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Button button1;
}
}

View File

@ -0,0 +1,147 @@
using MySql.Data.MySqlClient;
using SkryabinaModul;
using System;
using System.Data;
using System.Windows.Forms;
namespace SkryabinaModul
{
public partial class Admin : Form
{
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
public Admin()
{
InitializeComponent();
LoadProducts();
buttonAdd.Click += (s, e) => { if (new ProductEditForm(connectionString, null).ShowDialog() == DialogResult.OK) LoadProducts(); };
buttonEdit.Click += (s, e) => EditProduct();
buttonDelete.Click += (s, e) => DeleteProduct();
textBoxSearch.TextChanged += (s, e) => FilterAndSort();
comboBoxFilter.SelectedIndexChanged += (s, e) => FilterAndSort();
comboBoxSort.SelectedIndexChanged += (s, e) => FilterAndSort();
}
// Загрузка товаров
void LoadProducts()
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var adapter = new MySqlDataAdapter(@"SELECT p.idProduct, p.Article, p.Name, c.Category, p.Description,
m.Manufacturer, s.Supplier, p.Price, p.Discount, p.Quantity, u.Unit, p.Photo
FROM Product p
LEFT JOIN Category c ON p.CategoryID = c.idCategory
LEFT JOIN Manufacturer m ON p.ManufacturerID = m.idManufacturer
LEFT JOIN Supplier s ON p.SupplierID = s.idSupplier
LEFT JOIN Unit u ON p.EdinicaID = u.idUnit", conn);
var dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
if (dataGridView1.Columns["idProduct"] != null)
dataGridView1.Columns["idProduct"].Visible = false;
}
}
// Редактирование товара
void EditProduct()
{
if (dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("Выберите товар", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["idProduct"].Value);
if (new ProductEditForm(connectionString, id).ShowDialog() == DialogResult.OK)
LoadProducts();
}
// Удаление товара
void DeleteProduct()
{
if (dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("Выберите товар", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["idProduct"].Value);
string name = dataGridView1.SelectedRows[0].Cells["Name"].Value.ToString();
if (MessageBox.Show($"Удалить \"{name}\"?", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var cmd = new MySqlCommand("DELETE FROM Product WHERE idProduct = @id", conn);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
LoadProducts();
}
}
// Фильтрация и сортировка
void FilterAndSort()
{
string search = textBoxSearch.Text.Trim();
string filter = comboBoxFilter.SelectedItem?.ToString() ?? "";
string sort = comboBoxSort.SelectedItem?.ToString() ?? "";
string query = @"SELECT p.idProduct, p.Article, p.Name, c.Category, p.Description,
m.Manufacturer, s.Supplier, p.Price, p.Discount, p.Quantity, u.Unit, p.Photo
FROM Product p
LEFT JOIN Category c ON p.CategoryID = c.idCategory
LEFT JOIN Manufacturer m ON p.ManufacturerID = m.idManufacturer
LEFT JOIN Supplier s ON p.SupplierID = s.idSupplier
LEFT JOIN Unit u ON p.EdinicaID = u.idUnit
WHERE 1=1";
// Фильтрация
if (!string.IsNullOrEmpty(search))
{
if (filter == "По названию") query += " AND p.Name LIKE @search";
else if (filter == "По артикулу") query += " AND p.Article LIKE @search";
else if (filter == "По производителю") query += " AND m.Manufacturer LIKE @search";
else if (filter == "По поставщику") query += " AND s.Supplier LIKE @search";
else query += " AND (p.Name LIKE @search OR p.Article LIKE @search OR m.Manufacturer LIKE @search)";
}
// Сортировка
if (sort == "По названию А-Я") query += " ORDER BY p.Name ASC";
else if (sort == "По названию Я-А") query += " ORDER BY p.Name DESC";
else if (sort == "По цене возр.") query += " ORDER BY p.Price ASC";
else if (sort == "По цене убыв.") query += " ORDER BY p.Price DESC";
else if (sort == "По артикулу") query += " ORDER BY p.Article ASC";
else if (sort == "По количеству") query += " ORDER BY p.Quantity ASC";
else query += " ORDER BY p.Name ASC";
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var cmd = new MySqlCommand(query, conn);
if (!string.IsNullOrEmpty(search))
cmd.Parameters.AddWithValue("@search", "%" + search + "%");
var dt = new DataTable();
new MySqlDataAdapter(cmd).Fill(dt);
dataGridView1.DataSource = dt;
if (dataGridView1.Columns["idProduct"] != null)
dataGridView1.Columns["idProduct"].Visible = false;
}
}
private void buttonBack_Click(object sender, EventArgs e)
{
new Form1().Show();
Close();
}
private void button1_Click(object sender, EventArgs e)
{
new OrdersAdmin().Show();
}
}
}

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>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Windows.Forms;
namespace SkryabinaModul
{
internal class Class1
{
}
}

View File

@ -0,0 +1,97 @@
namespace SkryabinaModul
{
partial class Client
{
/// <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()
{
this.buttonBack = new System.Windows.Forms.Button();
this.labelTitle = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// buttonBack
//
this.buttonBack.BackColor = System.Drawing.Color.Red;
this.buttonBack.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonBack.Location = new System.Drawing.Point(694, 383);
this.buttonBack.Name = "buttonBack";
this.buttonBack.Size = new System.Drawing.Size(100, 35);
this.buttonBack.TabIndex = 12;
this.buttonBack.Text = "Назад";
this.buttonBack.UseVisualStyleBackColor = false;
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 20F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(19, 29);
this.labelTitle.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(263, 38);
this.labelTitle.TabIndex = 14;
this.labelTitle.Text = "Просмотр товаров";
//
// dataGridView1
//
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Font = new System.Drawing.Font("Comic Sans MS", 9F);
this.dataGridView1.Location = new System.Drawing.Point(11, 80);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.Size = new System.Drawing.Size(788, 284);
this.dataGridView1.TabIndex = 13;
//
// Client
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(848, 450);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.buttonBack);
this.Name = "Client";
this.Text = "Client";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.DataGridView dataGridView1;
}
}

View File

@ -0,0 +1,52 @@
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;
using MySql.Data.MySqlClient;
namespace SkryabinaModul
{
public partial class Client : Form
{
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
public Client()
{
InitializeComponent();
LoadProducts();
}
void LoadProducts()
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var adapter = new MySqlDataAdapter(@"SELECT p.idProduct, p.Article, p.Name, c.Category, p.Description,
m.Manufacturer, s.Supplier, p.Price, p.Discount, p.Quantity, u.Unit, p.Photo
FROM Product p
LEFT JOIN Category c ON p.CategoryID = c.idCategory
LEFT JOIN Manufacturer m ON p.ManufacturerID = m.idManufacturer
LEFT JOIN Supplier s ON p.SupplierID = s.idSupplier
LEFT JOIN Unit u ON p.EdinicaID = u.idUnit", conn);
var dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
if (dataGridView1.Columns["idProduct"] != null)
dataGridView1.Columns["idProduct"].Visible = false;
}
}
private void buttonBack_Click(object sender, EventArgs e)
{
this.Close();
Form1 form = new Form1();
form.Show();
}
}
}

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>

View File

@ -0,0 +1,128 @@

namespace SkryabinaModul
{
partial class Form1
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null)) { components.Dispose(); }
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Comic Sans MS", 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.label1.Location = new System.Drawing.Point(81, 50);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(239, 49);
this.label1.TabIndex = 0;
this.label1.Text = "Авторизация";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label2.Location = new System.Drawing.Point(59, 168);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(58, 23);
this.label2.TabIndex = 1;
this.label2.Text = "Логин";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label3.Location = new System.Drawing.Point(58, 224);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(69, 23);
this.label3.TabIndex = 2;
this.label3.Text = "Пароль";
//
// button1
//
this.button1.BackColor = System.Drawing.Color.Red;
this.button1.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.button1.Location = new System.Drawing.Point(158, 302);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 35);
this.button1.TabIndex = 3;
this.button1.Text = "Войти";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBox1.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBox1.Location = new System.Drawing.Point(62, 194);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(280, 26);
this.textBox1.TabIndex = 4;
//
// textBox2
//
this.textBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBox2.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBox2.Location = new System.Drawing.Point(62, 250);
this.textBox2.Name = "textBox2";
this.textBox2.PasswordChar = '*';
this.textBox2.Size = new System.Drawing.Size(280, 26);
this.textBox2.TabIndex = 5;
//
// button2
//
this.button2.BackColor = System.Drawing.Color.Red;
this.button2.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.button2.Location = new System.Drawing.Point(102, 364);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(218, 35);
this.button2.TabIndex = 6;
this.button2.Text = "Войти как гость";
this.button2.UseVisualStyleBackColor = false;
this.button2.Click += new System.EventHandler(this.button2_Click_1);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(409, 450);
this.Controls.Add(this.button2);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.Name = "Form1";
this.Text = "Авторизация";
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button button2;
}
}

View File

@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using SkryabinaModul;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace SkryabinaModul
{
public partial class Form1 : Form
{
// Изменена строка подключения на вашу БД
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
// Словарь соответствия ролей и форм
private Dictionary<string, Form> roleForms = new Dictionary<string, Form>
{
{ "1", new Admin() }, // Администратор
{ "2", new Manager() }, // Менеджер
{ "3", new Client() } // Клиент
};
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (MySqlConnection conn = new MySqlConnection(connectionString))
{
conn.Open();
// Изменен запрос под таблицу Klients (логин, пароль, роль)
string query = "SELECT RoleID FROM Klients WHERE Login = @login AND Password = @pass";
using (MySqlCommand cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@login", textBox1.Text);
cmd.Parameters.AddWithValue("@pass", textBox2.Text);
object result = cmd.ExecuteScalar();
if (result != null && roleForms.TryGetValue(result.ToString(), out Form form))
{
form.Show();
this.Hide();
}
else
{
MessageBox.Show("Ошибка авторизации!\nНеверный логин или пароль.", "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
Guest form = new Guest();
form.Show();
}
private void button2_Click_1(object sender, EventArgs e)
{
Guest form = new Guest();
form.Show();
}
}
}

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>

View File

@ -0,0 +1,99 @@
namespace SkryabinaModul
{
partial class Guest
{
/// <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()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.labelTitle = new System.Windows.Forms.Label();
this.buttonBack = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Font = new System.Drawing.Font("Comic Sans MS", 9F);
this.dataGridView1.Location = new System.Drawing.Point(9, 58);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.Size = new System.Drawing.Size(788, 284);
this.dataGridView1.TabIndex = 8;
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 20F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(22, 7);
this.labelTitle.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(263, 38);
this.labelTitle.TabIndex = 9;
this.labelTitle.Text = "Просмотр товаров";
//
// buttonBack
//
this.buttonBack.BackColor = System.Drawing.Color.Red;
this.buttonBack.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonBack.Location = new System.Drawing.Point(706, 368);
this.buttonBack.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.buttonBack.Name = "buttonBack";
this.buttonBack.Size = new System.Drawing.Size(90, 32);
this.buttonBack.TabIndex = 12;
this.buttonBack.Text = "Назад";
this.buttonBack.UseVisualStyleBackColor = false;
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// Guest
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(834, 421);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.dataGridView1);
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.Name = "Guest";
this.Text = "Guest";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.Button buttonBack;
}
}

View File

@ -0,0 +1,49 @@
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;
using MySql.Data.MySqlClient;
namespace SkryabinaModul
{
public partial class Guest : Form
{
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
public Guest()
{
InitializeComponent();
LoadProducts();
}
void LoadProducts()
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var adapter = new MySqlDataAdapter(@"SELECT p.idProduct, p.Article, p.Name, c.Category, p.Description,
m.Manufacturer, s.Supplier, p.Price, p.Discount, p.Quantity, u.Unit, p.Photo
FROM Product p
LEFT JOIN Category c ON p.CategoryID = c.idCategory
LEFT JOIN Manufacturer m ON p.ManufacturerID = m.idManufacturer
LEFT JOIN Supplier s ON p.SupplierID = s.idSupplier
LEFT JOIN Unit u ON p.EdinicaID = u.idUnit", conn);
var dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
if (dataGridView1.Columns["idProduct"] != null)
dataGridView1.Columns["idProduct"].Visible = false;
}
}
private void buttonBack_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

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>

View File

@ -0,0 +1,182 @@
namespace SkryabinaModul
{
partial class Manager
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null)) components.Dispose();
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.labelSearch = new System.Windows.Forms.Label();
this.textBoxSearch = new System.Windows.Forms.TextBox();
this.labelFilter = new System.Windows.Forms.Label();
this.comboBoxFilter = new System.Windows.Forms.ComboBox();
this.labelSort = new System.Windows.Forms.Label();
this.comboBoxSort = new System.Windows.Forms.ComboBox();
this.labelTitle = new System.Windows.Forms.Label();
this.buttonBack = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Font = new System.Drawing.Font("Comic Sans MS", 9F);
this.dataGridView1.Location = new System.Drawing.Point(20, 130);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.Size = new System.Drawing.Size(760, 300);
this.dataGridView1.TabIndex = 7;
//
// labelSearch
//
this.labelSearch.AutoSize = true;
this.labelSearch.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelSearch.Location = new System.Drawing.Point(16, 65);
this.labelSearch.Name = "labelSearch";
this.labelSearch.Size = new System.Drawing.Size(57, 19);
this.labelSearch.TabIndex = 1;
this.labelSearch.Text = "Поиск:";
//
// textBoxSearch
//
this.textBoxSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxSearch.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxSearch.Location = new System.Drawing.Point(20, 87);
this.textBoxSearch.Name = "textBoxSearch";
this.textBoxSearch.Size = new System.Drawing.Size(180, 26);
this.textBoxSearch.TabIndex = 2;
//
// labelFilter
//
this.labelFilter.AutoSize = true;
this.labelFilter.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelFilter.Location = new System.Drawing.Point(215, 65);
this.labelFilter.Name = "labelFilter";
this.labelFilter.Size = new System.Drawing.Size(61, 19);
this.labelFilter.TabIndex = 3;
this.labelFilter.Text = "Фильтр:";
//
// comboBoxFilter
//
this.comboBoxFilter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxFilter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxFilter.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxFilter.FormattingEnabled = true;
this.comboBoxFilter.Items.AddRange(new object[] {
"Все",
"По номеру",
"По статусу",
"По адресу"});
this.comboBoxFilter.Location = new System.Drawing.Point(219, 87);
this.comboBoxFilter.Name = "comboBoxFilter";
this.comboBoxFilter.Size = new System.Drawing.Size(150, 26);
this.comboBoxFilter.TabIndex = 4;
//
// labelSort
//
this.labelSort.AutoSize = true;
this.labelSort.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelSort.Location = new System.Drawing.Point(385, 65);
this.labelSort.Name = "labelSort";
this.labelSort.Size = new System.Drawing.Size(88, 19);
this.labelSort.TabIndex = 5;
this.labelSort.Text = "Сортировка:";
//
// comboBoxSort
//
this.comboBoxSort.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxSort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSort.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxSort.FormattingEnabled = true;
this.comboBoxSort.Items.AddRange(new object[] {
"По дате новые",
"По дате старые",
"По статусу",
"По номеру"});
this.comboBoxSort.Location = new System.Drawing.Point(389, 87);
this.comboBoxSort.Name = "comboBoxSort";
this.comboBoxSort.Size = new System.Drawing.Size(150, 26);
this.comboBoxSort.TabIndex = 6;
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 20F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(20, 15);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(174, 38);
this.labelTitle.TabIndex = 0;
this.labelTitle.Text = "Мои заказы";
//
// buttonBack
//
this.buttonBack.BackColor = System.Drawing.Color.Red;
this.buttonBack.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonBack.Location = new System.Drawing.Point(20, 445);
this.buttonBack.Name = "buttonBack";
this.buttonBack.Size = new System.Drawing.Size(100, 35);
this.buttonBack.TabIndex = 11;
this.buttonBack.Text = "Назад";
this.buttonBack.UseVisualStyleBackColor = false;
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// button1
//
this.button1.BackColor = System.Drawing.Color.Red;
this.button1.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.button1.Location = new System.Drawing.Point(680, 445);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 35);
this.button1.TabIndex = 12;
this.button1.Text = "Заказы";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Manager
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(800, 500);
this.Controls.Add(this.button1);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.comboBoxSort);
this.Controls.Add(this.labelSort);
this.Controls.Add(this.comboBoxFilter);
this.Controls.Add(this.labelFilter);
this.Controls.Add(this.textBoxSearch);
this.Controls.Add(this.labelSearch);
this.Controls.Add(this.labelTitle);
this.Font = new System.Drawing.Font("Comic Sans MS", 8.25F);
this.Name = "Manager";
this.Text = "Менеджер - Просмотр заказов";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label labelSearch;
private System.Windows.Forms.TextBox textBoxSearch;
private System.Windows.Forms.Label labelFilter;
private System.Windows.Forms.ComboBox comboBoxFilter;
private System.Windows.Forms.Label labelSort;
private System.Windows.Forms.ComboBox comboBoxSort;
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Button button1;
}
}

View File

@ -0,0 +1,92 @@
using MySql.Data.MySqlClient;
using SkryabinaModul;
using System;
using System.Data;
using System.Windows.Forms;
namespace SkryabinaModul
{
public partial class Manager : Form
{
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
private int clientId;
public Manager(int id = 0)
{
InitializeComponent();
clientId = id;
LoadOrders();
textBoxSearch.TextChanged += (s, e) => FilterAndSort();
comboBoxFilter.SelectedIndexChanged += (s, e) => FilterAndSort();
comboBoxSort.SelectedIndexChanged += (s, e) => FilterAndSort();
}
void LoadOrders()
{
string query = @"SELECT o.Article as 'Номер', s.Status as 'Статус',
o.PickUpPoint as 'Адрес', o.DateOrders as 'Дата заказа',
o.DateDelivery as 'Дата доставки'
FROM Orders o JOIN Status s ON o.StatusID = s.idStatus
WHERE " + (clientId > 0 ? "o.FIOID = @id" : "1=1");
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var adapter = new MySqlDataAdapter(query, conn);
if (clientId > 0) adapter.SelectCommand.Parameters.AddWithValue("@id", clientId);
var dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
}
}
void FilterAndSort()
{
string search = textBoxSearch.Text;
string filter = comboBoxFilter.Text;
string sort = comboBoxSort.Text;
string query = @"SELECT o.Article as 'Номер', s.Status as 'Статус',
o.PickUpPoint as 'Адрес', o.DateOrders as 'Дата заказа',
o.DateDelivery as 'Дата доставки'
FROM Orders o JOIN Status s ON o.StatusID = s.idStatus
WHERE " + (clientId > 0 ? "o.FIOID = @id" : "1=1");
if (!string.IsNullOrEmpty(search))
{
if (filter == "По номеру") query += " AND o.Article LIKE @search";
else if (filter == "По статусу") query += " AND s.Status LIKE @search";
else query += " AND (o.Article LIKE @search OR s.Status LIKE @search OR o.PickUpPoint LIKE @search)";
}
if (sort == "По дате новые") query += " ORDER BY o.DateOrders DESC";
else if (sort == "По дате старые") query += " ORDER BY o.DateOrders ASC";
else if (sort == "По статусу") query += " ORDER BY s.Status ASC";
else query += " ORDER BY o.DateOrders DESC";
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var cmd = new MySqlCommand(query, conn);
if (clientId > 0) cmd.Parameters.AddWithValue("@id", clientId);
if (!string.IsNullOrEmpty(search)) cmd.Parameters.AddWithValue("@search", "%" + search + "%");
var dt = new DataTable();
new MySqlDataAdapter(cmd).Fill(dt);
dataGridView1.DataSource = dt;
}
}
private void buttonBack_Click(object sender, EventArgs e)
{
new Form1().Show();
Close();
}
private void button1_Click(object sender, EventArgs e)
{
new OrdersManager().Show();
}
}
}

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>

View File

@ -0,0 +1,137 @@
namespace SkryabinaModul
{
partial class OrdersAdmin
{
/// <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()
{
this.buttonBack = new System.Windows.Forms.Button();
this.buttonDelete = new System.Windows.Forms.Button();
this.buttonEdit = new System.Windows.Forms.Button();
this.buttonAdd = new System.Windows.Forms.Button();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.labelTitle = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// buttonBack
//
this.buttonBack.BackColor = System.Drawing.Color.Red;
this.buttonBack.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonBack.Location = new System.Drawing.Point(50, 512);
this.buttonBack.Name = "buttonBack";
this.buttonBack.Size = new System.Drawing.Size(120, 40);
this.buttonBack.TabIndex = 24;
this.buttonBack.Text = "Назад";
this.buttonBack.UseVisualStyleBackColor = false;
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// buttonDelete
//
this.buttonDelete.BackColor = System.Drawing.Color.Red;
this.buttonDelete.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonDelete.ForeColor = System.Drawing.Color.Black;
this.buttonDelete.Location = new System.Drawing.Point(980, 447);
this.buttonDelete.Name = "buttonDelete";
this.buttonDelete.Size = new System.Drawing.Size(120, 40);
this.buttonDelete.TabIndex = 23;
this.buttonDelete.Text = "Удалить";
this.buttonDelete.UseVisualStyleBackColor = false;
//
// buttonEdit
//
this.buttonEdit.BackColor = System.Drawing.Color.Red;
this.buttonEdit.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonEdit.Location = new System.Drawing.Point(179, 447);
this.buttonEdit.Name = "buttonEdit";
this.buttonEdit.Size = new System.Drawing.Size(140, 40);
this.buttonEdit.TabIndex = 22;
this.buttonEdit.Text = "Редактировать";
this.buttonEdit.UseVisualStyleBackColor = false;
//
// buttonAdd
//
this.buttonAdd.BackColor = System.Drawing.Color.Red;
this.buttonAdd.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonAdd.Location = new System.Drawing.Point(53, 447);
this.buttonAdd.Name = "buttonAdd";
this.buttonAdd.Size = new System.Drawing.Size(120, 40);
this.buttonAdd.TabIndex = 21;
this.buttonAdd.Text = "Добавить";
this.buttonAdd.UseVisualStyleBackColor = false;
//
// dataGridView1
//
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Font = new System.Drawing.Font("Comic Sans MS", 9F);
this.dataGridView1.Location = new System.Drawing.Point(50, 62);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.Size = new System.Drawing.Size(1050, 350);
this.dataGridView1.TabIndex = 20;
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 20F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(46, 12);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(304, 38);
this.labelTitle.TabIndex = 13;
this.labelTitle.Text = "Управление заказами";
//
// OrdersAdmin
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(1147, 573);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.buttonDelete);
this.Controls.Add(this.buttonEdit);
this.Controls.Add(this.buttonAdd);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.labelTitle);
this.Name = "OrdersAdmin";
this.Text = "OrdersAdmin";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Button buttonDelete;
private System.Windows.Forms.Button buttonEdit;
private System.Windows.Forms.Button buttonAdd;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label labelTitle;
}
}

View File

@ -0,0 +1,90 @@
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;
using MySql.Data.MySqlClient;
namespace SkryabinaModul
{
public partial class OrdersAdmin : Form
{
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
public OrdersAdmin()
{
InitializeComponent();
LoadOrders();
buttonAdd.Click += (s, e) => { if (new OrdersEditForm(connectionString, null).ShowDialog() == DialogResult.OK) LoadOrders(); };
buttonEdit.Click += (s, e) => EditOrders();
buttonDelete.Click += (s, e) => DeleteOrders();
}
void LoadOrders()
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var adapter = new MySqlDataAdapter(@"SELECT o.idOrders, o.Article, k.FIO, s.Status, o.PickUpPoint,
o.DateOrders, o.DateDelivery, p.Article
FROM Orders o
LEFT JOIN Klients k ON o.FIOID = k.idKlient
LEFT JOIN Status s ON o.StatusID = s.idStatus
LEFT JOIN Product p ON o.SostavID = p.idProduct", conn);
var dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
if (dataGridView1.Columns["idOrders"] != null)
dataGridView1.Columns["idOrders"].Visible = false;
}
}
void EditOrders()
{
if (dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("Выберите заказ", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["idOrders"].Value);
if (new OrdersEditForm(connectionString, id).ShowDialog() == DialogResult.OK)
LoadOrders();
}
// Удаление товара
void DeleteOrders()
{
if (dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("Выберите заказ", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["idOrders"].Value);
string name = dataGridView1.SelectedRows[0].Cells["Article"].Value.ToString();
if (MessageBox.Show($"Удалить \"{name}\"?", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var cmd = new MySqlCommand("DELETE FROM Orders WHERE idOrders = @id", conn);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
LoadOrders();
}
}
private void buttonBack_Click(object sender, EventArgs e)
{
Close();
}
}
}

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>

View File

@ -0,0 +1,274 @@
namespace SkryabinaModul
{
partial class OrdersEditForm
{
/// <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()
{
this.buttonCancel = new System.Windows.Forms.Button();
this.buttonSave = new System.Windows.Forms.Button();
this.textBoxDateDel = new System.Windows.Forms.TextBox();
this.labelPhoto = new System.Windows.Forms.Label();
this.comboBoxProduct = new System.Windows.Forms.ComboBox();
this.labelSupplier = new System.Windows.Forms.Label();
this.comboBoxStatus = new System.Windows.Forms.ComboBox();
this.labelManufacturer = new System.Windows.Forms.Label();
this.textBoxDateOrders = new System.Windows.Forms.TextBox();
this.labelDescription = new System.Windows.Forms.Label();
this.comboBoxFio = new System.Windows.Forms.ComboBox();
this.labelCategory = new System.Windows.Forms.Label();
this.textBoxPick = new System.Windows.Forms.TextBox();
this.labelName = new System.Windows.Forms.Label();
this.textBoxArticle = new System.Windows.Forms.TextBox();
this.labelArticle = new System.Windows.Forms.Label();
this.labelTitle = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// buttonCancel
//
this.buttonCancel.BackColor = System.Drawing.Color.Red;
this.buttonCancel.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Bold);
this.buttonCancel.ForeColor = System.Drawing.Color.Black;
this.buttonCancel.Location = new System.Drawing.Point(490, 337);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(140, 45);
this.buttonCancel.TabIndex = 49;
this.buttonCancel.Text = "Отмена";
this.buttonCancel.UseVisualStyleBackColor = false;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// buttonSave
//
this.buttonSave.BackColor = System.Drawing.Color.Red;
this.buttonSave.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Bold);
this.buttonSave.Location = new System.Drawing.Point(334, 337);
this.buttonSave.Name = "buttonSave";
this.buttonSave.Size = new System.Drawing.Size(140, 45);
this.buttonSave.TabIndex = 48;
this.buttonSave.Text = "Сохранить";
this.buttonSave.UseVisualStyleBackColor = false;
//
// textBoxDateDel
//
this.textBoxDateDel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxDateDel.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxDateDel.Location = new System.Drawing.Point(30, 283);
this.textBoxDateDel.Name = "textBoxDateDel";
this.textBoxDateDel.Size = new System.Drawing.Size(400, 26);
this.textBoxDateDel.TabIndex = 47;
//
// labelPhoto
//
this.labelPhoto.AutoSize = true;
this.labelPhoto.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelPhoto.Location = new System.Drawing.Point(28, 250);
this.labelPhoto.Name = "labelPhoto";
this.labelPhoto.Size = new System.Drawing.Size(109, 19);
this.labelPhoto.TabIndex = 46;
this.labelPhoto.Text = "Дата доставки:";
//
// comboBoxProduct
//
this.comboBoxProduct.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxProduct.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxProduct.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxProduct.FormattingEnabled = true;
this.comboBoxProduct.Location = new System.Drawing.Point(248, 202);
this.comboBoxProduct.Name = "comboBoxProduct";
this.comboBoxProduct.Size = new System.Drawing.Size(200, 26);
this.comboBoxProduct.TabIndex = 37;
//
// labelSupplier
//
this.labelSupplier.AutoSize = true;
this.labelSupplier.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelSupplier.Location = new System.Drawing.Point(244, 180);
this.labelSupplier.Name = "labelSupplier";
this.labelSupplier.Size = new System.Drawing.Size(115, 19);
this.labelSupplier.TabIndex = 36;
this.labelSupplier.Text = "Артикул товара:";
//
// comboBoxStatus
//
this.comboBoxStatus.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxStatus.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxStatus.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxStatus.FormattingEnabled = true;
this.comboBoxStatus.Location = new System.Drawing.Point(30, 202);
this.comboBoxStatus.Name = "comboBoxStatus";
this.comboBoxStatus.Size = new System.Drawing.Size(200, 26);
this.comboBoxStatus.TabIndex = 35;
//
// labelManufacturer
//
this.labelManufacturer.AutoSize = true;
this.labelManufacturer.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelManufacturer.Location = new System.Drawing.Point(26, 180);
this.labelManufacturer.Name = "labelManufacturer";
this.labelManufacturer.Size = new System.Drawing.Size(56, 19);
this.labelManufacturer.TabIndex = 34;
this.labelManufacturer.Text = "Статус:";
//
// textBoxDateOrders
//
this.textBoxDateOrders.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxDateOrders.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxDateOrders.Location = new System.Drawing.Point(248, 142);
this.textBoxDateOrders.Name = "textBoxDateOrders";
this.textBoxDateOrders.Size = new System.Drawing.Size(300, 26);
this.textBoxDateOrders.TabIndex = 33;
//
// labelDescription
//
this.labelDescription.AutoSize = true;
this.labelDescription.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelDescription.Location = new System.Drawing.Point(244, 120);
this.labelDescription.Name = "labelDescription";
this.labelDescription.Size = new System.Drawing.Size(89, 19);
this.labelDescription.TabIndex = 32;
this.labelDescription.Text = "Дата заказа:";
//
// comboBoxFio
//
this.comboBoxFio.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxFio.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxFio.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxFio.FormattingEnabled = true;
this.comboBoxFio.Location = new System.Drawing.Point(30, 142);
this.comboBoxFio.Name = "comboBoxFio";
this.comboBoxFio.Size = new System.Drawing.Size(200, 26);
this.comboBoxFio.TabIndex = 31;
//
// labelCategory
//
this.labelCategory.AutoSize = true;
this.labelCategory.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelCategory.Location = new System.Drawing.Point(26, 120);
this.labelCategory.Name = "labelCategory";
this.labelCategory.Size = new System.Drawing.Size(43, 19);
this.labelCategory.TabIndex = 30;
this.labelCategory.Text = "ФИО:";
//
// textBoxPick
//
this.textBoxPick.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxPick.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxPick.Location = new System.Drawing.Point(198, 82);
this.textBoxPick.Name = "textBoxPick";
this.textBoxPick.Size = new System.Drawing.Size(250, 26);
this.textBoxPick.TabIndex = 29;
//
// labelName
//
this.labelName.AutoSize = true;
this.labelName.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelName.Location = new System.Drawing.Point(194, 60);
this.labelName.Name = "labelName";
this.labelName.Size = new System.Drawing.Size(108, 19);
this.labelName.TabIndex = 28;
this.labelName.Text = "Пункт выдачи:";
//
// textBoxArticle
//
this.textBoxArticle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxArticle.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxArticle.Location = new System.Drawing.Point(30, 82);
this.textBoxArticle.Name = "textBoxArticle";
this.textBoxArticle.Size = new System.Drawing.Size(150, 26);
this.textBoxArticle.TabIndex = 27;
//
// labelArticle
//
this.labelArticle.AutoSize = true;
this.labelArticle.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelArticle.Location = new System.Drawing.Point(26, 60);
this.labelArticle.Name = "labelArticle";
this.labelArticle.Size = new System.Drawing.Size(68, 19);
this.labelArticle.TabIndex = 26;
this.labelArticle.Text = "Артикул:";
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 18F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(26, 9);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(282, 35);
this.labelTitle.TabIndex = 25;
this.labelTitle.Text = "Редактирование заказа";
//
// OrdersEditForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(661, 400);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonSave);
this.Controls.Add(this.textBoxDateDel);
this.Controls.Add(this.labelPhoto);
this.Controls.Add(this.comboBoxProduct);
this.Controls.Add(this.labelSupplier);
this.Controls.Add(this.comboBoxStatus);
this.Controls.Add(this.labelManufacturer);
this.Controls.Add(this.textBoxDateOrders);
this.Controls.Add(this.labelDescription);
this.Controls.Add(this.comboBoxFio);
this.Controls.Add(this.labelCategory);
this.Controls.Add(this.textBoxPick);
this.Controls.Add(this.labelName);
this.Controls.Add(this.textBoxArticle);
this.Controls.Add(this.labelArticle);
this.Controls.Add(this.labelTitle);
this.Name = "OrdersEditForm";
this.Text = "OrdersEditForm";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.Button buttonSave;
private System.Windows.Forms.TextBox textBoxDateDel;
private System.Windows.Forms.Label labelPhoto;
private System.Windows.Forms.ComboBox comboBoxProduct;
private System.Windows.Forms.Label labelSupplier;
private System.Windows.Forms.ComboBox comboBoxStatus;
private System.Windows.Forms.Label labelManufacturer;
private System.Windows.Forms.TextBox textBoxDateOrders;
private System.Windows.Forms.Label labelDescription;
private System.Windows.Forms.ComboBox comboBoxFio;
private System.Windows.Forms.Label labelCategory;
private System.Windows.Forms.TextBox textBoxPick;
private System.Windows.Forms.Label labelName;
private System.Windows.Forms.TextBox textBoxArticle;
private System.Windows.Forms.Label labelArticle;
private System.Windows.Forms.Label labelTitle;
}
}

View File

@ -0,0 +1,112 @@
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;
using MySql.Data.MySqlClient;
namespace SkryabinaModul
{
public partial class OrdersEditForm : Form
{
string connStr;
int? id;
public OrdersEditForm(string connectionString, int? ordersId)
{
InitializeComponent();
connStr = connectionString;
id = ordersId;
LoadComboBoxes();
if (id.HasValue) LoadOrders();
Text = id.HasValue ? "Редактирование" : "Новый заказ";
buttonSave.Click += (s, e) => Save();
buttonCancel.Click += (s, e) => Close();
}
void LoadComboBoxes()
{
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
LoadCombo(conn, "SELECT idKlient, FIO FROM Klients", comboBoxFio);
LoadCombo(conn, "SELECT idStatus, Status FROM Status", comboBoxStatus);
LoadCombo(conn, "SELECT idProduct, Article FROM Product", comboBoxProduct);
}
}
void LoadCombo(MySqlConnection conn, string query, ComboBox combo)
{
var dt = new DataTable();
new MySqlDataAdapter(query, conn).Fill(dt);
combo.DisplayMember = dt.Columns[1].ColumnName;
combo.ValueMember = dt.Columns[0].ColumnName;
combo.DataSource = dt;
}
void LoadOrders()
{
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
var cmd = new MySqlCommand("SELECT * FROM Orders WHERE idOrders = @id", conn);
cmd.Parameters.AddWithValue("@id", id);
var reader = cmd.ExecuteReader();
if (reader.Read())
{
textBoxArticle.Text = reader["Article"].ToString();
comboBoxFio.SelectedValue = reader["FIOID"];
comboBoxStatus.SelectedValue = reader["StatusID"];
textBoxPick.Text = reader["PickUpPoint"].ToString();
textBoxDateOrders.Text = reader["DateOrders"].ToString();
textBoxDateDel.Text = reader["DateDelivery"].ToString();
comboBoxProduct.SelectedValue = reader["SostavID"];
}
}
}
void Save()
{
if (string.IsNullOrWhiteSpace(textBoxArticle.Text))
{
MessageBox.Show("Введите артикул!");
return;
}
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
string query = id.HasValue ?
@"UPDATE Orders SET Article=@a, FIOID=@f, StatusID=@s, PickUpPoint=@p,
DateOrders=@do, DateDelivery=@dd, SostavID=@sost
WHERE idOrders=@id" :
@"INSERT INTO Orders (Article, FIOID, StatusID, PickUpPoint, DateOrders, DateDelivery,
SostavID)
VALUES (@a, @f, @s, @p, @do, @dd, @sost)";
var cmd = new MySqlCommand(query, conn);
cmd.Parameters.AddWithValue("@a", textBoxArticle.Text);
cmd.Parameters.AddWithValue("@f", comboBoxFio.SelectedValue);
cmd.Parameters.AddWithValue("@s", comboBoxStatus.SelectedValue);
cmd.Parameters.AddWithValue("@p", textBoxPick.Text);
cmd.Parameters.AddWithValue("@do", textBoxDateOrders.Text);
cmd.Parameters.AddWithValue("@dd", textBoxDateDel.Text);
cmd.Parameters.AddWithValue("@sost", comboBoxProduct.SelectedValue);
if (id.HasValue) cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
DialogResult = DialogResult.OK;
Close();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
Close();
}
//Для того, чтобы работало добавление и редактирование заказов, даты нужно вводить в формате: год; месяц; день
}
}

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>

View File

@ -0,0 +1,98 @@
namespace SkryabinaModul
{
partial class OrdersManager
{
/// <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()
{
this.buttonBack = new System.Windows.Forms.Button();
this.labelTitle = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// buttonBack
//
this.buttonBack.BackColor = System.Drawing.Color.Red;
this.buttonBack.Font = new System.Drawing.Font("Comic Sans MS", 10F, System.Drawing.FontStyle.Bold);
this.buttonBack.Location = new System.Drawing.Point(709, 389);
this.buttonBack.Margin = new System.Windows.Forms.Padding(2);
this.buttonBack.Name = "buttonBack";
this.buttonBack.Size = new System.Drawing.Size(90, 32);
this.buttonBack.TabIndex = 15;
this.buttonBack.Text = "Назад";
this.buttonBack.UseVisualStyleBackColor = false;
this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 20F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(19, 29);
this.labelTitle.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(258, 38);
this.labelTitle.TabIndex = 14;
this.labelTitle.Text = "Просмотр заказов";
//
// dataGridView1
//
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Font = new System.Drawing.Font("Comic Sans MS", 9F);
this.dataGridView1.Location = new System.Drawing.Point(11, 81);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.Size = new System.Drawing.Size(788, 284);
this.dataGridView1.TabIndex = 13;
//
// OrdersManager
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(815, 450);
this.Controls.Add(this.buttonBack);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.dataGridView1);
this.Name = "OrdersManager";
this.Text = "OrdersManager";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.DataGridView dataGridView1;
}
}

View File

@ -0,0 +1,48 @@
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;
using MySql.Data.MySqlClient;
namespace SkryabinaModul
{
public partial class OrdersManager : Form
{
string connectionString = "Server=85.239.57.125; Database=Scriabin_Sophia_ProbModul; Uid=Scriabin_Sophia; Pwd=TempPass123!; SslMode=none;";
public OrdersManager()
{
InitializeComponent();
LoadOrders();
}
void LoadOrders()
{
using (var conn = new MySqlConnection(connectionString))
{
conn.Open();
var adapter = new MySqlDataAdapter(@"SELECT o.idOrders, o.Article, k.FIO, s.Status, o.PickUpPoint,
o.DateOrders, o.DateDelivery, p.Article
FROM Orders o
LEFT JOIN Klients k ON o.FIOID = k.idKlient
LEFT JOIN Status s ON o.StatusID = s.idStatus
LEFT JOIN Product p ON o.SostavID = p.idProduct", conn);
var dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
if (dataGridView1.Columns["idOrders"] != null)
dataGridView1.Columns["idOrders"].Visible = false;
}
}
private void buttonBack_Click(object sender, EventArgs e)
{
Close();
}
}
}

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>

View File

@ -0,0 +1,376 @@
namespace SkryabinaModul
{
partial class ProductEditForm
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null)) { components.Dispose(); }
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.labelTitle = new System.Windows.Forms.Label();
this.labelArticle = new System.Windows.Forms.Label();
this.textBoxArticle = new System.Windows.Forms.TextBox();
this.labelName = new System.Windows.Forms.Label();
this.textBoxName = new System.Windows.Forms.TextBox();
this.labelCategory = new System.Windows.Forms.Label();
this.comboBoxCategory = new System.Windows.Forms.ComboBox();
this.labelDescription = new System.Windows.Forms.Label();
this.textBoxDescription = new System.Windows.Forms.TextBox();
this.labelManufacturer = new System.Windows.Forms.Label();
this.comboBoxManufacturer = new System.Windows.Forms.ComboBox();
this.labelSupplier = new System.Windows.Forms.Label();
this.comboBoxSupplier = new System.Windows.Forms.ComboBox();
this.labelPrice = new System.Windows.Forms.Label();
this.numericUpDownPrice = new System.Windows.Forms.NumericUpDown();
this.labelDiscount = new System.Windows.Forms.Label();
this.textBoxDiscount = new System.Windows.Forms.TextBox();
this.labelQuantity = new System.Windows.Forms.Label();
this.numericUpDownQuantity = new System.Windows.Forms.NumericUpDown();
this.labelUnit = new System.Windows.Forms.Label();
this.comboBoxUnit = new System.Windows.Forms.ComboBox();
this.labelPhoto = new System.Windows.Forms.Label();
this.textBoxPhoto = new System.Windows.Forms.TextBox();
this.buttonSave = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownPrice)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownQuantity)).BeginInit();
this.SuspendLayout();
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Comic Sans MS", 18F, System.Drawing.FontStyle.Bold);
this.labelTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.labelTitle.Location = new System.Drawing.Point(12, 9);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(285, 35);
this.labelTitle.TabIndex = 0;
this.labelTitle.Text = "Редактирование товара";
//
// labelArticle
//
this.labelArticle.AutoSize = true;
this.labelArticle.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelArticle.Location = new System.Drawing.Point(12, 60);
this.labelArticle.Name = "labelArticle";
this.labelArticle.Size = new System.Drawing.Size(68, 19);
this.labelArticle.TabIndex = 1;
this.labelArticle.Text = "Артикул:";
//
// textBoxArticle
//
this.textBoxArticle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxArticle.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxArticle.Location = new System.Drawing.Point(16, 82);
this.textBoxArticle.Name = "textBoxArticle";
this.textBoxArticle.Size = new System.Drawing.Size(150, 26);
this.textBoxArticle.TabIndex = 2;
//
// labelName
//
this.labelName.AutoSize = true;
this.labelName.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelName.Location = new System.Drawing.Point(180, 60);
this.labelName.Name = "labelName";
this.labelName.Size = new System.Drawing.Size(76, 19);
this.labelName.TabIndex = 3;
this.labelName.Text = "Название:";
//
// textBoxName
//
this.textBoxName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxName.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxName.Location = new System.Drawing.Point(184, 82);
this.textBoxName.Name = "textBoxName";
this.textBoxName.Size = new System.Drawing.Size(250, 26);
this.textBoxName.TabIndex = 4;
//
// labelCategory
//
this.labelCategory.AutoSize = true;
this.labelCategory.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelCategory.Location = new System.Drawing.Point(12, 120);
this.labelCategory.Name = "labelCategory";
this.labelCategory.Size = new System.Drawing.Size(82, 19);
this.labelCategory.TabIndex = 5;
this.labelCategory.Text = "Категория:";
//
// comboBoxCategory
//
this.comboBoxCategory.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxCategory.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxCategory.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxCategory.FormattingEnabled = true;
this.comboBoxCategory.Location = new System.Drawing.Point(16, 142);
this.comboBoxCategory.Name = "comboBoxCategory";
this.comboBoxCategory.Size = new System.Drawing.Size(200, 26);
this.comboBoxCategory.TabIndex = 6;
//
// labelDescription
//
this.labelDescription.AutoSize = true;
this.labelDescription.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelDescription.Location = new System.Drawing.Point(230, 120);
this.labelDescription.Name = "labelDescription";
this.labelDescription.Size = new System.Drawing.Size(81, 19);
this.labelDescription.TabIndex = 7;
this.labelDescription.Text = "Описание:";
//
// textBoxDescription
//
this.textBoxDescription.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxDescription.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxDescription.Location = new System.Drawing.Point(234, 142);
this.textBoxDescription.Name = "textBoxDescription";
this.textBoxDescription.Size = new System.Drawing.Size(300, 26);
this.textBoxDescription.TabIndex = 8;
//
// labelManufacturer
//
this.labelManufacturer.AutoSize = true;
this.labelManufacturer.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelManufacturer.Location = new System.Drawing.Point(12, 180);
this.labelManufacturer.Name = "labelManufacturer";
this.labelManufacturer.Size = new System.Drawing.Size(119, 19);
this.labelManufacturer.TabIndex = 9;
this.labelManufacturer.Text = "Производитель:";
//
// comboBoxManufacturer
//
this.comboBoxManufacturer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxManufacturer.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxManufacturer.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxManufacturer.FormattingEnabled = true;
this.comboBoxManufacturer.Location = new System.Drawing.Point(16, 202);
this.comboBoxManufacturer.Name = "comboBoxManufacturer";
this.comboBoxManufacturer.Size = new System.Drawing.Size(200, 26);
this.comboBoxManufacturer.TabIndex = 10;
//
// labelSupplier
//
this.labelSupplier.AutoSize = true;
this.labelSupplier.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelSupplier.Location = new System.Drawing.Point(230, 180);
this.labelSupplier.Name = "labelSupplier";
this.labelSupplier.Size = new System.Drawing.Size(89, 19);
this.labelSupplier.TabIndex = 11;
this.labelSupplier.Text = "Поставщик:";
//
// comboBoxSupplier
//
this.comboBoxSupplier.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxSupplier.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxSupplier.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxSupplier.FormattingEnabled = true;
this.comboBoxSupplier.Location = new System.Drawing.Point(234, 202);
this.comboBoxSupplier.Name = "comboBoxSupplier";
this.comboBoxSupplier.Size = new System.Drawing.Size(200, 26);
this.comboBoxSupplier.TabIndex = 12;
//
// labelPrice
//
this.labelPrice.AutoSize = true;
this.labelPrice.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelPrice.Location = new System.Drawing.Point(12, 245);
this.labelPrice.Name = "labelPrice";
this.labelPrice.Size = new System.Drawing.Size(47, 19);
this.labelPrice.TabIndex = 13;
this.labelPrice.Text = "Цена:";
//
// numericUpDownPrice
//
this.numericUpDownPrice.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.numericUpDownPrice.DecimalPlaces = 2;
this.numericUpDownPrice.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.numericUpDownPrice.Location = new System.Drawing.Point(16, 267);
this.numericUpDownPrice.Maximum = new decimal(new int[] {
999999,
0,
0,
0});
this.numericUpDownPrice.Name = "numericUpDownPrice";
this.numericUpDownPrice.Size = new System.Drawing.Size(120, 26);
this.numericUpDownPrice.TabIndex = 14;
this.numericUpDownPrice.ThousandsSeparator = true;
//
// labelDiscount
//
this.labelDiscount.AutoSize = true;
this.labelDiscount.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelDiscount.Location = new System.Drawing.Point(150, 245);
this.labelDiscount.Name = "labelDiscount";
this.labelDiscount.Size = new System.Drawing.Size(84, 19);
this.labelDiscount.TabIndex = 15;
this.labelDiscount.Text = "Скидка (%):";
//
// textBoxDiscount
//
this.textBoxDiscount.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxDiscount.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxDiscount.Location = new System.Drawing.Point(154, 267);
this.textBoxDiscount.Name = "textBoxDiscount";
this.textBoxDiscount.Size = new System.Drawing.Size(100, 26);
this.textBoxDiscount.TabIndex = 16;
this.textBoxDiscount.Text = "0";
//
// labelQuantity
//
this.labelQuantity.AutoSize = true;
this.labelQuantity.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelQuantity.Location = new System.Drawing.Point(270, 245);
this.labelQuantity.Name = "labelQuantity";
this.labelQuantity.Size = new System.Drawing.Size(92, 19);
this.labelQuantity.TabIndex = 17;
this.labelQuantity.Text = "Количество:";
//
// numericUpDownQuantity
//
this.numericUpDownQuantity.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.numericUpDownQuantity.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.numericUpDownQuantity.Location = new System.Drawing.Point(274, 267);
this.numericUpDownQuantity.Maximum = new decimal(new int[] {
99999,
0,
0,
0});
this.numericUpDownQuantity.Name = "numericUpDownQuantity";
this.numericUpDownQuantity.Size = new System.Drawing.Size(120, 26);
this.numericUpDownQuantity.TabIndex = 18;
//
// labelUnit
//
this.labelUnit.AutoSize = true;
this.labelUnit.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelUnit.Location = new System.Drawing.Point(410, 245);
this.labelUnit.Name = "labelUnit";
this.labelUnit.Size = new System.Drawing.Size(109, 19);
this.labelUnit.TabIndex = 19;
this.labelUnit.Text = "Ед. измерения:";
//
// comboBoxUnit
//
this.comboBoxUnit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.comboBoxUnit.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxUnit.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.comboBoxUnit.FormattingEnabled = true;
this.comboBoxUnit.Location = new System.Drawing.Point(414, 267);
this.comboBoxUnit.Name = "comboBoxUnit";
this.comboBoxUnit.Size = new System.Drawing.Size(150, 26);
this.comboBoxUnit.TabIndex = 20;
//
// labelPhoto
//
this.labelPhoto.AutoSize = true;
this.labelPhoto.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.labelPhoto.Location = new System.Drawing.Point(12, 310);
this.labelPhoto.Name = "labelPhoto";
this.labelPhoto.Size = new System.Drawing.Size(96, 19);
this.labelPhoto.TabIndex = 21;
this.labelPhoto.Text = "Путь к фото:";
//
// textBoxPhoto
//
this.textBoxPhoto.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(133)))), ((int)(((byte)(242)))), ((int)(((byte)(189)))));
this.textBoxPhoto.Font = new System.Drawing.Font("Comic Sans MS", 10F);
this.textBoxPhoto.Location = new System.Drawing.Point(16, 332);
this.textBoxPhoto.Name = "textBoxPhoto";
this.textBoxPhoto.Size = new System.Drawing.Size(400, 26);
this.textBoxPhoto.TabIndex = 22;
//
// buttonSave
//
this.buttonSave.BackColor = System.Drawing.Color.Red;
this.buttonSave.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Bold);
this.buttonSave.Location = new System.Drawing.Point(324, 380);
this.buttonSave.Name = "buttonSave";
this.buttonSave.Size = new System.Drawing.Size(140, 45);
this.buttonSave.TabIndex = 23;
this.buttonSave.Text = "Сохранить";
this.buttonSave.UseVisualStyleBackColor = false;
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
//
// buttonCancel
//
this.buttonCancel.BackColor = System.Drawing.Color.Red;
this.buttonCancel.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Bold);
this.buttonCancel.ForeColor = System.Drawing.Color.Black;
this.buttonCancel.Location = new System.Drawing.Point(480, 380);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(140, 45);
this.buttonCancel.TabIndex = 24;
this.buttonCancel.Text = "Отмена";
this.buttonCancel.UseVisualStyleBackColor = false;
//
// ProductEditForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(237)))), ((int)(((byte)(215)))));
this.ClientSize = new System.Drawing.Size(644, 450);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonSave);
this.Controls.Add(this.textBoxPhoto);
this.Controls.Add(this.labelPhoto);
this.Controls.Add(this.comboBoxUnit);
this.Controls.Add(this.labelUnit);
this.Controls.Add(this.numericUpDownQuantity);
this.Controls.Add(this.labelQuantity);
this.Controls.Add(this.textBoxDiscount);
this.Controls.Add(this.labelDiscount);
this.Controls.Add(this.numericUpDownPrice);
this.Controls.Add(this.labelPrice);
this.Controls.Add(this.comboBoxSupplier);
this.Controls.Add(this.labelSupplier);
this.Controls.Add(this.comboBoxManufacturer);
this.Controls.Add(this.labelManufacturer);
this.Controls.Add(this.textBoxDescription);
this.Controls.Add(this.labelDescription);
this.Controls.Add(this.comboBoxCategory);
this.Controls.Add(this.labelCategory);
this.Controls.Add(this.textBoxName);
this.Controls.Add(this.labelName);
this.Controls.Add(this.textBoxArticle);
this.Controls.Add(this.labelArticle);
this.Controls.Add(this.labelTitle);
this.Font = new System.Drawing.Font("Comic Sans MS", 8.25F);
this.Name = "ProductEditForm";
this.Text = "Товар";
((System.ComponentModel.ISupportInitialize)(this.numericUpDownPrice)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownQuantity)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.Label labelArticle;
private System.Windows.Forms.TextBox textBoxArticle;
private System.Windows.Forms.Label labelName;
private System.Windows.Forms.TextBox textBoxName;
private System.Windows.Forms.Label labelCategory;
private System.Windows.Forms.ComboBox comboBoxCategory;
private System.Windows.Forms.Label labelDescription;
private System.Windows.Forms.TextBox textBoxDescription;
private System.Windows.Forms.Label labelManufacturer;
private System.Windows.Forms.ComboBox comboBoxManufacturer;
private System.Windows.Forms.Label labelSupplier;
private System.Windows.Forms.ComboBox comboBoxSupplier;
private System.Windows.Forms.Label labelPrice;
private System.Windows.Forms.NumericUpDown numericUpDownPrice;
private System.Windows.Forms.Label labelDiscount;
private System.Windows.Forms.TextBox textBoxDiscount;
private System.Windows.Forms.Label labelQuantity;
private System.Windows.Forms.NumericUpDown numericUpDownQuantity;
private System.Windows.Forms.Label labelUnit;
private System.Windows.Forms.ComboBox comboBoxUnit;
private System.Windows.Forms.Label labelPhoto;
private System.Windows.Forms.TextBox textBoxPhoto;
private System.Windows.Forms.Button buttonSave;
private System.Windows.Forms.Button buttonCancel;
}
}

View File

@ -0,0 +1,114 @@
using MySql.Data.MySqlClient;
using System;
using System.Data;
using System.Windows.Forms;
namespace SkryabinaModul
{
public partial class ProductEditForm : Form
{
string connStr;
int? id;
public ProductEditForm(string connectionString, int? productId)
{
InitializeComponent();
connStr = connectionString;
id = productId;
LoadComboBoxes();
if (id.HasValue) LoadProduct();
Text = id.HasValue ? "Редактирование" : "Новый товар";
buttonSave.Click += (s, e) => Save();
buttonCancel.Click += (s, e) => Close();
}
void LoadComboBoxes()
{
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
LoadCombo(conn, "SELECT idCategory, Category FROM Category", comboBoxCategory);
LoadCombo(conn, "SELECT idManufacturer, Manufacturer FROM Manufacturer", comboBoxManufacturer);
LoadCombo(conn, "SELECT idSupplier, Supplier FROM Supplier", comboBoxSupplier);
LoadCombo(conn, "SELECT idUnit, Unit FROM Unit", comboBoxUnit);
}
}
void LoadCombo(MySqlConnection conn, string query, ComboBox combo)
{
var dt = new DataTable();
new MySqlDataAdapter(query, conn).Fill(dt);
combo.DisplayMember = dt.Columns[1].ColumnName;
combo.ValueMember = dt.Columns[0].ColumnName;
combo.DataSource = dt;
}
void LoadProduct()
{
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
var cmd = new MySqlCommand("SELECT * FROM Product WHERE idProduct = @id", conn);
cmd.Parameters.AddWithValue("@id", id);
var reader = cmd.ExecuteReader();
if (reader.Read())
{
textBoxArticle.Text = reader["Article"].ToString();
textBoxName.Text = reader["Name"].ToString();
comboBoxCategory.SelectedValue = reader["CategoryID"];
textBoxDescription.Text = reader["Description"].ToString();
comboBoxManufacturer.SelectedValue = reader["ManufacturerID"];
comboBoxSupplier.SelectedValue = reader["SupplierID"];
numericUpDownPrice.Value = Convert.ToDecimal(reader["Price"]);
textBoxDiscount.Text = reader["Discount"].ToString();
numericUpDownQuantity.Value = Convert.ToInt32(reader["Quantity"]);
comboBoxUnit.SelectedValue = reader["EdinicaID"];
textBoxPhoto.Text = reader["Photo"].ToString();
}
}
}
void Save()
{
if (string.IsNullOrWhiteSpace(textBoxName.Text))
{
MessageBox.Show("Введите название!");
return;
}
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
string query = id.HasValue ?
@"UPDATE Product SET Article=@a, Name=@n, CategoryID=@c, Description=@d,
ManufacturerID=@m, SupplierID=@s, Price=@p, Discount=@dc, Quantity=@q, EdinicaID=@e, Photo=@ph
WHERE idProduct=@id" :
@"INSERT INTO Product (Article, Name, CategoryID, Description, ManufacturerID, SupplierID,
Price, Discount, Quantity, EdinicaID, Photo)
VALUES (@a, @n, @c, @d, @m, @s, @p, @dc, @q, @e, @ph)";
var cmd = new MySqlCommand(query, conn);
cmd.Parameters.AddWithValue("@a", textBoxArticle.Text);
cmd.Parameters.AddWithValue("@n", textBoxName.Text);
cmd.Parameters.AddWithValue("@c", comboBoxCategory.SelectedValue);
cmd.Parameters.AddWithValue("@d", textBoxDescription.Text);
cmd.Parameters.AddWithValue("@m", comboBoxManufacturer.SelectedValue);
cmd.Parameters.AddWithValue("@s", comboBoxSupplier.SelectedValue);
cmd.Parameters.AddWithValue("@p", numericUpDownPrice.Value);
cmd.Parameters.AddWithValue("@dc", textBoxDiscount.Text);
cmd.Parameters.AddWithValue("@q", numericUpDownQuantity.Value);
cmd.Parameters.AddWithValue("@e", comboBoxUnit.SelectedValue);
cmd.Parameters.AddWithValue("@ph", textBoxPhoto.Text);
if (id.HasValue) cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
DialogResult = DialogResult.OK;
Close();
}
private void buttonSave_Click(object sender, EventArgs e)
{
}
}
}

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>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SkryabinaModul
{
internal static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Общие сведения об этой сборке предоставляются следующим набором
// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
// связанных со сборкой.
[assembly: AssemblyTitle("SkryabinaModul")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SkryabinaModul")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
// COM, следует установить атрибут ComVisible в TRUE для этого типа.
[assembly: ComVisible(false)]
// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
[assembly: Guid("9be5a1f3-d5da-4431-9a90-979504879292")]
// Сведения о версии сборки состоят из указанных ниже четырех значений:
//
// Основной номер версии
// Дополнительный номер версии
// Номер сборки
// Редакция
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программным средством.
// Версия среды выполнения: 4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если
// код создан повторно.
// </auto-generated>
//------------------------------------------------------------------------------
namespace SkryabinaModul.Properties
{
/// <summary>
/// Класс ресурсов со строгим типом для поиска локализованных строк и пр.
/// </summary>
// Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder
// класс с помощью таких средств, как ResGen или Visual Studio.
// Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen
// с параметром /str или заново постройте свой VS-проект.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Возврат кэшированного экземпляра ResourceManager, используемого этим классом.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SkryabinaModul.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Переопределяет свойство CurrentUICulture текущего потока для всех
/// подстановки ресурсов с помощью этого класса ресурсов со строгим типом.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace SkryabinaModul.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{9BE5A1F3-D5DA-4431-9A90-979504879292}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>SkryabinaModul</RootNamespace>
<AssemblyName>SkryabinaModul</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="MySql.Data">
<HintPath>..\..\..\..\Downloads\mysql.data\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Admin.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Admin.Designer.cs">
<DependentUpon>Admin.cs</DependentUpon>
</Compile>
<Compile Include="Class1.cs" />
<Compile Include="Client.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Client.Designer.cs">
<DependentUpon>Client.cs</DependentUpon>
</Compile>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Guest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Guest.Designer.cs">
<DependentUpon>Guest.cs</DependentUpon>
</Compile>
<Compile Include="Manager.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Manager.Designer.cs">
<DependentUpon>Manager.cs</DependentUpon>
</Compile>
<Compile Include="OrdersAdmin.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OrdersAdmin.Designer.cs">
<DependentUpon>OrdersAdmin.cs</DependentUpon>
</Compile>
<Compile Include="OrdersEditForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OrdersEditForm.Designer.cs">
<DependentUpon>OrdersEditForm.cs</DependentUpon>
</Compile>
<Compile Include="OrdersManager.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OrdersManager.Designer.cs">
<DependentUpon>OrdersManager.cs</DependentUpon>
</Compile>
<Compile Include="ProductEditForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ProductEditForm.Designer.cs">
<DependentUpon>ProductEditForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Admin.resx">
<DependentUpon>Admin.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Client.resx">
<DependentUpon>Client.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Guest.resx">
<DependentUpon>Guest.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Manager.resx">
<DependentUpon>Manager.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="OrdersAdmin.resx">
<DependentUpon>OrdersAdmin.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="OrdersEditForm.resx">
<DependentUpon>OrdersEditForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="OrdersManager.resx">
<DependentUpon>OrdersManager.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ProductEditForm.resx">
<DependentUpon>ProductEditForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Binary file not shown.

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1 @@
822113872b348cf01536a798fe1f1e01b502f52261999af2a16050f85b357d36

View File

@ -0,0 +1,20 @@
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\bin\Debug\SkryabinaModul.exe.config
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\bin\Debug\SkryabinaModul.exe
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\bin\Debug\SkryabinaModul.pdb
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\bin\Debug\MySql.Data.dll
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.csproj.AssemblyReference.cache
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.Form1.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.Properties.Resources.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.csproj.GenerateResource.cache
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.csproj.CoreCompileInputs.cache
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\Skryabin.9AA99B77.Up2Date
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.exe
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.pdb
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.Admin.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.ProductEditForm.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.Manager.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.Client.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.Guest.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.OrdersManager.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.OrdersAdmin.resources
C:\Users\student\Desktop\Modul_Skryabina\SkryabinaModul\SkryabinaModul\obj\Debug\SkryabinaModul.OrdersEditForm.resources