aLesya66 před 1 měsícem
rodič
revize
c8e0812c81
67 změnil soubory, kde provedl 19366 přidání a 0 odebrání
  1. binární
      WindowsFormsApp1/.vs/WindowsFormsApp1/FileContentIndex/5e7d5e55-cc2c-460f-9d38-92f2e3820eb1.vsidx
  2. binární
      WindowsFormsApp1/.vs/WindowsFormsApp1/FileContentIndex/99eeee7a-731b-4028-9027-eed1ca81667c.vsidx
  3. binární
      WindowsFormsApp1/.vs/WindowsFormsApp1/FileContentIndex/ba677ad2-9ae1-4929-bff5-9a7ea4e1776e.vsidx
  4. binární
      WindowsFormsApp1/.vs/WindowsFormsApp1/v17/.suo
  5. 57 0
      WindowsFormsApp1/.vs/WindowsFormsApp1/v17/DocumentLayout.json
  6. 25 0
      WindowsFormsApp1/WindowsFormsApp1.sln
  7. 13 0
      WindowsFormsApp1/WindowsFormsApp1/App.config
  8. 40 0
      WindowsFormsApp1/WindowsFormsApp1/Form1.Designer.cs
  9. 20 0
      WindowsFormsApp1/WindowsFormsApp1/Form1.cs
  10. 189 0
      WindowsFormsApp1/WindowsFormsApp1/Program.cs
  11. 36 0
      WindowsFormsApp1/WindowsFormsApp1/Properties/AssemblyInfo.cs
  12. 71 0
      WindowsFormsApp1/WindowsFormsApp1/Properties/Resources.Designer.cs
  13. 117 0
      WindowsFormsApp1/WindowsFormsApp1/Properties/Resources.resx
  14. 37 0
      WindowsFormsApp1/WindowsFormsApp1/Properties/Settings.Designer.cs
  15. 14 0
      WindowsFormsApp1/WindowsFormsApp1/Properties/Settings.settings
  16. 116 0
      WindowsFormsApp1/WindowsFormsApp1/WindowsFormsApp1.csproj
  17. binární
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.CustomControls.dll
  18. 81 0
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.CustomControls.xml
  19. binární
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DataSetCRUDS.dll
  20. 429 0
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DataSetCRUDS.xml
  21. binární
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DefaultScreens.dll
  22. 348 0
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DefaultScreens.xml
  23. binární
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.exe
  24. 13 0
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.exe.config
  25. binární
      WindowsFormsApp1/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.pdb
  26. 4 0
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs
  27. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/DesignTimeResolveAssemblyReferences.cache
  28. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  29. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/TempPE/user05DataSet.Designer.cs.dll
  30. 0 0
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsF.A1EEDF9B.Up2Date
  31. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.Properties.Resources.resources
  32. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.AssemblyReference.cache
  33. 1 0
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.CoreCompileInputs.cache
  34. 16 0
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.FileListAbsolute.txt
  35. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.GenerateResource.cache
  36. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.exe
  37. binární
      WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.pdb
  38. 6 0
      WindowsFormsApp1/WindowsFormsApp1/packages.config
  39. 13518 0
      WindowsFormsApp1/WindowsFormsApp1/user05DataSet.Designer.cs
  40. 1 0
      WindowsFormsApp1/WindowsFormsApp1/user05DataSet.xsc
  41. 1205 0
      WindowsFormsApp1/WindowsFormsApp1/user05DataSet.xsd
  42. 1 0
      WindowsFormsApp1/WindowsFormsApp1/user05DataSet.xss
  43. binární
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/.signature.p7s
  44. binární
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/AlfaToad.CustomControls.4.2.10.nupkg
  45. 448 0
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/README.md
  46. 31 0
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/build/AlfaToad.CustomControls.targets
  47. 125 0
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/docs/discount-flowchart.svg
  48. binární
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net48/AlfaToad.CustomControls.dll
  49. 81 0
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net48/AlfaToad.CustomControls.xml
  50. binární
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net8.0-windows7.0/AlfaToad.CustomControls.dll
  51. 81 0
      WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net8.0-windows7.0/AlfaToad.CustomControls.xml
  52. binární
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/.signature.p7s
  53. binární
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/AlfaToad.DataSetCRUDS.1.1.7.nupkg
  54. 281 0
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/README.md
  55. binární
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net48/AlfaToad.DataSetCRUDS.dll
  56. 429 0
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net48/AlfaToad.DataSetCRUDS.xml
  57. binární
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net8.0-windows7.0/AlfaToad.DataSetCRUDS.dll
  58. 429 0
      WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net8.0-windows7.0/AlfaToad.DataSetCRUDS.xml
  59. binární
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/.signature.p7s
  60. binární
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/AlfaToad.DefaultScreens.1.1.7.nupkg
  61. 254 0
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/README.md
  62. binární
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net48/AlfaToad.DefaultScreens.dll
  63. 348 0
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net48/AlfaToad.DefaultScreens.xml
  64. binární
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net8.0-windows7.0/AlfaToad.DefaultScreens.dll
  65. 348 0
      WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net8.0-windows7.0/AlfaToad.DefaultScreens.xml
  66. 153 0
      user05.sql
  67. binární
      user05.xlsm

binární
WindowsFormsApp1/.vs/WindowsFormsApp1/FileContentIndex/5e7d5e55-cc2c-460f-9d38-92f2e3820eb1.vsidx


binární
WindowsFormsApp1/.vs/WindowsFormsApp1/FileContentIndex/99eeee7a-731b-4028-9027-eed1ca81667c.vsidx


binární
WindowsFormsApp1/.vs/WindowsFormsApp1/FileContentIndex/ba677ad2-9ae1-4929-bff5-9a7ea4e1776e.vsidx


binární
WindowsFormsApp1/.vs/WindowsFormsApp1/v17/.suo


+ 57 - 0
WindowsFormsApp1/.vs/WindowsFormsApp1/v17/DocumentLayout.json

@@ -0,0 +1,57 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "C:\\Users\\\u041B\u0435\u0441\u044F\\Downloads\\asxdcfvb\\WindowsFormsApp1\\",
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{F3CB8E7F-C5B0-4541-B584-DF191B53989D}|WindowsFormsApp1\\WindowsFormsApp1.csproj|c:\\users\\\u043B\u0435\u0441\u044F\\downloads\\asxdcfvb\\windowsformsapp1\\windowsformsapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{F3CB8E7F-C5B0-4541-B584-DF191B53989D}|WindowsFormsApp1\\WindowsFormsApp1.csproj|solutionrelative:windowsformsapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{F3CB8E7F-C5B0-4541-B584-DF191B53989D}|WindowsFormsApp1\\WindowsFormsApp1.csproj|c:\\users\\\u043B\u0435\u0441\u044F\\downloads\\asxdcfvb\\windowsformsapp1\\windowsformsapp1\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{F3CB8E7F-C5B0-4541-B584-DF191B53989D}|WindowsFormsApp1\\WindowsFormsApp1.csproj|solutionrelative:windowsformsapp1\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+    }
+  ],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": 1,
+          "Children": [
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "Program.cs",
+              "DocumentMoniker": "C:\\Users\\\u041B\u0435\u0441\u044F\\Downloads\\asxdcfvb\\WindowsFormsApp1\\WindowsFormsApp1\\Program.cs",
+              "RelativeDocumentMoniker": "WindowsFormsApp1\\Program.cs",
+              "ToolTip": "C:\\Users\\\u041B\u0435\u0441\u044F\\Downloads\\asxdcfvb\\WindowsFormsApp1\\WindowsFormsApp1\\Program.cs",
+              "RelativeToolTip": "WindowsFormsApp1\\Program.cs",
+              "ViewState": "AQIAAIsAAAAAAAAAAAAgwEYAAAAOAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2026-06-09T01:05:11.246Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
+              "DocumentMoniker": "C:\\Users\\\u041B\u0435\u0441\u044F\\Downloads\\asxdcfvb\\WindowsFormsApp1\\WindowsFormsApp1\\Form1.cs",
+              "RelativeDocumentMoniker": "WindowsFormsApp1\\Form1.cs",
+              "ToolTip": "C:\\Users\\\u041B\u0435\u0441\u044F\\Downloads\\asxdcfvb\\WindowsFormsApp1\\WindowsFormsApp1\\Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
+              "RelativeToolTip": "WindowsFormsApp1\\Form1.cs [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2026-06-09T01:03:26.668Z",
+              "EditorCaption": " [\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440]"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}

+ 25 - 0
WindowsFormsApp1/WindowsFormsApp1.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.9.34714.143
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsFormsApp1", "WindowsFormsApp1\WindowsFormsApp1.csproj", "{F3CB8E7F-C5B0-4541-B584-DF191B53989D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F3CB8E7F-C5B0-4541-B584-DF191B53989D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F3CB8E7F-C5B0-4541-B584-DF191B53989D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F3CB8E7F-C5B0-4541-B584-DF191B53989D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F3CB8E7F-C5B0-4541-B584-DF191B53989D}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {232CDE39-64B3-4DCD-B1FA-1511B7FAB8BF}
+	EndGlobalSection
+EndGlobal

+ 13 - 0
WindowsFormsApp1/WindowsFormsApp1/App.config

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <configSections>
+    </configSections>
+    <connectionStrings>
+        <add name="WindowsFormsApp1.Properties.Settings.user05ConnectionString"
+            connectionString="Data Source=КОМПУКТЕР\СУПЕРМЕГАСЕРВЕР;Initial Catalog=user05;Integrated Security=True;Encrypt=False"
+            providerName="System.Data.SqlClient" />
+    </connectionStrings>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
+    </startup>
+</configuration>

+ 40 - 0
WindowsFormsApp1/WindowsFormsApp1/Form1.Designer.cs

@@ -0,0 +1,40 @@
+namespace WindowsFormsApp1
+{
+    partial class Form1
+    {
+        /// <summary>
+        /// Обязательная переменная конструктора.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Освободить все используемые ресурсы.
+        /// </summary>
+        /// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Код, автоматически созданный конструктором форм Windows
+
+        /// <summary>
+        /// Требуемый метод для поддержки конструктора — не изменяйте 
+        /// содержимое этого метода с помощью редактора кода.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(800, 450);
+            this.Text = "Form1";
+        }
+
+        #endregion
+    }
+}
+

+ 20 - 0
WindowsFormsApp1/WindowsFormsApp1/Form1.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace WindowsFormsApp1
+{
+    public partial class Form1 : Form
+    {
+        public Form1()
+        {
+            InitializeComponent();
+        }
+    }
+}

+ 189 - 0
WindowsFormsApp1/WindowsFormsApp1/Program.cs

@@ -0,0 +1,189 @@
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+using AlfaToad.CustomControls.Theme;              // AppearancePalette — цвета и шрифты
+using AlfaToad.DataSetCRUDS.Configuration;      // DetailRecordFieldMap, OrderRecordFieldMap
+using AlfaToad.DefaultScreens.Configuration;      // ApplicationScreenSettings, WithViewDataPersistence
+using AlfaToad.DefaultScreens.Navigation;         // ApplicationDataContext, ApplicationNavigator
+using WindowsFormsApp1.user05DataSetTableAdapters;
+using WindowsFormsApp1;                                    // ваш Typed DataSet
+using WindowsFormsApp1.user05DataSetTableAdapters;
+
+namespace WindowsFormsApp1
+{
+    internal static class Program
+    {
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 1. DataSet и TableAdapter-ы
+            // Для view достаточно Fill() — Insert/Update/Delete делает пакет
+            // ═══════════════════════════════════════════════════════════════
+            var dataSet = new user05DataSet(); // замените на ваш Typed DataSet
+            var tovarTableAdapter = new vCatalogTableAdapter();
+            var ordersTableAdapter = new vOrdersTableAdapter();
+            var usersTableAdapter = new vw_UsersLoginTableAdapter();
+
+            // Строка подключения — задайте свои значения или используйте User Secrets / App.config
+            var connectionString = "Server=КОМПУКТЕР\\СУПЕРМЕГАСЕРВЕР;Database=user05;Trusted_Connection=True;";
+            /*
+              Server=YOUR_SERVER;Database=YOUR_DATABASE;User Id=YOUR_USER;Password=YOUR_PASSWORD;
+              Server=YOUR_SERVER;Database=YOUR_DATABASE;Trusted_Connection=True;
+            */
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 2. ApplicationScreenSettings — все настройки приложения
+            // ═══════════════════════════════════════════════════════════════
+            var settings = ApplicationScreenSettings.CreateDefault();
+
+            // ── Заголовки окон ──────────────────────────────────────────
+            settings.LoginWindowTitle = "Вход в систему";           // Заголовок формы входа
+            settings.MainWindowTitle = "Информационная система";   // Заголовок главной формы (оболочка)
+            settings.CatalogWindowTitle = "Каталог товаров";          // Заголовок экрана каталога
+            settings.OrdersWindowTitle = "Список заказов";           // Заголовок экрана заказов
+
+            // ── Тексты кнопок и пунктов меню ────────────────────────────
+            settings.LoginButtonText = "Войти";              // Кнопка «Войти» на форме входа
+            settings.GuestButtonText = "Войти как гость";    // Кнопка гостевого входа
+            settings.CatalogMenuText = "Каталог";            // Пункт меню «Каталог» на главной форме
+            settings.OrdersMenuText = "Заказы";             // Пункт меню «Заказы»
+            settings.LogoutMenuText = "Выход";              // Пункт меню «Выход» (повторный вход)
+            settings.BackMenuText = "Назад";                // Кнопка возврата на главную форму
+
+            // ── Экран входа: подписи и размеры ──────────────────────────
+            settings.LoginCaptionLogin = "Логин:";    // Подпись слева от поля логина
+            settings.LoginCaptionPassword = "Пароль:";   // Подпись слева от поля пароля
+            settings.LoginFormWidth = 480;         // Ширина формы входа (px)
+            settings.LoginFormHeight = 420;         // Высота формы входа (px) — чтобы кнопки не обрезались
+            settings.LoginLogoHeight = 110;         // Высота области логотипа на форме входа (px)
+
+            // ── Пути к ресурсам (загружаются через ApplyResourcePaths) ──
+            settings.LogoImagePath = @".\import\icon.ico";   // Логотип → settings.LogoImage
+            settings.ApplicationIconPath = @".\import\icon.ico";    // Иконка приложения → settings.ApplicationIcon
+            settings.NoImagePath = @".\import\picture.png"; // Заглушка «нет фото» → settings.NoImage
+            // Либо задайте Image/Icon напрямую (без путей):
+            // settings.LogoImage = Image.FromFile(@"C:\Path\To\Your\Resources\logo.png");
+            // settings.ApplicationIcon = new Icon(@"C:\Path\To\Your\Resources\app.ico");
+            //settings.ApplicationIcon = Icon.FromHandle(new Bitmap(@".\import\icon.png").GetHicon()); // Иконка из PNG
+            // settings.NoImage = Image.FromFile(@"C:\Path\To\Your\Resources\picture.png");
+            settings.ApplyResourcePaths(); // Подставляет LogoImage, NoImage, ApplicationIcon из путей выше
+
+            // ── Папка изображений товаров ───────────────────────────────
+            settings.ImagesFolder = @".\import"; // Папка с файлами фото (1.jpg, 2.jpg…)
+            // Если пусто — используется подпапка Images рядом с exe
+
+            // ── Ресайз фото при добавлении/редактировании товара ──────
+            settings.ImageResizeWidth = 300; // Ширина сохраняемого изображения (px)
+            settings.ImageResizeHeight = 200; // Высота сохраняемого изображения (px)
+
+            // ── Заголовки CRUD-форм ─────────────────────────────────────
+            settings.CatalogAddFormTitle = "Добавление товара";
+            settings.CatalogEditFormTitle = "Редактирование товара";
+            settings.OrderAddFormTitle = "Добавление заказа";
+            settings.OrderEditFormTitle = "Редактирование заказа";
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 3. AppearancePalette — цвета, шрифты, пороги
+            // Применяется ко всем экранам: вход, главная, каталог, заказы, CRUD-формы
+            // ═══════════════════════════════════════════════════════════════
+            settings.Appearance = new AppearancePalette
+            {
+                // ── Цвета ───────────────────────────────────────────────
+                MainBackground = ColorTranslator.FromHtml("#FFFFFF"), // Основной фон форм и строк списка
+                SectionBackground = ColorTranslator.FromHtml("#F5DEB3"), // Фон заголовков, панели кнопок, меню
+                AccentBackground = ColorTranslator.FromHtml("#DEB887"), // Кнопки, акцентные элементы
+                HighlightBackground = ColorTranslator.FromHtml("#FFDEAD"), // Подсветка товара со скидкой > порога
+                SelectedRowBackground = ColorTranslator.FromHtml("#E8EEF8"), // Фон выбранной строки в списке
+                PrimaryText = Color.Black,                         // Основной цвет текста
+                SeparatorText = Color.Gray,                          // Текст разделителей
+                BorderColor = Color.Black,                         // Рамка карточек/строк
+                RowSeparatorColor = Color.Silver,                          // Линия между строками
+                OutOfStockBackground = ColorTranslator.FromHtml("#ADD8E6"), // Фон строки при кол-ве ≤ 0
+                StrikethroughPriceColor = Color.Red,                         // Зачёркнутая цена (при скидке)
+                FinalPriceColor = Color.Black,                         // Итоговая цена со скидкой
+                // ── Шрифты ──────────────────────────────────────────────
+                FontFamily = "Arial",  // Семейство шрифта
+                BaseFontSize = 9f,       // Базовый размер текста в списках и формах
+                TitleFontSize = 10f,      // Размер заголовков и имён товаров
+                // ── Пороги ──────────────────────────────────────────────
+                HighlightThresholdPercent = 17m // Скидка > 17% → подсветка HighlightBackground
+            };
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 4. Имена столбцов БД — сопоставление с формами редактирования
+            // ═══════════════════════════════════════════════════════════════
+            settings.DetailFields = new DetailRecordFieldMap
+            {
+                PrimaryKeyField = "Article",              // Ключ товара (readonly при редактировании)
+                NameField = "Наименование товара",  // Название
+                CategoryField = "Категория товара",     // Выпадающий список
+                DescriptionField = "Описание товара",      // Многострочное описание
+                ManufacturerField = "Производитель",        // Выпадающий список
+                SupplierField = "Поставщик",              // Выпадающий список
+                PriceField = "Цена",                   // ≥ 0, не более 2 знаков после запятой
+                UnitField = "Единица измерения",    // шт., упак. и т.д.
+                StockField = "Кол-во на складе",       // Целое ≥ 0
+                DiscountField = "Действующая скидка",   // 0–100 %
+                ImageField = "Фото"                    // Имя файла изображения в БД
+            };
+            settings.OrderFields = new OrderRecordFieldMap
+            {
+                OrderNumberField = "OrderId",                    // MAX+1 при добавлении, readonly при ред.
+                ArticleField = "Артикул заказа",                  // Состав заказа (только просмотр/текст)
+                StatusField = "Статус заказа",                   // Выпадающий список
+                AddressField = "Адрес пункта выдачи",             // ID пункта выдачи (int)
+                OrderDateField = "Дата заказа",                     // DateTimePicker
+                DeliveryDateField = "Дата доставки",                   // Опционально (чекбокс)
+                ClientNameField = "ФИО авторизированного клиента",   // Клиент заказа (ComboBox)
+                PickupCodeField = "Код для получения"                // Код выдачи
+            };
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 5. Авторизация — имена столбцов и ролей из vw_UsersLogin
+            // ═══════════════════════════════════════════════════════════════
+            settings.LoginFieldName = "Логин";                      // Столбец логина в DataTable
+            settings.PasswordFieldName = "Пароль";                     // Столбец пароля
+            settings.RoleFieldName = "Роль";            // Столбец роли
+            settings.FullNameFieldName = "ФИО";                        // Отображаемое имя пользователя
+            // Строковые значения ролей в БД → уровень доступа:
+            settings.AdministratorRoleName = "Администратор";             // Полный CRUD каталог + заказы
+            settings.ManagerRoleName = "Менеджер";                  // Каталог с фильтром + просмотр заказов
+            settings.ClientRoleName = "Авторизированный клиент";   // Только просмотр каталога
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 6. ApplicationDataContext — DataSet, загрузка, сохранение
+            // ═══════════════════════════════════════════════════════════════
+            var data = new ApplicationDataContext
+            {
+                // ── DataSet и имена таблиц ──────────────────────────────
+                CatalogDataSet = dataSet,
+                CatalogTableName = "vCatalog",       // Таблица каталога в DataSet
+                OrdersDataSet = dataSet,           // Можно один DataSet на всё приложение
+                OrdersTableName = "vOrders",
+                UsersDataSet = dataSet,
+                UsersTableName = "vw_UsersLogin",
+                // ── Загрузка данных (только Fill — Update в TableAdapter не нужен) ──
+                LoadUsers = () => usersTableAdapter.Fill(dataSet.vw_UsersLogin),
+                LoadCatalog = () => tovarTableAdapter.Fill(dataSet.vCatalog),
+                LoadOrders = () => ordersTableAdapter.Fill(dataSet.vOrders),
+                // PersistCatalogChanges / PersistOrderChanges можно не задавать —
+                // подключатся автоматически через WithViewDataPersistence ниже
+            }
+            // Insert/Update/Delete для view без правки .xsd:
+            // ViewPersistenceProfile.NormalizedCatalogView — каталог (Product + справочники)
+            // ViewPersistenceProfile.NormalizedOrdersView — заказы ([Order] + OrderItem + справочники)
+            .WithViewDataPersistence(connectionString, settings);
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 7. Запуск: вход → главная форма → каталог / заказы
+            // ApplicationNavigator передаёт UsersDataSet в форму заказов
+            // для ComboBox клиентов (роль ClientRoleName из settings)
+            // ═══════════════════════════════════════════════════════════════
+            new ApplicationNavigator(settings, data).Start();
+        }
+    }
+}

+ 36 - 0
WindowsFormsApp1/WindowsFormsApp1/Properties/AssemblyInfo.cs

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

+ 71 - 0
WindowsFormsApp1/WindowsFormsApp1/Properties/Resources.Designer.cs

@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан программным средством.
+//     Версия среды выполнения: 4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если
+//     код создан повторно.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace WindowsFormsApp1.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("WindowsFormsApp1.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;
+            }
+        }
+    }
+}

+ 117 - 0
WindowsFormsApp1/WindowsFormsApp1/Properties/Resources.resx

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

+ 37 - 0
WindowsFormsApp1/WindowsFormsApp1/Properties/Settings.Designer.cs

@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан программой.
+//     Исполняемая версия:4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+//     повторной генерации кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace WindowsFormsApp1.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.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;
+            }
+        }
+        
+        [global::System.Configuration.ApplicationScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=КОМПУКТЕР\\СУПЕРМЕГАСЕРВЕР;Initial Catalog=user05;Integrated Security=" +
+            "True;Encrypt=False")]
+        public string user05ConnectionString {
+            get {
+                return ((string)(this["user05ConnectionString"]));
+            }
+        }
+    }
+}

+ 14 - 0
WindowsFormsApp1/WindowsFormsApp1/Properties/Settings.settings

@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="WindowsFormsApp1.Properties" GeneratedClassName="Settings">
+  <Profiles />
+  <Settings>
+    <Setting Name="user05ConnectionString" Type="(Connection string)" Scope="Application">
+      <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
+&lt;SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
+  &lt;ConnectionString&gt;Data Source=КОМПУКТЕР\СУПЕРМЕГАСЕРВЕР;Initial Catalog=user05;Integrated Security=True;Encrypt=False&lt;/ConnectionString&gt;
+  &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
+&lt;/SerializableConnectionString&gt;</DesignTimeValue>
+      <Value Profile="(Default)">Data Source=КОМПУКТЕР\СУПЕРМЕГАСЕРВЕР;Initial Catalog=user05;Integrated Security=True;Encrypt=False</Value>
+    </Setting>
+  </Settings>
+</SettingsFile>

+ 116 - 0
WindowsFormsApp1/WindowsFormsApp1/WindowsFormsApp1.csproj

@@ -0,0 +1,116 @@
+<?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>{F3CB8E7F-C5B0-4541-B584-DF191B53989D}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>WindowsFormsApp1</RootNamespace>
+    <AssemblyName>WindowsFormsApp1</AssemblyName>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+  </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="AlfaToad.CustomControls, Version=4.2.10.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\AlfaToad.CustomControls.4.2.10\lib\net48\AlfaToad.CustomControls.dll</HintPath>
+    </Reference>
+    <Reference Include="AlfaToad.DataSetCRUDS, Version=1.1.7.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\AlfaToad.DataSetCRUDS.1.1.7\lib\net48\AlfaToad.DataSetCRUDS.dll</HintPath>
+    </Reference>
+    <Reference Include="AlfaToad.DefaultScreens, Version=1.1.7.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\AlfaToad.DefaultScreens.1.1.7\lib\net48\AlfaToad.DefaultScreens.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Design" />
+    <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="Form1.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Form1.Designer.cs">
+      <DependentUpon>Form1.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="user05DataSet.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>user05DataSet.xsd</DependentUpon>
+    </Compile>
+    <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="packages.config" />
+    <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>
+    <None Include="user05DataSet.xsc">
+      <DependentUpon>user05DataSet.xsd</DependentUpon>
+    </None>
+    <None Include="user05DataSet.xsd">
+      <Generator>MSDataSetGenerator</Generator>
+      <LastGenOutput>user05DataSet.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="user05DataSet.xss">
+      <DependentUpon>user05DataSet.xsd</DependentUpon>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Import Project="..\packages\AlfaToad.CustomControls.4.2.10\build\AlfaToad.CustomControls.targets" Condition="Exists('..\packages\AlfaToad.CustomControls.4.2.10\build\AlfaToad.CustomControls.targets')" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их.  Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\AlfaToad.CustomControls.4.2.10\build\AlfaToad.CustomControls.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\AlfaToad.CustomControls.4.2.10\build\AlfaToad.CustomControls.targets'))" />
+  </Target>
+</Project>

binární
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.CustomControls.dll


+ 81 - 0
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.CustomControls.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.CustomControls</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.CustomControls.Controls.BoundDataGridView">
+            <summary>
+            Таблица с привязкой к DataSet и подсветкой значений выше порога в отдельном столбце.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Controls.ScrollableDetailPanel">
+            <summary>
+            Прокручиваемый список строк детализации: изображение, поля записи и скидка в каждой строке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.ClearSelection">
+            <summary>
+            Сбрасывает выбранную строку в списке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.SelectDataRow(System.Data.DataRow)">
+            <summary>
+            Выбирает строку по ссылке на DataRow после перезагрузки таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.RebuildNow">
+            <summary>
+            Немедленно перестраивает список строк (без отложенного вызова).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Controls.ScrollableOrderPanel">
+            <summary>
+            Прокручиваемый список строк заказа: основные поля слева, дата доставки справа.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.ClearSelection">
+            <summary>
+            Сбрасывает выбранную строку в списке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.SelectDataRow(System.Data.DataRow)">
+            <summary>
+            Выбирает строку по ссылке на DataRow после перезагрузки таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.RebuildNow">
+            <summary>
+            Немедленно перестраивает список строк (без отложенного вызова).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Data.DataSetBinder">
+            <summary>Привязка таблицы DataGridView к DataSet.</summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Data.ProductSortOption">
+            <summary>Вариант сортировки списка товаров.</summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.CustomControls.Data.ScrollablePanelRebuildScheduler" -->
+        <member name="T:AlfaToad.CustomControls.Helpers.ControlPaintHelper">
+            <summary>
+            Включает двойную буферизацию для панелей списка (снижает мерцание при RebuildRows).
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.CustomControls.Helpers.ImageResizeHelper" -->
+        <member name="T:AlfaToad.CustomControls.Helpers.RowImageCache">
+            <summary>
+            Кэш изображений строк по ключу файла: один master-бitmap на файл, клоны для PictureBox.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Theme.AppearancePalette">
+            <summary>
+            Набор цветов, шрифтов и порогов оформления.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Theme.AppearancePaletteTypeConverter">
+            <summary>
+            Разворачивает палитру в окне свойств и поддерживает копирование значений.
+            </summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DataSetCRUDS.dll


+ 429 - 0
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DataSetCRUDS.xml

@@ -0,0 +1,429 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.DataSetCRUDS</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions">
+            <summary>
+            Общие параметры CRUD-привязки: оформление, папка изображений и сохранение в БД.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions.CreateDefault">
+            <summary>
+            Создаёт настройки с палитрой по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap">
+            <summary>
+            Сопоставление имён столбцов DataTable с полями формы редактирования детальной записи.
+            Значения по умолчанию совместимы с ScrollableDetailPanel из AlfaToad.CustomControls.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap.ApplyToPanel(AlfaToad.CustomControls.Controls.ScrollableDetailPanel)">
+            <summary>
+            Копирует имена полей в свойства панели ScrollableDetailPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap.CreateDefault">
+            <summary>
+            Создаёт карту с именами по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap">
+            <summary>
+            Сопоставление имён столбцов DataTable с полями формы редактирования записи заказа.
+            Значения по умолчанию совместимы с ScrollableOrderPanel из AlfaToad.CustomControls.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap.ApplyToPanel(AlfaToad.CustomControls.Controls.ScrollableOrderPanel)">
+            <summary>
+            Копирует имена полей в свойства панели ScrollableOrderPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap.CreateDefault">
+            <summary>
+            Создаёт карту с именами по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Forms.DetailRecordEditForm">
+            <summary>
+            Форма добавления и редактирования товара (каталог).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Forms.OrderRecordEditForm">
+            <summary>
+            Форма добавления и редактирования заказа.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper">
+            <summary>
+            Сохраняет изменения DataSet и показывает сообщения об ошибках пользователю.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper.TryPersist(AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Вызывает делегат PersistChanges и обрабатывает исключения.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper.ValidateRow(System.Data.DataRow,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.String@)">
+            <summary>
+            Проверяет запись перед сохранением через ValidateBeforeSave.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper">
+            <summary>
+            Вспомогательные методы чтения и записи значений DataRow для форм редактирования.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetString(System.Data.DataRow,System.String)">
+            <summary>
+            Безопасно читает строковое значение столбца.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.IsUsableDataRow(System.Data.DataRow)">
+            <summary>
+            Проверяет, что строка всё ещё принадлежит таблице (не Detached после Fill).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetString(System.Data.DataRow,System.String,System.String)">
+            <summary>
+            Записывает строковое значение; пустая строка сохраняется как DBNull при nullable-столбце.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetDecimal(System.Data.DataRow,System.String)">
+            <summary>
+            Читает decimal из ячейки; при ошибке возвращает 0.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetDecimal(System.Data.DataRow,System.String,System.Decimal)">
+            <summary>
+            Записывает decimal в ячейку с учётом типа столбца.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetInt32(System.Data.DataRow,System.String)">
+            <summary>
+            Читает int из ячейки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetInt32(System.Data.DataRow,System.String,System.Int32)">
+            <summary>
+            Записывает int в ячейку.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetDateTime(System.Data.DataRow,System.String)">
+            <summary>
+            Читает дату из ячейки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetDateTime(System.Data.DataRow,System.String,System.Nullable{System.DateTime})">
+            <summary>
+            Записывает дату; null сохраняется как DBNull.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillComboFromColumn(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String,System.Boolean,System.String)">
+            <summary>
+            Заполняет ComboBox уникальными значениями столбца из таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.HasColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Проверяет наличие столбца в таблице.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.CanWriteColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Проверяет, что столбец существует и доступен для записи.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetNextInt32FromColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Возвращает следующий int = MAX(столбец) + 1 по всем строкам таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillClientUserCombo(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String)">
+            <summary>
+            Заполняет ComboBox клиентами с сохранением UserId в элементах списка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryGetSelectedClientUserId(System.Windows.Forms.ComboBox,System.Int32@)">
+            <summary>
+            Возвращает UserId выбранного клиента из ComboBox, заполненного через FillClientUserCombo.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectClientUserCombo(System.Windows.Forms.ComboBox,System.Int32)">
+            <summary>
+            Выбирает клиента в ComboBox по UserId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillPickupPointCombo(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String)">
+            <summary>
+            Заполняет ComboBox адресами пунктов выдачи с сохранением PickupPointId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryGetSelectedPickupPointId(System.Windows.Forms.ComboBox,System.Int32@,System.String@)">
+            <summary>
+            Возвращает PickupPointId и адрес выбранного пункта выдачи.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryFindPickupPointIdByAddress(System.String,System.Data.DataTable,System.Windows.Forms.ComboBox,System.Int32@)">
+            <summary>
+            Ищет PickupPointId по тексту адреса в справочнике или элементах ComboBox.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectPickupPointCombo(System.Windows.Forms.ComboBox,System.Int32)">
+            <summary>
+            Выбирает пункт выдачи в ComboBox по PickupPointId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectPickupPointComboByAddress(System.Windows.Forms.ComboBox,System.String)">
+            <summary>
+            Выбирает пункт выдачи в ComboBox по тексту адреса.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.IsPlaceholderComboText(System.String)">
+            <summary>
+            Проверяет, что в ComboBox выбран реальный клиент, а не заглушка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectComboValue(System.Windows.Forms.ComboBox,System.String)">
+            <summary>
+            Выбирает значение в ComboBox (DropDownList).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryParsePrice(System.String,System.Decimal@,System.String@)">
+            <summary>
+            Проверяет цену: неотрицательная, не более 2 знаков после запятой.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryParseNonNegativeInt(System.String,System.Int32@,System.String@)">
+            <summary>
+            Проверяет целое неотрицательное количество.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.FormAppearanceHelper">
+            <summary>
+            Применяет палитру AppearancePalette к стандартным элементам формы редактирования.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.FormAppearanceHelper.Apply(System.Windows.Forms.Form,AlfaToad.CustomControls.Theme.AppearancePalette)">
+            <summary>
+            Настраивает фон, шрифт и цвета кнопок формы.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper">
+            <summary>
+            Ресайз изображений, сохранение в папку приложения и удаление старых файлов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.SaveResizedImage(System.String,System.String,System.Int32,System.Int32,System.String)">
+            <summary>
+            Сохраняет изображение с ресайзом и возвращает имя файла для записи в БД.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.DeleteImageIfExists(System.String,System.String)">
+            <summary>
+            Удаляет файл изображения из папки, если он существует.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.ResolveImagePath(System.String,System.String)">
+            <summary>
+            Возвращает полный путь к файлу изображения в папке.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.OrderClientLookup">
+            <summary>
+            Читает ClientUserId заказа из dbo.[Order], когда view его не содержит.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.OrderRowPendingStore">
+            <summary>
+            Хранит значения формы заказа, когда столбцы view доступны только для чтения.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.PickupPointLookup">
+            <summary>
+            Загружает пункты выдачи из dbo.PickupPoint для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.DataSetCRUDS.Helpers.RecordDeleteValidator" -->
+        <!-- Badly formed XML comment ignored for member "M:AlfaToad.DataSetCRUDS.Helpers.RecordDeleteValidator.ValidateCatalogDelete(System.String,System.Data.DataRow,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap)" -->
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost">
+            <summary>
+            Единая точка настройки CRUD для обеих панелей списка в одном приложении.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.DetailBinder">
+            <summary>
+            Биндер панели детальных записей (может быть null, если не используется).
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.OrderBinder">
+            <summary>
+            Биндер панели записей заказа (может быть null, если не используется).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.WireDetailPanel(AlfaToad.CustomControls.Controls.ScrollableDetailPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Подключает CRUD к панели детализации.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.WireOrderPanel(AlfaToad.CustomControls.Controls.ScrollableOrderPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Подключает CRUD к панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.DetachAll">
+            <summary>
+            Отключает все подписки CRUD.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder">
+            <summary>
+            Подключает ScrollableDetailPanel к форме DetailRecordEditForm и сохранению DataSet.
+            Достаточно указать DataSet, имя таблицы и делегат PersistChanges.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.#ctor(AlfaToad.CustomControls.Controls.ScrollableDetailPanel)">
+            <summary>
+            Создаёт биндер для указанной панели списка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Configure(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настраивает источник данных и параметры CRUD одним вызовом.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Attach">
+            <summary>
+            Подписывает обработчики CRUD на панель. Повторный вызов игнорируется.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Detach">
+            <summary>
+            Отписывает обработчики CRUD.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.WireUp(AlfaToad.CustomControls.Controls.ScrollableDetailPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Удобный статический метод: настройка и подключение за один вызов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.OpenEditForm(System.Data.DataRow)">
+            <summary>
+            Открывает модальную форму редактирования и сохраняет результат в DataSet.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder">
+            <summary>
+            Подключает ScrollableOrderPanel к форме OrderRecordEditForm и сохранению DataSet.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.#ctor(AlfaToad.CustomControls.Controls.ScrollableOrderPanel)">
+            <summary>
+            Создаёт биндер для панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Configure(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настраивает DataSet, таблицу и сохранение.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Attach">
+            <summary>
+            Подписывает обработчики CRUD.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Detach">
+            <summary>
+            Отписывает обработчики.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.WireUp(AlfaToad.CustomControls.Controls.ScrollableOrderPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настройка и подключение одним вызовом.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedCatalogSql">
+            <summary>
+            SQL-команды view каталога → dbo.Product (нормализованная схема).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.MirIgryshkiCatalogSql">
+            <summary>
+            Устаревшее имя — используйте <see cref="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedCatalogSql"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrderItemsSql">
+            <summary>
+            SQL для синхронизации строк заказа (OrderItem) после insert/update dbo.[Order].
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrdersSql">
+            <summary>
+            SQL-команды view заказов → dbo.[Order] (нормализованная схема).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.MirIgryshkiOrdersSql">
+            <summary>
+            Устаревшее имя — используйте <see cref="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrdersSql"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence">
+            <summary>
+            Сохраняет изменения DataTable, загруженной из SQL-view, без TableAdapter.Update.
+            Подходит для любого нового Typed DataSet с одним view — достаточно Fill() для чтения.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence.ApplyChanges(System.Data.DataSet,System.String,System.String,AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap)">
+            <summary>
+            Применяет Insert/Update/Delete для изменённых строк таблицы view.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence.CreatePersistAction(System.Data.DataSet,System.String,System.String,AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap)">
+            <summary>
+            Создаёт делегат PersistChanges для ApplicationDataContext или DataSetCrudOptions.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile">
+            <summary>
+            Профиль сохранения: view в DataSet → базовая таблица SQL Server.
+            Достаточно заполнить view через TableAdapter.Fill — Insert/Update/Delete выполняет пакет.
+            </summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedCatalogView">
+            <summary>View каталога → dbo.Products.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedOrdersView">
+            <summary>View заказов → dbo.Orders.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.MirIgryshkiCatalog">
+            <summary>Устаревшее имя — используйте <see cref="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedCatalogView"/>.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.MirIgryshkiOrders">
+            <summary>Устаревшее имя — используйте <see cref="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedOrdersView"/>.</summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewRowRefresher">
+            <summary>
+            Перечитывает строки view из БД после сохранения, чтобы список показывал актуальные данные.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.UI.AppDialog">
+            <summary>
+            Единые окна сообщений: ошибка, предупреждение, информация, подтверждение.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowError(System.String,System.String)">
+            <summary>Показывает сообщение об ошибке.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowWarning(System.String,System.String)">
+            <summary>Показывает предупреждение.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowInfo(System.String,System.String)">
+            <summary>Показывает информационное сообщение.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.Confirm(System.String,System.String)">
+            <summary>Запрашивает подтверждение Yes/No.</summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DefaultScreens.dll


+ 348 - 0
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/AlfaToad.DefaultScreens.xml

@@ -0,0 +1,348 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.DefaultScreens</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions">
+            <summary>
+            Подключает сохранение view-таблиц без TableAdapter.Update.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithViewDataPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Настраивает PersistCatalogChanges и PersistOrderChanges через ViewDataTablePersistence,
+            если делегаты ещё не заданы. DataSet может содержать только view с Fill().
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithMirIgryshkiViewPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Устаревшее имя — используйте <see cref="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithViewDataPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings">
+            <summary>
+            Центральные настройки всех экранных форм: заголовки, ресурсы, имена полей и ролей.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.ApplyResourcePaths">
+            <summary>
+            Загружает LogoImage, NoImage и ApplicationIcon из путей, если заданы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateCatalogCrudOptions">
+            <summary>
+            Создаёт параметры CRUD для формы каталога на основе текущих настроек.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateOrderCrudOptions(System.Data.DataTable,System.String)">
+            <summary>
+            Создаёт параметры CRUD для формы заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.ResolveAccessLevel(System.String)">
+            <summary>
+            Определяет уровень доступа по строке роли из базы данных.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateDefault">
+            <summary>
+            Создаёт настройки с палитрой и полями по умолчанию (соответствует руководству по стилю).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper">
+            <summary>
+            Загружает изображения и иконки из путей, указанных в настройках.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.ApplyResourcePaths(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Подставляет LogoImage, NoImage и ApplicationIcon из путей, если файлы существуют.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.ResolveImagesFolder(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Возвращает папку изображений: из настроек или подпапку Images рядом с exe.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.HasClientUsers(System.Data.DataTable)">
+            <summary>
+            Проверяет, что таблица клиентов содержит хотя бы одну запись.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.HasPickupPoints(System.Data.DataTable)">
+            <summary>
+            Проверяет, что справочник пунктов выдачи не пуст.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.BuildPickupPointsTable(System.String)">
+            <summary>
+            Загружает пункты выдачи из БД для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.BuildClientUsersTable(System.Data.DataSet,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Строит таблицу клиентов (UserId, FullName) из DataSet пользователей для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext">
+            <summary>
+            Контекст данных приложения: DataSet-ы и делегаты сохранения.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.CatalogDataSet">
+            <summary>DataSet каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.CatalogTableName">
+            <summary>Имя таблицы каталога в CatalogDataSet.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.OrdersDataSet">
+            <summary>DataSet заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.OrdersTableName">
+            <summary>Имя таблицы заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.UsersDataSet">
+            <summary>DataSet пользователей для входа.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.UsersTableName">
+            <summary>Имя таблицы пользователей.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.ConnectionString">
+            <summary>Строка подключения к SQL Server (для ViewDataTablePersistence).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.PersistCatalogChanges">
+            <summary>Сохранение изменений каталога (TableAdapter.Update или ViewDataTablePersistence).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.PersistOrderChanges">
+            <summary>Сохранение изменений заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadCatalog">
+            <summary>Загрузка каталога перед показом экрана.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadOrders">
+            <summary>Загрузка заказов перед показом экрана.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadUsers">
+            <summary>Загрузка пользователей перед входом.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator">
+            <summary>
+            Запускает типовой сценарий приложения: вход → главная форма → каталог/заказы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Navigation.ApplicationDataContext)">
+            <summary>
+            Создаёт навигатор с настройками и контекстом данных.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.Start">
+            <summary>
+            Показывает экран входа и возвращает управление после выбора пользователем режима.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.BeginMainFlow(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает главную форму и подписывает навигацию.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.ShowCatalog(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает каталог в области главной формы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.ShowOrders(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает список заказов (доступен менеджеру и администратору).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.CatalogScreenForm">
+            <summary>
+            Экран каталога на базе ScrollableDetailPanel с учётом роли пользователя.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт экран каталога для указанной сессии пользователя.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.DetailPanel">
+            <summary>
+            Публичный доступ к панели для дополнительной настройки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.BindCatalog(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.String)">
+            <summary>
+            Загружает данные и подключает CRUD для администратора.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.RefreshCatalog">
+            <summary>
+            Обновляет список после Fill TableAdapter.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.CreateDetailPanel">
+            <summary>
+            Создаёт и настраивает ScrollableDetailPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.ApplyRolePermissions">
+            <summary>
+            Настраивает права: гость/клиент — без фильтра, менеджер — с фильтром, админ — CRUD.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.LoginScreenForm">
+            <summary>
+            Экран входа: логин/пароль из DataSet и переход в режим гостя.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.LoginScreenForm.Authenticated">
+            <summary>Срабатывает после успешной авторизации.</summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.LoginScreenForm.GuestAccessRequested">
+            <summary>Срабатывает при выборе режима гостя.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.ShellMenuPage">
+            <summary>
+            Активный пункт навигации главной оболочки.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.MainShellForm">
+            <summary>
+            Главная оболочка приложения: логотип, навигация и отображение дочерних экранов.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.LogoutRequested">
+            <summary>
+            Срабатывает при выходе из системы.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.BackRequested">
+            <summary>
+            Срабатывает при нажатии кнопки «Назад».
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт главную форму для текущей сессии.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.MainShellForm.Session">
+            <summary>
+            Текущая пользовательская сессия.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ShowScreen(System.Windows.Forms.Form)">
+            <summary>
+            Показывает дочернюю форму внутри области контента (MDI-like без MDI).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ClearScreen">
+            <summary>
+            Очищает область контента и закрывает текущий экран.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.SetActivePage(System.String,AlfaToad.DefaultScreens.Screens.ShellMenuPage)">
+            <summary>
+            Обновляет заголовок окна и состояние кнопок навигации.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.CatalogRequested">
+            <summary>
+            Запрос открытия каталога — обрабатывается ApplicationNavigator.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.OrdersRequested">
+            <summary>
+            Запрос открытия заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ApplyRolePermissions">
+            <summary>
+            Скрывает пункт «Заказы» для гостя и клиента.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.OrderListScreenForm">
+            <summary>
+            Экран списка заказов на базе ScrollableOrderPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт экран заказов для указанной сессии.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.OrderPanel">
+            <summary>
+            Публичный доступ к панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.BindOrders(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.Data.DataSet,System.String,System.String)">
+            <summary>
+            Загружает заказы и подключает CRUD для администратора.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.RefreshOrders">
+            <summary>
+            Обновляет список заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.ApplyRolePermissions">
+            <summary>
+            Менеджер и администратор видят заказы; CRUD только у администратора.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Security.AccessLevel">
+            <summary>
+            Уровень доступа пользователя в приложении (гость → клиент → менеджер → администратор).
+            </summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Guest">
+            <summary>Неавторизованный посетитель (режим гостя).</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.AuthorizedClient">
+            <summary>Авторизованный клиент — просмотр без фильтрации.</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Manager">
+            <summary>Менеджер — просмотр с фильтрацией и заказов.</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Administrator">
+            <summary>Администратор — полный CRUD.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Security.UserSession">
+            <summary>
+            Данные текущей пользовательской сессии после успешного входа или выбора режима гостя.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.AccessLevel">
+            <summary>Уровень доступа.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.DisplayName">
+            <summary>Отображаемое имя пользователя.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.Login">
+            <summary>Логин (пустой для гостя).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.RoleName">
+            <summary>Строковое имя роли из базы данных.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.UserId">
+            <summary>Идентификатор пользователя в БД (если есть).</summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Security.UserSession.CreateGuest">
+            <summary>Создаёт сессию гостя.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanUseCatalogQuery">
+            <summary>Может ли пользователь использовать поиск и фильтрацию каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanViewOrders">
+            <summary>Может ли пользователь просматривать список заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanEditCatalog">
+            <summary>Может ли пользователь изменять записи каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanEditOrders">
+            <summary>Может ли пользователь изменять заказы.</summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.exe


+ 13 - 0
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.exe.config

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <configSections>
+    </configSections>
+    <connectionStrings>
+        <add name="WindowsFormsApp1.Properties.Settings.user05ConnectionString"
+            connectionString="Data Source=КОМПУКТЕР\СУПЕРМЕГАСЕРВЕР;Initial Catalog=user05;Integrated Security=True;Encrypt=False"
+            providerName="System.Data.SqlClient" />
+    </connectionStrings>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
+    </startup>
+</configuration>

binární
WindowsFormsApp1/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.pdb


+ 4 - 0
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs

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

binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/DesignTimeResolveAssemblyReferences.cache


binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/TempPE/user05DataSet.Designer.cs.dll


+ 0 - 0
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsF.A1EEDF9B.Up2Date


binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.Properties.Resources.resources


binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.AssemblyReference.cache


+ 1 - 0
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.CoreCompileInputs.cache

@@ -0,0 +1 @@
+79668bae0a75195c8b546b78cb21925e5939377b1c84130198bb5ad8e0c0dde5

+ 16 - 0
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.FileListAbsolute.txt

@@ -0,0 +1,16 @@
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\WindowsFormsApp1.exe.config
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\WindowsFormsApp1.exe
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\WindowsFormsApp1.pdb
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\AlfaToad.CustomControls.dll
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\AlfaToad.DataSetCRUDS.dll
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\AlfaToad.DefaultScreens.dll
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\AlfaToad.CustomControls.xml
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\AlfaToad.DataSetCRUDS.xml
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\AlfaToad.DefaultScreens.xml
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.csproj.AssemblyReference.cache
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.Properties.Resources.resources
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.csproj.GenerateResource.cache
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.csproj.CoreCompileInputs.cache
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsF.A1EEDF9B.Up2Date
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.exe
+C:\Users\Леся\Downloads\asxdcfvb\WindowsFormsApp1\WindowsFormsApp1\obj\Debug\WindowsFormsApp1.pdb

binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.GenerateResource.cache


binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.exe


binární
WindowsFormsApp1/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.pdb


+ 6 - 0
WindowsFormsApp1/WindowsFormsApp1/packages.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="AlfaToad.CustomControls" version="4.2.10" targetFramework="net48" />
+  <package id="AlfaToad.DataSetCRUDS" version="1.1.7" targetFramework="net48" />
+  <package id="AlfaToad.DefaultScreens" version="1.1.7" targetFramework="net48" />
+</packages>

+ 13518 - 0
WindowsFormsApp1/WindowsFormsApp1/user05DataSet.Designer.cs

@@ -0,0 +1,13518 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан программой.
+//     Исполняемая версия:4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+//     повторной генерации кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+#pragma warning disable 1591
+
+namespace WindowsFormsApp1 {
+    
+    
+    /// <summary>
+    ///Represents a strongly typed in-memory cache of data.
+    ///</summary>
+    [global::System.Serializable()]
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]
+    [global::System.Xml.Serialization.XmlRootAttribute("user05DataSet")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]
+    public partial class user05DataSet : global::System.Data.DataSet {
+        
+        private CategoryDataTable tableCategory;
+        
+        private CityDataTable tableCity;
+        
+        private ManufacturerDataTable tableManufacturer;
+        
+        private OrderDataTable tableOrder;
+        
+        private OrderItemDataTable tableOrderItem;
+        
+        private OrderStatusDataTable tableOrderStatus;
+        
+        private PickupPointDataTable tablePickupPoint;
+        
+        private ProductDataTable tableProduct;
+        
+        private RoleDataTable tableRole;
+        
+        private SupplierDataTable tableSupplier;
+        
+        private UnitDataTable tableUnit;
+        
+        private UserDataTable tableUser;
+        
+        private vCatalogDataTable tablevCatalog;
+        
+        private vOrdersDataTable tablevOrders;
+        
+        private vw_UsersLoginDataTable tablevw_UsersLogin;
+        
+        private global::System.Data.DataRelation relationFK_Order_Pickup;
+        
+        private global::System.Data.DataRelation relationFK_Order_Status;
+        
+        private global::System.Data.DataRelation relationFK_Order_User;
+        
+        private global::System.Data.DataRelation relationFK_Item_Order;
+        
+        private global::System.Data.DataRelation relationFK_Item_Product;
+        
+        private global::System.Data.DataRelation relationFK_Pickup_City;
+        
+        private global::System.Data.DataRelation relationFK_Product_Category;
+        
+        private global::System.Data.DataRelation relationFK_Product_Manufacturer;
+        
+        private global::System.Data.DataRelation relationFK_Product_Supplier;
+        
+        private global::System.Data.DataRelation relationFK_Product_Unit;
+        
+        private global::System.Data.DataRelation relationFK_User_Role;
+        
+        private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public user05DataSet() {
+            this.BeginInit();
+            this.InitClass();
+            global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
+            base.Tables.CollectionChanged += schemaChangedHandler;
+            base.Relations.CollectionChanged += schemaChangedHandler;
+            this.EndInit();
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected user05DataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                base(info, context, false) {
+            if ((this.IsBinarySerialized(info, context) == true)) {
+                this.InitVars(false);
+                global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
+                this.Tables.CollectionChanged += schemaChangedHandler1;
+                this.Relations.CollectionChanged += schemaChangedHandler1;
+                return;
+            }
+            string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
+            if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
+                global::System.Data.DataSet ds = new global::System.Data.DataSet();
+                ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
+                if ((ds.Tables["Category"] != null)) {
+                    base.Tables.Add(new CategoryDataTable(ds.Tables["Category"]));
+                }
+                if ((ds.Tables["City"] != null)) {
+                    base.Tables.Add(new CityDataTable(ds.Tables["City"]));
+                }
+                if ((ds.Tables["Manufacturer"] != null)) {
+                    base.Tables.Add(new ManufacturerDataTable(ds.Tables["Manufacturer"]));
+                }
+                if ((ds.Tables["Order"] != null)) {
+                    base.Tables.Add(new OrderDataTable(ds.Tables["Order"]));
+                }
+                if ((ds.Tables["OrderItem"] != null)) {
+                    base.Tables.Add(new OrderItemDataTable(ds.Tables["OrderItem"]));
+                }
+                if ((ds.Tables["OrderStatus"] != null)) {
+                    base.Tables.Add(new OrderStatusDataTable(ds.Tables["OrderStatus"]));
+                }
+                if ((ds.Tables["PickupPoint"] != null)) {
+                    base.Tables.Add(new PickupPointDataTable(ds.Tables["PickupPoint"]));
+                }
+                if ((ds.Tables["Product"] != null)) {
+                    base.Tables.Add(new ProductDataTable(ds.Tables["Product"]));
+                }
+                if ((ds.Tables["Role"] != null)) {
+                    base.Tables.Add(new RoleDataTable(ds.Tables["Role"]));
+                }
+                if ((ds.Tables["Supplier"] != null)) {
+                    base.Tables.Add(new SupplierDataTable(ds.Tables["Supplier"]));
+                }
+                if ((ds.Tables["Unit"] != null)) {
+                    base.Tables.Add(new UnitDataTable(ds.Tables["Unit"]));
+                }
+                if ((ds.Tables["User"] != null)) {
+                    base.Tables.Add(new UserDataTable(ds.Tables["User"]));
+                }
+                if ((ds.Tables["vCatalog"] != null)) {
+                    base.Tables.Add(new vCatalogDataTable(ds.Tables["vCatalog"]));
+                }
+                if ((ds.Tables["vOrders"] != null)) {
+                    base.Tables.Add(new vOrdersDataTable(ds.Tables["vOrders"]));
+                }
+                if ((ds.Tables["vw_UsersLogin"] != null)) {
+                    base.Tables.Add(new vw_UsersLoginDataTable(ds.Tables["vw_UsersLogin"]));
+                }
+                this.DataSetName = ds.DataSetName;
+                this.Prefix = ds.Prefix;
+                this.Namespace = ds.Namespace;
+                this.Locale = ds.Locale;
+                this.CaseSensitive = ds.CaseSensitive;
+                this.EnforceConstraints = ds.EnforceConstraints;
+                this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
+                this.InitVars();
+            }
+            else {
+                this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
+            }
+            this.GetSerializationData(info, context);
+            global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
+            base.Tables.CollectionChanged += schemaChangedHandler;
+            this.Relations.CollectionChanged += schemaChangedHandler;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public CategoryDataTable Category {
+            get {
+                return this.tableCategory;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public CityDataTable City {
+            get {
+                return this.tableCity;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public ManufacturerDataTable Manufacturer {
+            get {
+                return this.tableManufacturer;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public OrderDataTable Order {
+            get {
+                return this.tableOrder;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public OrderItemDataTable OrderItem {
+            get {
+                return this.tableOrderItem;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public OrderStatusDataTable OrderStatus {
+            get {
+                return this.tableOrderStatus;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public PickupPointDataTable PickupPoint {
+            get {
+                return this.tablePickupPoint;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public ProductDataTable Product {
+            get {
+                return this.tableProduct;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public RoleDataTable Role {
+            get {
+                return this.tableRole;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public SupplierDataTable Supplier {
+            get {
+                return this.tableSupplier;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public UnitDataTable Unit {
+            get {
+                return this.tableUnit;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public UserDataTable User {
+            get {
+                return this.tableUser;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public vCatalogDataTable vCatalog {
+            get {
+                return this.tablevCatalog;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public vOrdersDataTable vOrders {
+            get {
+                return this.tablevOrders;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public vw_UsersLoginDataTable vw_UsersLogin {
+            get {
+                return this.tablevw_UsersLogin;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.BrowsableAttribute(true)]
+        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
+        public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {
+            get {
+                return this._schemaSerializationMode;
+            }
+            set {
+                this._schemaSerializationMode = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
+        public new global::System.Data.DataTableCollection Tables {
+            get {
+                return base.Tables;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
+        public new global::System.Data.DataRelationCollection Relations {
+            get {
+                return base.Relations;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected override void InitializeDerivedDataSet() {
+            this.BeginInit();
+            this.InitClass();
+            this.EndInit();
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public override global::System.Data.DataSet Clone() {
+            user05DataSet cln = ((user05DataSet)(base.Clone()));
+            cln.InitVars();
+            cln.SchemaSerializationMode = this.SchemaSerializationMode;
+            return cln;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected override bool ShouldSerializeTables() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected override bool ShouldSerializeRelations() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {
+            if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
+                this.Reset();
+                global::System.Data.DataSet ds = new global::System.Data.DataSet();
+                ds.ReadXml(reader);
+                if ((ds.Tables["Category"] != null)) {
+                    base.Tables.Add(new CategoryDataTable(ds.Tables["Category"]));
+                }
+                if ((ds.Tables["City"] != null)) {
+                    base.Tables.Add(new CityDataTable(ds.Tables["City"]));
+                }
+                if ((ds.Tables["Manufacturer"] != null)) {
+                    base.Tables.Add(new ManufacturerDataTable(ds.Tables["Manufacturer"]));
+                }
+                if ((ds.Tables["Order"] != null)) {
+                    base.Tables.Add(new OrderDataTable(ds.Tables["Order"]));
+                }
+                if ((ds.Tables["OrderItem"] != null)) {
+                    base.Tables.Add(new OrderItemDataTable(ds.Tables["OrderItem"]));
+                }
+                if ((ds.Tables["OrderStatus"] != null)) {
+                    base.Tables.Add(new OrderStatusDataTable(ds.Tables["OrderStatus"]));
+                }
+                if ((ds.Tables["PickupPoint"] != null)) {
+                    base.Tables.Add(new PickupPointDataTable(ds.Tables["PickupPoint"]));
+                }
+                if ((ds.Tables["Product"] != null)) {
+                    base.Tables.Add(new ProductDataTable(ds.Tables["Product"]));
+                }
+                if ((ds.Tables["Role"] != null)) {
+                    base.Tables.Add(new RoleDataTable(ds.Tables["Role"]));
+                }
+                if ((ds.Tables["Supplier"] != null)) {
+                    base.Tables.Add(new SupplierDataTable(ds.Tables["Supplier"]));
+                }
+                if ((ds.Tables["Unit"] != null)) {
+                    base.Tables.Add(new UnitDataTable(ds.Tables["Unit"]));
+                }
+                if ((ds.Tables["User"] != null)) {
+                    base.Tables.Add(new UserDataTable(ds.Tables["User"]));
+                }
+                if ((ds.Tables["vCatalog"] != null)) {
+                    base.Tables.Add(new vCatalogDataTable(ds.Tables["vCatalog"]));
+                }
+                if ((ds.Tables["vOrders"] != null)) {
+                    base.Tables.Add(new vOrdersDataTable(ds.Tables["vOrders"]));
+                }
+                if ((ds.Tables["vw_UsersLogin"] != null)) {
+                    base.Tables.Add(new vw_UsersLoginDataTable(ds.Tables["vw_UsersLogin"]));
+                }
+                this.DataSetName = ds.DataSetName;
+                this.Prefix = ds.Prefix;
+                this.Namespace = ds.Namespace;
+                this.Locale = ds.Locale;
+                this.CaseSensitive = ds.CaseSensitive;
+                this.EnforceConstraints = ds.EnforceConstraints;
+                this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
+                this.InitVars();
+            }
+            else {
+                this.ReadXml(reader);
+                this.InitVars();
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {
+            global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();
+            this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));
+            stream.Position = 0;
+            return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal void InitVars() {
+            this.InitVars(true);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal void InitVars(bool initTable) {
+            this.tableCategory = ((CategoryDataTable)(base.Tables["Category"]));
+            if ((initTable == true)) {
+                if ((this.tableCategory != null)) {
+                    this.tableCategory.InitVars();
+                }
+            }
+            this.tableCity = ((CityDataTable)(base.Tables["City"]));
+            if ((initTable == true)) {
+                if ((this.tableCity != null)) {
+                    this.tableCity.InitVars();
+                }
+            }
+            this.tableManufacturer = ((ManufacturerDataTable)(base.Tables["Manufacturer"]));
+            if ((initTable == true)) {
+                if ((this.tableManufacturer != null)) {
+                    this.tableManufacturer.InitVars();
+                }
+            }
+            this.tableOrder = ((OrderDataTable)(base.Tables["Order"]));
+            if ((initTable == true)) {
+                if ((this.tableOrder != null)) {
+                    this.tableOrder.InitVars();
+                }
+            }
+            this.tableOrderItem = ((OrderItemDataTable)(base.Tables["OrderItem"]));
+            if ((initTable == true)) {
+                if ((this.tableOrderItem != null)) {
+                    this.tableOrderItem.InitVars();
+                }
+            }
+            this.tableOrderStatus = ((OrderStatusDataTable)(base.Tables["OrderStatus"]));
+            if ((initTable == true)) {
+                if ((this.tableOrderStatus != null)) {
+                    this.tableOrderStatus.InitVars();
+                }
+            }
+            this.tablePickupPoint = ((PickupPointDataTable)(base.Tables["PickupPoint"]));
+            if ((initTable == true)) {
+                if ((this.tablePickupPoint != null)) {
+                    this.tablePickupPoint.InitVars();
+                }
+            }
+            this.tableProduct = ((ProductDataTable)(base.Tables["Product"]));
+            if ((initTable == true)) {
+                if ((this.tableProduct != null)) {
+                    this.tableProduct.InitVars();
+                }
+            }
+            this.tableRole = ((RoleDataTable)(base.Tables["Role"]));
+            if ((initTable == true)) {
+                if ((this.tableRole != null)) {
+                    this.tableRole.InitVars();
+                }
+            }
+            this.tableSupplier = ((SupplierDataTable)(base.Tables["Supplier"]));
+            if ((initTable == true)) {
+                if ((this.tableSupplier != null)) {
+                    this.tableSupplier.InitVars();
+                }
+            }
+            this.tableUnit = ((UnitDataTable)(base.Tables["Unit"]));
+            if ((initTable == true)) {
+                if ((this.tableUnit != null)) {
+                    this.tableUnit.InitVars();
+                }
+            }
+            this.tableUser = ((UserDataTable)(base.Tables["User"]));
+            if ((initTable == true)) {
+                if ((this.tableUser != null)) {
+                    this.tableUser.InitVars();
+                }
+            }
+            this.tablevCatalog = ((vCatalogDataTable)(base.Tables["vCatalog"]));
+            if ((initTable == true)) {
+                if ((this.tablevCatalog != null)) {
+                    this.tablevCatalog.InitVars();
+                }
+            }
+            this.tablevOrders = ((vOrdersDataTable)(base.Tables["vOrders"]));
+            if ((initTable == true)) {
+                if ((this.tablevOrders != null)) {
+                    this.tablevOrders.InitVars();
+                }
+            }
+            this.tablevw_UsersLogin = ((vw_UsersLoginDataTable)(base.Tables["vw_UsersLogin"]));
+            if ((initTable == true)) {
+                if ((this.tablevw_UsersLogin != null)) {
+                    this.tablevw_UsersLogin.InitVars();
+                }
+            }
+            this.relationFK_Order_Pickup = this.Relations["FK_Order_Pickup"];
+            this.relationFK_Order_Status = this.Relations["FK_Order_Status"];
+            this.relationFK_Order_User = this.Relations["FK_Order_User"];
+            this.relationFK_Item_Order = this.Relations["FK_Item_Order"];
+            this.relationFK_Item_Product = this.Relations["FK_Item_Product"];
+            this.relationFK_Pickup_City = this.Relations["FK_Pickup_City"];
+            this.relationFK_Product_Category = this.Relations["FK_Product_Category"];
+            this.relationFK_Product_Manufacturer = this.Relations["FK_Product_Manufacturer"];
+            this.relationFK_Product_Supplier = this.Relations["FK_Product_Supplier"];
+            this.relationFK_Product_Unit = this.Relations["FK_Product_Unit"];
+            this.relationFK_User_Role = this.Relations["FK_User_Role"];
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitClass() {
+            this.DataSetName = "user05DataSet";
+            this.Prefix = "";
+            this.Namespace = "http://tempuri.org/user05DataSet.xsd";
+            this.EnforceConstraints = true;
+            this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
+            this.tableCategory = new CategoryDataTable();
+            base.Tables.Add(this.tableCategory);
+            this.tableCity = new CityDataTable();
+            base.Tables.Add(this.tableCity);
+            this.tableManufacturer = new ManufacturerDataTable();
+            base.Tables.Add(this.tableManufacturer);
+            this.tableOrder = new OrderDataTable();
+            base.Tables.Add(this.tableOrder);
+            this.tableOrderItem = new OrderItemDataTable();
+            base.Tables.Add(this.tableOrderItem);
+            this.tableOrderStatus = new OrderStatusDataTable();
+            base.Tables.Add(this.tableOrderStatus);
+            this.tablePickupPoint = new PickupPointDataTable();
+            base.Tables.Add(this.tablePickupPoint);
+            this.tableProduct = new ProductDataTable();
+            base.Tables.Add(this.tableProduct);
+            this.tableRole = new RoleDataTable();
+            base.Tables.Add(this.tableRole);
+            this.tableSupplier = new SupplierDataTable();
+            base.Tables.Add(this.tableSupplier);
+            this.tableUnit = new UnitDataTable();
+            base.Tables.Add(this.tableUnit);
+            this.tableUser = new UserDataTable();
+            base.Tables.Add(this.tableUser);
+            this.tablevCatalog = new vCatalogDataTable();
+            base.Tables.Add(this.tablevCatalog);
+            this.tablevOrders = new vOrdersDataTable();
+            base.Tables.Add(this.tablevOrders);
+            this.tablevw_UsersLogin = new vw_UsersLoginDataTable();
+            base.Tables.Add(this.tablevw_UsersLogin);
+            this.relationFK_Order_Pickup = new global::System.Data.DataRelation("FK_Order_Pickup", new global::System.Data.DataColumn[] {
+                        this.tablePickupPoint.PickupPointIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableOrder.PickupPointIdColumn}, false);
+            this.Relations.Add(this.relationFK_Order_Pickup);
+            this.relationFK_Order_Status = new global::System.Data.DataRelation("FK_Order_Status", new global::System.Data.DataColumn[] {
+                        this.tableOrderStatus.StatusIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableOrder.StatusIdColumn}, false);
+            this.Relations.Add(this.relationFK_Order_Status);
+            this.relationFK_Order_User = new global::System.Data.DataRelation("FK_Order_User", new global::System.Data.DataColumn[] {
+                        this.tableUser.UserIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableOrder.ClientUserIdColumn}, false);
+            this.Relations.Add(this.relationFK_Order_User);
+            this.relationFK_Item_Order = new global::System.Data.DataRelation("FK_Item_Order", new global::System.Data.DataColumn[] {
+                        this.tableOrder.OrderIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableOrderItem.OrderIdColumn}, false);
+            this.Relations.Add(this.relationFK_Item_Order);
+            this.relationFK_Item_Product = new global::System.Data.DataRelation("FK_Item_Product", new global::System.Data.DataColumn[] {
+                        this.tableProduct.ArticleColumn}, new global::System.Data.DataColumn[] {
+                        this.tableOrderItem.ArticleColumn}, false);
+            this.Relations.Add(this.relationFK_Item_Product);
+            this.relationFK_Pickup_City = new global::System.Data.DataRelation("FK_Pickup_City", new global::System.Data.DataColumn[] {
+                        this.tableCity.CityIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tablePickupPoint.CityIdColumn}, false);
+            this.Relations.Add(this.relationFK_Pickup_City);
+            this.relationFK_Product_Category = new global::System.Data.DataRelation("FK_Product_Category", new global::System.Data.DataColumn[] {
+                        this.tableCategory.CategoryIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableProduct.CategoryIdColumn}, false);
+            this.Relations.Add(this.relationFK_Product_Category);
+            this.relationFK_Product_Manufacturer = new global::System.Data.DataRelation("FK_Product_Manufacturer", new global::System.Data.DataColumn[] {
+                        this.tableManufacturer.ManufacturerIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableProduct.ManufacturerIdColumn}, false);
+            this.Relations.Add(this.relationFK_Product_Manufacturer);
+            this.relationFK_Product_Supplier = new global::System.Data.DataRelation("FK_Product_Supplier", new global::System.Data.DataColumn[] {
+                        this.tableSupplier.SupplierIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableProduct.SupplierIdColumn}, false);
+            this.Relations.Add(this.relationFK_Product_Supplier);
+            this.relationFK_Product_Unit = new global::System.Data.DataRelation("FK_Product_Unit", new global::System.Data.DataColumn[] {
+                        this.tableUnit.UnitIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableProduct.UnitIdColumn}, false);
+            this.Relations.Add(this.relationFK_Product_Unit);
+            this.relationFK_User_Role = new global::System.Data.DataRelation("FK_User_Role", new global::System.Data.DataColumn[] {
+                        this.tableRole.RoleIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableUser.RoleIdColumn}, false);
+            this.Relations.Add(this.relationFK_User_Role);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeCategory() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeCity() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeManufacturer() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeOrder() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeOrderItem() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeOrderStatus() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializePickupPoint() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeProduct() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeRole() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeSupplier() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeUnit() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializeUser() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializevCatalog() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializevOrders() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private bool ShouldSerializevw_UsersLogin() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {
+            if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {
+                this.InitVars();
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+            user05DataSet ds = new user05DataSet();
+            global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+            global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+            global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny();
+            any.Namespace = ds.Namespace;
+            sequence.Items.Add(any);
+            type.Particle = sequence;
+            global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+            if (xs.Contains(dsSchema.TargetNamespace)) {
+                global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                try {
+                    global::System.Xml.Schema.XmlSchema schema = null;
+                    dsSchema.Write(s1);
+                    for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                        schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                        s2.SetLength(0);
+                        schema.Write(s2);
+                        if ((s1.Length == s2.Length)) {
+                            s1.Position = 0;
+                            s2.Position = 0;
+                            for (; ((s1.Position != s1.Length) 
+                                        && (s1.ReadByte() == s2.ReadByte())); ) {
+                                ;
+                            }
+                            if ((s1.Position == s1.Length)) {
+                                return type;
+                            }
+                        }
+                    }
+                }
+                finally {
+                    if ((s1 != null)) {
+                        s1.Close();
+                    }
+                    if ((s2 != null)) {
+                        s2.Close();
+                    }
+                }
+            }
+            xs.Add(dsSchema);
+            return type;
+        }
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void CategoryRowChangeEventHandler(object sender, CategoryRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void CityRowChangeEventHandler(object sender, CityRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void ManufacturerRowChangeEventHandler(object sender, ManufacturerRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void OrderRowChangeEventHandler(object sender, OrderRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void OrderItemRowChangeEventHandler(object sender, OrderItemRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void OrderStatusRowChangeEventHandler(object sender, OrderStatusRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void PickupPointRowChangeEventHandler(object sender, PickupPointRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void ProductRowChangeEventHandler(object sender, ProductRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void RoleRowChangeEventHandler(object sender, RoleRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void SupplierRowChangeEventHandler(object sender, SupplierRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void UnitRowChangeEventHandler(object sender, UnitRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void UserRowChangeEventHandler(object sender, UserRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void vCatalogRowChangeEventHandler(object sender, vCatalogRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void vOrdersRowChangeEventHandler(object sender, vOrdersRowChangeEvent e);
+        
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public delegate void vw_UsersLoginRowChangeEventHandler(object sender, vw_UsersLoginRowChangeEvent e);
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class CategoryDataTable : global::System.Data.TypedTableBase<CategoryRow> {
+            
+            private global::System.Data.DataColumn columnCategoryId;
+            
+            private global::System.Data.DataColumn columnCategoryName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryDataTable() {
+                this.TableName = "Category";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal CategoryDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected CategoryDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn CategoryIdColumn {
+                get {
+                    return this.columnCategoryId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn CategoryNameColumn {
+                get {
+                    return this.columnCategoryName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRow this[int index] {
+                get {
+                    return ((CategoryRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CategoryRowChangeEventHandler CategoryRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CategoryRowChangeEventHandler CategoryRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CategoryRowChangeEventHandler CategoryRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CategoryRowChangeEventHandler CategoryRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddCategoryRow(CategoryRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRow AddCategoryRow(string CategoryName) {
+                CategoryRow rowCategoryRow = ((CategoryRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        CategoryName};
+                rowCategoryRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowCategoryRow);
+                return rowCategoryRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRow FindByCategoryId(int CategoryId) {
+                return ((CategoryRow)(this.Rows.Find(new object[] {
+                            CategoryId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                CategoryDataTable cln = ((CategoryDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new CategoryDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnCategoryId = base.Columns["CategoryId"];
+                this.columnCategoryName = base.Columns["CategoryName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnCategoryId = new global::System.Data.DataColumn("CategoryId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCategoryId);
+                this.columnCategoryName = new global::System.Data.DataColumn("CategoryName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCategoryName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnCategoryId}, true));
+                this.columnCategoryId.AutoIncrement = true;
+                this.columnCategoryId.AutoIncrementSeed = -1;
+                this.columnCategoryId.AutoIncrementStep = -1;
+                this.columnCategoryId.AllowDBNull = false;
+                this.columnCategoryId.ReadOnly = true;
+                this.columnCategoryId.Unique = true;
+                this.columnCategoryName.AllowDBNull = false;
+                this.columnCategoryName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRow NewCategoryRow() {
+                return ((CategoryRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new CategoryRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(CategoryRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.CategoryRowChanged != null)) {
+                    this.CategoryRowChanged(this, new CategoryRowChangeEvent(((CategoryRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.CategoryRowChanging != null)) {
+                    this.CategoryRowChanging(this, new CategoryRowChangeEvent(((CategoryRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.CategoryRowDeleted != null)) {
+                    this.CategoryRowDeleted(this, new CategoryRowChangeEvent(((CategoryRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.CategoryRowDeleting != null)) {
+                    this.CategoryRowDeleting(this, new CategoryRowChangeEvent(((CategoryRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveCategoryRow(CategoryRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "CategoryDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class CityDataTable : global::System.Data.TypedTableBase<CityRow> {
+            
+            private global::System.Data.DataColumn columnCityId;
+            
+            private global::System.Data.DataColumn columnCityName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityDataTable() {
+                this.TableName = "City";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal CityDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected CityDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn CityIdColumn {
+                get {
+                    return this.columnCityId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn CityNameColumn {
+                get {
+                    return this.columnCityName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRow this[int index] {
+                get {
+                    return ((CityRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CityRowChangeEventHandler CityRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CityRowChangeEventHandler CityRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CityRowChangeEventHandler CityRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event CityRowChangeEventHandler CityRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddCityRow(CityRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRow AddCityRow(string CityName) {
+                CityRow rowCityRow = ((CityRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        CityName};
+                rowCityRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowCityRow);
+                return rowCityRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRow FindByCityId(int CityId) {
+                return ((CityRow)(this.Rows.Find(new object[] {
+                            CityId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                CityDataTable cln = ((CityDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new CityDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnCityId = base.Columns["CityId"];
+                this.columnCityName = base.Columns["CityName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnCityId = new global::System.Data.DataColumn("CityId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCityId);
+                this.columnCityName = new global::System.Data.DataColumn("CityName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCityName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnCityId}, true));
+                this.columnCityId.AutoIncrement = true;
+                this.columnCityId.AutoIncrementSeed = -1;
+                this.columnCityId.AutoIncrementStep = -1;
+                this.columnCityId.AllowDBNull = false;
+                this.columnCityId.ReadOnly = true;
+                this.columnCityId.Unique = true;
+                this.columnCityName.AllowDBNull = false;
+                this.columnCityName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRow NewCityRow() {
+                return ((CityRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new CityRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(CityRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.CityRowChanged != null)) {
+                    this.CityRowChanged(this, new CityRowChangeEvent(((CityRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.CityRowChanging != null)) {
+                    this.CityRowChanging(this, new CityRowChangeEvent(((CityRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.CityRowDeleted != null)) {
+                    this.CityRowDeleted(this, new CityRowChangeEvent(((CityRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.CityRowDeleting != null)) {
+                    this.CityRowDeleting(this, new CityRowChangeEvent(((CityRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveCityRow(CityRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "CityDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class ManufacturerDataTable : global::System.Data.TypedTableBase<ManufacturerRow> {
+            
+            private global::System.Data.DataColumn columnManufacturerId;
+            
+            private global::System.Data.DataColumn columnManufacturerName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerDataTable() {
+                this.TableName = "Manufacturer";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal ManufacturerDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected ManufacturerDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ManufacturerIdColumn {
+                get {
+                    return this.columnManufacturerId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ManufacturerNameColumn {
+                get {
+                    return this.columnManufacturerName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRow this[int index] {
+                get {
+                    return ((ManufacturerRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ManufacturerRowChangeEventHandler ManufacturerRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ManufacturerRowChangeEventHandler ManufacturerRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ManufacturerRowChangeEventHandler ManufacturerRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ManufacturerRowChangeEventHandler ManufacturerRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddManufacturerRow(ManufacturerRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRow AddManufacturerRow(string ManufacturerName) {
+                ManufacturerRow rowManufacturerRow = ((ManufacturerRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        ManufacturerName};
+                rowManufacturerRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowManufacturerRow);
+                return rowManufacturerRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRow FindByManufacturerId(int ManufacturerId) {
+                return ((ManufacturerRow)(this.Rows.Find(new object[] {
+                            ManufacturerId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                ManufacturerDataTable cln = ((ManufacturerDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new ManufacturerDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnManufacturerId = base.Columns["ManufacturerId"];
+                this.columnManufacturerName = base.Columns["ManufacturerName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnManufacturerId = new global::System.Data.DataColumn("ManufacturerId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnManufacturerId);
+                this.columnManufacturerName = new global::System.Data.DataColumn("ManufacturerName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnManufacturerName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnManufacturerId}, true));
+                this.columnManufacturerId.AutoIncrement = true;
+                this.columnManufacturerId.AutoIncrementSeed = -1;
+                this.columnManufacturerId.AutoIncrementStep = -1;
+                this.columnManufacturerId.AllowDBNull = false;
+                this.columnManufacturerId.ReadOnly = true;
+                this.columnManufacturerId.Unique = true;
+                this.columnManufacturerName.AllowDBNull = false;
+                this.columnManufacturerName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRow NewManufacturerRow() {
+                return ((ManufacturerRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new ManufacturerRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(ManufacturerRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.ManufacturerRowChanged != null)) {
+                    this.ManufacturerRowChanged(this, new ManufacturerRowChangeEvent(((ManufacturerRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.ManufacturerRowChanging != null)) {
+                    this.ManufacturerRowChanging(this, new ManufacturerRowChangeEvent(((ManufacturerRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.ManufacturerRowDeleted != null)) {
+                    this.ManufacturerRowDeleted(this, new ManufacturerRowChangeEvent(((ManufacturerRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.ManufacturerRowDeleting != null)) {
+                    this.ManufacturerRowDeleting(this, new ManufacturerRowChangeEvent(((ManufacturerRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveManufacturerRow(ManufacturerRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "ManufacturerDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class OrderDataTable : global::System.Data.TypedTableBase<OrderRow> {
+            
+            private global::System.Data.DataColumn columnOrderId;
+            
+            private global::System.Data.DataColumn columnOrderDate;
+            
+            private global::System.Data.DataColumn columnDeliveryDate;
+            
+            private global::System.Data.DataColumn columnPickupPointId;
+            
+            private global::System.Data.DataColumn columnClientUserId;
+            
+            private global::System.Data.DataColumn columnReceiveCode;
+            
+            private global::System.Data.DataColumn columnStatusId;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderDataTable() {
+                this.TableName = "Order";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal OrderDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected OrderDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn OrderIdColumn {
+                get {
+                    return this.columnOrderId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn OrderDateColumn {
+                get {
+                    return this.columnOrderDate;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn DeliveryDateColumn {
+                get {
+                    return this.columnDeliveryDate;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn PickupPointIdColumn {
+                get {
+                    return this.columnPickupPointId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ClientUserIdColumn {
+                get {
+                    return this.columnClientUserId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ReceiveCodeColumn {
+                get {
+                    return this.columnReceiveCode;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn StatusIdColumn {
+                get {
+                    return this.columnStatusId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow this[int index] {
+                get {
+                    return ((OrderRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderRowChangeEventHandler OrderRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderRowChangeEventHandler OrderRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderRowChangeEventHandler OrderRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderRowChangeEventHandler OrderRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddOrderRow(OrderRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow AddOrderRow(int OrderId, System.DateTime OrderDate, System.DateTime DeliveryDate, PickupPointRow parentPickupPointRowByFK_Order_Pickup, UserRow parentUserRowByFK_Order_User, int ReceiveCode, OrderStatusRow parentOrderStatusRowByFK_Order_Status) {
+                OrderRow rowOrderRow = ((OrderRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        OrderId,
+                        OrderDate,
+                        DeliveryDate,
+                        null,
+                        null,
+                        ReceiveCode,
+                        null};
+                if ((parentPickupPointRowByFK_Order_Pickup != null)) {
+                    columnValuesArray[3] = parentPickupPointRowByFK_Order_Pickup[0];
+                }
+                if ((parentUserRowByFK_Order_User != null)) {
+                    columnValuesArray[4] = parentUserRowByFK_Order_User[0];
+                }
+                if ((parentOrderStatusRowByFK_Order_Status != null)) {
+                    columnValuesArray[6] = parentOrderStatusRowByFK_Order_Status[0];
+                }
+                rowOrderRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowOrderRow);
+                return rowOrderRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow FindByOrderId(int OrderId) {
+                return ((OrderRow)(this.Rows.Find(new object[] {
+                            OrderId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                OrderDataTable cln = ((OrderDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new OrderDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnOrderId = base.Columns["OrderId"];
+                this.columnOrderDate = base.Columns["OrderDate"];
+                this.columnDeliveryDate = base.Columns["DeliveryDate"];
+                this.columnPickupPointId = base.Columns["PickupPointId"];
+                this.columnClientUserId = base.Columns["ClientUserId"];
+                this.columnReceiveCode = base.Columns["ReceiveCode"];
+                this.columnStatusId = base.Columns["StatusId"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnOrderId = new global::System.Data.DataColumn("OrderId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnOrderId);
+                this.columnOrderDate = new global::System.Data.DataColumn("OrderDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnOrderDate);
+                this.columnDeliveryDate = new global::System.Data.DataColumn("DeliveryDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnDeliveryDate);
+                this.columnPickupPointId = new global::System.Data.DataColumn("PickupPointId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnPickupPointId);
+                this.columnClientUserId = new global::System.Data.DataColumn("ClientUserId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnClientUserId);
+                this.columnReceiveCode = new global::System.Data.DataColumn("ReceiveCode", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnReceiveCode);
+                this.columnStatusId = new global::System.Data.DataColumn("StatusId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnStatusId);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnOrderId}, true));
+                this.columnOrderId.AllowDBNull = false;
+                this.columnOrderId.Unique = true;
+                this.columnPickupPointId.AllowDBNull = false;
+                this.columnStatusId.AllowDBNull = false;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow NewOrderRow() {
+                return ((OrderRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new OrderRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(OrderRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.OrderRowChanged != null)) {
+                    this.OrderRowChanged(this, new OrderRowChangeEvent(((OrderRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.OrderRowChanging != null)) {
+                    this.OrderRowChanging(this, new OrderRowChangeEvent(((OrderRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.OrderRowDeleted != null)) {
+                    this.OrderRowDeleted(this, new OrderRowChangeEvent(((OrderRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.OrderRowDeleting != null)) {
+                    this.OrderRowDeleting(this, new OrderRowChangeEvent(((OrderRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveOrderRow(OrderRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "OrderDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class OrderItemDataTable : global::System.Data.TypedTableBase<OrderItemRow> {
+            
+            private global::System.Data.DataColumn columnOrderItemId;
+            
+            private global::System.Data.DataColumn columnOrderId;
+            
+            private global::System.Data.DataColumn columnArticle;
+            
+            private global::System.Data.DataColumn columnQuantity;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemDataTable() {
+                this.TableName = "OrderItem";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal OrderItemDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected OrderItemDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn OrderItemIdColumn {
+                get {
+                    return this.columnOrderItemId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn OrderIdColumn {
+                get {
+                    return this.columnOrderId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ArticleColumn {
+                get {
+                    return this.columnArticle;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn QuantityColumn {
+                get {
+                    return this.columnQuantity;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow this[int index] {
+                get {
+                    return ((OrderItemRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderItemRowChangeEventHandler OrderItemRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderItemRowChangeEventHandler OrderItemRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderItemRowChangeEventHandler OrderItemRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderItemRowChangeEventHandler OrderItemRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddOrderItemRow(OrderItemRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow AddOrderItemRow(OrderRow parentOrderRowByFK_Item_Order, ProductRow parentProductRowByFK_Item_Product, int Quantity) {
+                OrderItemRow rowOrderItemRow = ((OrderItemRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        null,
+                        null,
+                        Quantity};
+                if ((parentOrderRowByFK_Item_Order != null)) {
+                    columnValuesArray[1] = parentOrderRowByFK_Item_Order[0];
+                }
+                if ((parentProductRowByFK_Item_Product != null)) {
+                    columnValuesArray[2] = parentProductRowByFK_Item_Product[1];
+                }
+                rowOrderItemRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowOrderItemRow);
+                return rowOrderItemRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow FindByOrderItemId(int OrderItemId) {
+                return ((OrderItemRow)(this.Rows.Find(new object[] {
+                            OrderItemId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                OrderItemDataTable cln = ((OrderItemDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new OrderItemDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnOrderItemId = base.Columns["OrderItemId"];
+                this.columnOrderId = base.Columns["OrderId"];
+                this.columnArticle = base.Columns["Article"];
+                this.columnQuantity = base.Columns["Quantity"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnOrderItemId = new global::System.Data.DataColumn("OrderItemId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnOrderItemId);
+                this.columnOrderId = new global::System.Data.DataColumn("OrderId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnOrderId);
+                this.columnArticle = new global::System.Data.DataColumn("Article", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnArticle);
+                this.columnQuantity = new global::System.Data.DataColumn("Quantity", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnQuantity);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnOrderItemId}, true));
+                this.columnOrderItemId.AutoIncrement = true;
+                this.columnOrderItemId.AutoIncrementSeed = -1;
+                this.columnOrderItemId.AutoIncrementStep = -1;
+                this.columnOrderItemId.AllowDBNull = false;
+                this.columnOrderItemId.ReadOnly = true;
+                this.columnOrderItemId.Unique = true;
+                this.columnOrderId.AllowDBNull = false;
+                this.columnArticle.AllowDBNull = false;
+                this.columnArticle.MaxLength = 50;
+                this.columnQuantity.AllowDBNull = false;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow NewOrderItemRow() {
+                return ((OrderItemRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new OrderItemRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(OrderItemRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.OrderItemRowChanged != null)) {
+                    this.OrderItemRowChanged(this, new OrderItemRowChangeEvent(((OrderItemRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.OrderItemRowChanging != null)) {
+                    this.OrderItemRowChanging(this, new OrderItemRowChangeEvent(((OrderItemRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.OrderItemRowDeleted != null)) {
+                    this.OrderItemRowDeleted(this, new OrderItemRowChangeEvent(((OrderItemRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.OrderItemRowDeleting != null)) {
+                    this.OrderItemRowDeleting(this, new OrderItemRowChangeEvent(((OrderItemRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveOrderItemRow(OrderItemRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "OrderItemDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class OrderStatusDataTable : global::System.Data.TypedTableBase<OrderStatusRow> {
+            
+            private global::System.Data.DataColumn columnStatusId;
+            
+            private global::System.Data.DataColumn columnStatusName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusDataTable() {
+                this.TableName = "OrderStatus";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal OrderStatusDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected OrderStatusDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn StatusIdColumn {
+                get {
+                    return this.columnStatusId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn StatusNameColumn {
+                get {
+                    return this.columnStatusName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRow this[int index] {
+                get {
+                    return ((OrderStatusRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderStatusRowChangeEventHandler OrderStatusRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderStatusRowChangeEventHandler OrderStatusRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderStatusRowChangeEventHandler OrderStatusRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event OrderStatusRowChangeEventHandler OrderStatusRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddOrderStatusRow(OrderStatusRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRow AddOrderStatusRow(string StatusName) {
+                OrderStatusRow rowOrderStatusRow = ((OrderStatusRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        StatusName};
+                rowOrderStatusRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowOrderStatusRow);
+                return rowOrderStatusRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRow FindByStatusId(int StatusId) {
+                return ((OrderStatusRow)(this.Rows.Find(new object[] {
+                            StatusId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                OrderStatusDataTable cln = ((OrderStatusDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new OrderStatusDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnStatusId = base.Columns["StatusId"];
+                this.columnStatusName = base.Columns["StatusName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnStatusId = new global::System.Data.DataColumn("StatusId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnStatusId);
+                this.columnStatusName = new global::System.Data.DataColumn("StatusName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnStatusName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnStatusId}, true));
+                this.columnStatusId.AutoIncrement = true;
+                this.columnStatusId.AutoIncrementSeed = -1;
+                this.columnStatusId.AutoIncrementStep = -1;
+                this.columnStatusId.AllowDBNull = false;
+                this.columnStatusId.ReadOnly = true;
+                this.columnStatusId.Unique = true;
+                this.columnStatusName.AllowDBNull = false;
+                this.columnStatusName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRow NewOrderStatusRow() {
+                return ((OrderStatusRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new OrderStatusRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(OrderStatusRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.OrderStatusRowChanged != null)) {
+                    this.OrderStatusRowChanged(this, new OrderStatusRowChangeEvent(((OrderStatusRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.OrderStatusRowChanging != null)) {
+                    this.OrderStatusRowChanging(this, new OrderStatusRowChangeEvent(((OrderStatusRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.OrderStatusRowDeleted != null)) {
+                    this.OrderStatusRowDeleted(this, new OrderStatusRowChangeEvent(((OrderStatusRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.OrderStatusRowDeleting != null)) {
+                    this.OrderStatusRowDeleting(this, new OrderStatusRowChangeEvent(((OrderStatusRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveOrderStatusRow(OrderStatusRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "OrderStatusDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class PickupPointDataTable : global::System.Data.TypedTableBase<PickupPointRow> {
+            
+            private global::System.Data.DataColumn columnPickupPointId;
+            
+            private global::System.Data.DataColumn columnPostalCode;
+            
+            private global::System.Data.DataColumn columnCityId;
+            
+            private global::System.Data.DataColumn columnStreet;
+            
+            private global::System.Data.DataColumn columnHouse;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointDataTable() {
+                this.TableName = "PickupPoint";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal PickupPointDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected PickupPointDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn PickupPointIdColumn {
+                get {
+                    return this.columnPickupPointId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn PostalCodeColumn {
+                get {
+                    return this.columnPostalCode;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn CityIdColumn {
+                get {
+                    return this.columnCityId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn StreetColumn {
+                get {
+                    return this.columnStreet;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn HouseColumn {
+                get {
+                    return this.columnHouse;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow this[int index] {
+                get {
+                    return ((PickupPointRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event PickupPointRowChangeEventHandler PickupPointRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event PickupPointRowChangeEventHandler PickupPointRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event PickupPointRowChangeEventHandler PickupPointRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event PickupPointRowChangeEventHandler PickupPointRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddPickupPointRow(PickupPointRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow AddPickupPointRow(int PickupPointId, string PostalCode, CityRow parentCityRowByFK_Pickup_City, string Street, string House) {
+                PickupPointRow rowPickupPointRow = ((PickupPointRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        PickupPointId,
+                        PostalCode,
+                        null,
+                        Street,
+                        House};
+                if ((parentCityRowByFK_Pickup_City != null)) {
+                    columnValuesArray[2] = parentCityRowByFK_Pickup_City[0];
+                }
+                rowPickupPointRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowPickupPointRow);
+                return rowPickupPointRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow FindByPickupPointId(int PickupPointId) {
+                return ((PickupPointRow)(this.Rows.Find(new object[] {
+                            PickupPointId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                PickupPointDataTable cln = ((PickupPointDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new PickupPointDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnPickupPointId = base.Columns["PickupPointId"];
+                this.columnPostalCode = base.Columns["PostalCode"];
+                this.columnCityId = base.Columns["CityId"];
+                this.columnStreet = base.Columns["Street"];
+                this.columnHouse = base.Columns["House"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnPickupPointId = new global::System.Data.DataColumn("PickupPointId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnPickupPointId);
+                this.columnPostalCode = new global::System.Data.DataColumn("PostalCode", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnPostalCode);
+                this.columnCityId = new global::System.Data.DataColumn("CityId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCityId);
+                this.columnStreet = new global::System.Data.DataColumn("Street", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnStreet);
+                this.columnHouse = new global::System.Data.DataColumn("House", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnHouse);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnPickupPointId}, true));
+                this.columnPickupPointId.AllowDBNull = false;
+                this.columnPickupPointId.Unique = true;
+                this.columnPostalCode.AllowDBNull = false;
+                this.columnPostalCode.MaxLength = 50;
+                this.columnCityId.AllowDBNull = false;
+                this.columnStreet.AllowDBNull = false;
+                this.columnStreet.MaxLength = 50;
+                this.columnHouse.AllowDBNull = false;
+                this.columnHouse.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow NewPickupPointRow() {
+                return ((PickupPointRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new PickupPointRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(PickupPointRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.PickupPointRowChanged != null)) {
+                    this.PickupPointRowChanged(this, new PickupPointRowChangeEvent(((PickupPointRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.PickupPointRowChanging != null)) {
+                    this.PickupPointRowChanging(this, new PickupPointRowChangeEvent(((PickupPointRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.PickupPointRowDeleted != null)) {
+                    this.PickupPointRowDeleted(this, new PickupPointRowChangeEvent(((PickupPointRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.PickupPointRowDeleting != null)) {
+                    this.PickupPointRowDeleting(this, new PickupPointRowChangeEvent(((PickupPointRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemovePickupPointRow(PickupPointRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "PickupPointDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class ProductDataTable : global::System.Data.TypedTableBase<ProductRow> {
+            
+            private global::System.Data.DataColumn columnProductId;
+            
+            private global::System.Data.DataColumn columnArticle;
+            
+            private global::System.Data.DataColumn columnName;
+            
+            private global::System.Data.DataColumn columnUnitId;
+            
+            private global::System.Data.DataColumn columnPrice;
+            
+            private global::System.Data.DataColumn columnSupplierId;
+            
+            private global::System.Data.DataColumn columnManufacturerId;
+            
+            private global::System.Data.DataColumn columnCategoryId;
+            
+            private global::System.Data.DataColumn columnDiscount;
+            
+            private global::System.Data.DataColumn columnStock;
+            
+            private global::System.Data.DataColumn columnDescription;
+            
+            private global::System.Data.DataColumn columnPhoto;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductDataTable() {
+                this.TableName = "Product";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal ProductDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected ProductDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ProductIdColumn {
+                get {
+                    return this.columnProductId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ArticleColumn {
+                get {
+                    return this.columnArticle;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn NameColumn {
+                get {
+                    return this.columnName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn UnitIdColumn {
+                get {
+                    return this.columnUnitId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn PriceColumn {
+                get {
+                    return this.columnPrice;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn SupplierIdColumn {
+                get {
+                    return this.columnSupplierId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ManufacturerIdColumn {
+                get {
+                    return this.columnManufacturerId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn CategoryIdColumn {
+                get {
+                    return this.columnCategoryId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn DiscountColumn {
+                get {
+                    return this.columnDiscount;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn StockColumn {
+                get {
+                    return this.columnStock;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn DescriptionColumn {
+                get {
+                    return this.columnDescription;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn PhotoColumn {
+                get {
+                    return this.columnPhoto;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow this[int index] {
+                get {
+                    return ((ProductRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ProductRowChangeEventHandler ProductRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ProductRowChangeEventHandler ProductRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ProductRowChangeEventHandler ProductRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event ProductRowChangeEventHandler ProductRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddProductRow(ProductRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow AddProductRow(string Article, string Name, UnitRow parentUnitRowByFK_Product_Unit, decimal Price, SupplierRow parentSupplierRowByFK_Product_Supplier, ManufacturerRow parentManufacturerRowByFK_Product_Manufacturer, CategoryRow parentCategoryRowByFK_Product_Category, int Discount, int Stock, string Description, string Photo) {
+                ProductRow rowProductRow = ((ProductRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        Article,
+                        Name,
+                        null,
+                        Price,
+                        null,
+                        null,
+                        null,
+                        Discount,
+                        Stock,
+                        Description,
+                        Photo};
+                if ((parentUnitRowByFK_Product_Unit != null)) {
+                    columnValuesArray[3] = parentUnitRowByFK_Product_Unit[0];
+                }
+                if ((parentSupplierRowByFK_Product_Supplier != null)) {
+                    columnValuesArray[5] = parentSupplierRowByFK_Product_Supplier[0];
+                }
+                if ((parentManufacturerRowByFK_Product_Manufacturer != null)) {
+                    columnValuesArray[6] = parentManufacturerRowByFK_Product_Manufacturer[0];
+                }
+                if ((parentCategoryRowByFK_Product_Category != null)) {
+                    columnValuesArray[7] = parentCategoryRowByFK_Product_Category[0];
+                }
+                rowProductRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowProductRow);
+                return rowProductRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow FindByProductId(int ProductId) {
+                return ((ProductRow)(this.Rows.Find(new object[] {
+                            ProductId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                ProductDataTable cln = ((ProductDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new ProductDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnProductId = base.Columns["ProductId"];
+                this.columnArticle = base.Columns["Article"];
+                this.columnName = base.Columns["Name"];
+                this.columnUnitId = base.Columns["UnitId"];
+                this.columnPrice = base.Columns["Price"];
+                this.columnSupplierId = base.Columns["SupplierId"];
+                this.columnManufacturerId = base.Columns["ManufacturerId"];
+                this.columnCategoryId = base.Columns["CategoryId"];
+                this.columnDiscount = base.Columns["Discount"];
+                this.columnStock = base.Columns["Stock"];
+                this.columnDescription = base.Columns["Description"];
+                this.columnPhoto = base.Columns["Photo"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnProductId = new global::System.Data.DataColumn("ProductId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnProductId);
+                this.columnArticle = new global::System.Data.DataColumn("Article", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnArticle);
+                this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnName);
+                this.columnUnitId = new global::System.Data.DataColumn("UnitId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUnitId);
+                this.columnPrice = new global::System.Data.DataColumn("Price", typeof(decimal), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnPrice);
+                this.columnSupplierId = new global::System.Data.DataColumn("SupplierId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnSupplierId);
+                this.columnManufacturerId = new global::System.Data.DataColumn("ManufacturerId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnManufacturerId);
+                this.columnCategoryId = new global::System.Data.DataColumn("CategoryId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnCategoryId);
+                this.columnDiscount = new global::System.Data.DataColumn("Discount", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnDiscount);
+                this.columnStock = new global::System.Data.DataColumn("Stock", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnStock);
+                this.columnDescription = new global::System.Data.DataColumn("Description", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnDescription);
+                this.columnPhoto = new global::System.Data.DataColumn("Photo", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnPhoto);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnProductId}, true));
+                this.columnProductId.AutoIncrement = true;
+                this.columnProductId.AutoIncrementSeed = -1;
+                this.columnProductId.AutoIncrementStep = -1;
+                this.columnProductId.AllowDBNull = false;
+                this.columnProductId.ReadOnly = true;
+                this.columnProductId.Unique = true;
+                this.columnArticle.AllowDBNull = false;
+                this.columnArticle.MaxLength = 50;
+                this.columnName.AllowDBNull = false;
+                this.columnName.MaxLength = 150;
+                this.columnUnitId.AllowDBNull = false;
+                this.columnPrice.AllowDBNull = false;
+                this.columnSupplierId.AllowDBNull = false;
+                this.columnManufacturerId.AllowDBNull = false;
+                this.columnCategoryId.AllowDBNull = false;
+                this.columnDiscount.AllowDBNull = false;
+                this.columnStock.AllowDBNull = false;
+                this.columnDescription.MaxLength = 2147483647;
+                this.columnPhoto.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow NewProductRow() {
+                return ((ProductRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new ProductRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(ProductRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.ProductRowChanged != null)) {
+                    this.ProductRowChanged(this, new ProductRowChangeEvent(((ProductRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.ProductRowChanging != null)) {
+                    this.ProductRowChanging(this, new ProductRowChangeEvent(((ProductRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.ProductRowDeleted != null)) {
+                    this.ProductRowDeleted(this, new ProductRowChangeEvent(((ProductRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.ProductRowDeleting != null)) {
+                    this.ProductRowDeleting(this, new ProductRowChangeEvent(((ProductRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveProductRow(ProductRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "ProductDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class RoleDataTable : global::System.Data.TypedTableBase<RoleRow> {
+            
+            private global::System.Data.DataColumn columnRoleId;
+            
+            private global::System.Data.DataColumn columnRoleName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleDataTable() {
+                this.TableName = "Role";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal RoleDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected RoleDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn RoleIdColumn {
+                get {
+                    return this.columnRoleId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn RoleNameColumn {
+                get {
+                    return this.columnRoleName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRow this[int index] {
+                get {
+                    return ((RoleRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event RoleRowChangeEventHandler RoleRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event RoleRowChangeEventHandler RoleRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event RoleRowChangeEventHandler RoleRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event RoleRowChangeEventHandler RoleRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddRoleRow(RoleRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRow AddRoleRow(string RoleName) {
+                RoleRow rowRoleRow = ((RoleRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        RoleName};
+                rowRoleRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowRoleRow);
+                return rowRoleRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRow FindByRoleId(int RoleId) {
+                return ((RoleRow)(this.Rows.Find(new object[] {
+                            RoleId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                RoleDataTable cln = ((RoleDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new RoleDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnRoleId = base.Columns["RoleId"];
+                this.columnRoleName = base.Columns["RoleName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnRoleId = new global::System.Data.DataColumn("RoleId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnRoleId);
+                this.columnRoleName = new global::System.Data.DataColumn("RoleName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnRoleName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnRoleId}, true));
+                this.columnRoleId.AutoIncrement = true;
+                this.columnRoleId.AutoIncrementSeed = -1;
+                this.columnRoleId.AutoIncrementStep = -1;
+                this.columnRoleId.AllowDBNull = false;
+                this.columnRoleId.ReadOnly = true;
+                this.columnRoleId.Unique = true;
+                this.columnRoleName.AllowDBNull = false;
+                this.columnRoleName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRow NewRoleRow() {
+                return ((RoleRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new RoleRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(RoleRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.RoleRowChanged != null)) {
+                    this.RoleRowChanged(this, new RoleRowChangeEvent(((RoleRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.RoleRowChanging != null)) {
+                    this.RoleRowChanging(this, new RoleRowChangeEvent(((RoleRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.RoleRowDeleted != null)) {
+                    this.RoleRowDeleted(this, new RoleRowChangeEvent(((RoleRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.RoleRowDeleting != null)) {
+                    this.RoleRowDeleting(this, new RoleRowChangeEvent(((RoleRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveRoleRow(RoleRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "RoleDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class SupplierDataTable : global::System.Data.TypedTableBase<SupplierRow> {
+            
+            private global::System.Data.DataColumn columnSupplierId;
+            
+            private global::System.Data.DataColumn columnSupplierName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierDataTable() {
+                this.TableName = "Supplier";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal SupplierDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected SupplierDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn SupplierIdColumn {
+                get {
+                    return this.columnSupplierId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn SupplierNameColumn {
+                get {
+                    return this.columnSupplierName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRow this[int index] {
+                get {
+                    return ((SupplierRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event SupplierRowChangeEventHandler SupplierRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event SupplierRowChangeEventHandler SupplierRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event SupplierRowChangeEventHandler SupplierRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event SupplierRowChangeEventHandler SupplierRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddSupplierRow(SupplierRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRow AddSupplierRow(string SupplierName) {
+                SupplierRow rowSupplierRow = ((SupplierRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        SupplierName};
+                rowSupplierRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowSupplierRow);
+                return rowSupplierRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRow FindBySupplierId(int SupplierId) {
+                return ((SupplierRow)(this.Rows.Find(new object[] {
+                            SupplierId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                SupplierDataTable cln = ((SupplierDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new SupplierDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnSupplierId = base.Columns["SupplierId"];
+                this.columnSupplierName = base.Columns["SupplierName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnSupplierId = new global::System.Data.DataColumn("SupplierId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnSupplierId);
+                this.columnSupplierName = new global::System.Data.DataColumn("SupplierName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnSupplierName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnSupplierId}, true));
+                this.columnSupplierId.AutoIncrement = true;
+                this.columnSupplierId.AutoIncrementSeed = -1;
+                this.columnSupplierId.AutoIncrementStep = -1;
+                this.columnSupplierId.AllowDBNull = false;
+                this.columnSupplierId.ReadOnly = true;
+                this.columnSupplierId.Unique = true;
+                this.columnSupplierName.AllowDBNull = false;
+                this.columnSupplierName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRow NewSupplierRow() {
+                return ((SupplierRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new SupplierRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(SupplierRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.SupplierRowChanged != null)) {
+                    this.SupplierRowChanged(this, new SupplierRowChangeEvent(((SupplierRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.SupplierRowChanging != null)) {
+                    this.SupplierRowChanging(this, new SupplierRowChangeEvent(((SupplierRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.SupplierRowDeleted != null)) {
+                    this.SupplierRowDeleted(this, new SupplierRowChangeEvent(((SupplierRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.SupplierRowDeleting != null)) {
+                    this.SupplierRowDeleting(this, new SupplierRowChangeEvent(((SupplierRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveSupplierRow(SupplierRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "SupplierDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class UnitDataTable : global::System.Data.TypedTableBase<UnitRow> {
+            
+            private global::System.Data.DataColumn columnUnitId;
+            
+            private global::System.Data.DataColumn columnUnitName;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitDataTable() {
+                this.TableName = "Unit";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal UnitDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected UnitDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn UnitIdColumn {
+                get {
+                    return this.columnUnitId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn UnitNameColumn {
+                get {
+                    return this.columnUnitName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRow this[int index] {
+                get {
+                    return ((UnitRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UnitRowChangeEventHandler UnitRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UnitRowChangeEventHandler UnitRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UnitRowChangeEventHandler UnitRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UnitRowChangeEventHandler UnitRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddUnitRow(UnitRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRow AddUnitRow(string UnitName) {
+                UnitRow rowUnitRow = ((UnitRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        UnitName};
+                rowUnitRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowUnitRow);
+                return rowUnitRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRow FindByUnitId(int UnitId) {
+                return ((UnitRow)(this.Rows.Find(new object[] {
+                            UnitId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                UnitDataTable cln = ((UnitDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new UnitDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnUnitId = base.Columns["UnitId"];
+                this.columnUnitName = base.Columns["UnitName"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnUnitId = new global::System.Data.DataColumn("UnitId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUnitId);
+                this.columnUnitName = new global::System.Data.DataColumn("UnitName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUnitName);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnUnitId}, true));
+                this.columnUnitId.AutoIncrement = true;
+                this.columnUnitId.AutoIncrementSeed = -1;
+                this.columnUnitId.AutoIncrementStep = -1;
+                this.columnUnitId.AllowDBNull = false;
+                this.columnUnitId.ReadOnly = true;
+                this.columnUnitId.Unique = true;
+                this.columnUnitName.AllowDBNull = false;
+                this.columnUnitName.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRow NewUnitRow() {
+                return ((UnitRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new UnitRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(UnitRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.UnitRowChanged != null)) {
+                    this.UnitRowChanged(this, new UnitRowChangeEvent(((UnitRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.UnitRowChanging != null)) {
+                    this.UnitRowChanging(this, new UnitRowChangeEvent(((UnitRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.UnitRowDeleted != null)) {
+                    this.UnitRowDeleted(this, new UnitRowChangeEvent(((UnitRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.UnitRowDeleting != null)) {
+                    this.UnitRowDeleting(this, new UnitRowChangeEvent(((UnitRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveUnitRow(UnitRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "UnitDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class UserDataTable : global::System.Data.TypedTableBase<UserRow> {
+            
+            private global::System.Data.DataColumn columnUserId;
+            
+            private global::System.Data.DataColumn columnRoleId;
+            
+            private global::System.Data.DataColumn columnFullName;
+            
+            private global::System.Data.DataColumn columnLogin;
+            
+            private global::System.Data.DataColumn columnPassword;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserDataTable() {
+                this.TableName = "User";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal UserDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected UserDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn UserIdColumn {
+                get {
+                    return this.columnUserId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn RoleIdColumn {
+                get {
+                    return this.columnRoleId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn FullNameColumn {
+                get {
+                    return this.columnFullName;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn LoginColumn {
+                get {
+                    return this.columnLogin;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn PasswordColumn {
+                get {
+                    return this.columnPassword;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow this[int index] {
+                get {
+                    return ((UserRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UserRowChangeEventHandler UserRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UserRowChangeEventHandler UserRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UserRowChangeEventHandler UserRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event UserRowChangeEventHandler UserRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddUserRow(UserRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow AddUserRow(RoleRow parentRoleRowByFK_User_Role, string FullName, string Login, string Password) {
+                UserRow rowUserRow = ((UserRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        null,
+                        null,
+                        FullName,
+                        Login,
+                        Password};
+                if ((parentRoleRowByFK_User_Role != null)) {
+                    columnValuesArray[1] = parentRoleRowByFK_User_Role[0];
+                }
+                rowUserRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowUserRow);
+                return rowUserRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow FindByUserId(int UserId) {
+                return ((UserRow)(this.Rows.Find(new object[] {
+                            UserId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                UserDataTable cln = ((UserDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new UserDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnUserId = base.Columns["UserId"];
+                this.columnRoleId = base.Columns["RoleId"];
+                this.columnFullName = base.Columns["FullName"];
+                this.columnLogin = base.Columns["Login"];
+                this.columnPassword = base.Columns["Password"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnUserId = new global::System.Data.DataColumn("UserId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUserId);
+                this.columnRoleId = new global::System.Data.DataColumn("RoleId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnRoleId);
+                this.columnFullName = new global::System.Data.DataColumn("FullName", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnFullName);
+                this.columnLogin = new global::System.Data.DataColumn("Login", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnLogin);
+                this.columnPassword = new global::System.Data.DataColumn("Password", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnPassword);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnUserId}, true));
+                this.columnUserId.AutoIncrement = true;
+                this.columnUserId.AutoIncrementSeed = -1;
+                this.columnUserId.AutoIncrementStep = -1;
+                this.columnUserId.AllowDBNull = false;
+                this.columnUserId.ReadOnly = true;
+                this.columnUserId.Unique = true;
+                this.columnRoleId.AllowDBNull = false;
+                this.columnFullName.AllowDBNull = false;
+                this.columnFullName.MaxLength = 50;
+                this.columnLogin.AllowDBNull = false;
+                this.columnLogin.MaxLength = 50;
+                this.columnPassword.AllowDBNull = false;
+                this.columnPassword.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow NewUserRow() {
+                return ((UserRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new UserRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(UserRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.UserRowChanged != null)) {
+                    this.UserRowChanged(this, new UserRowChangeEvent(((UserRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.UserRowChanging != null)) {
+                    this.UserRowChanging(this, new UserRowChangeEvent(((UserRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.UserRowDeleted != null)) {
+                    this.UserRowDeleted(this, new UserRowChangeEvent(((UserRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.UserRowDeleting != null)) {
+                    this.UserRowDeleting(this, new UserRowChangeEvent(((UserRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemoveUserRow(UserRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "UserDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class vCatalogDataTable : global::System.Data.TypedTableBase<vCatalogRow> {
+            
+            private global::System.Data.DataColumn columnArticle;
+            
+            private global::System.Data.DataColumn columnФото;
+            
+            private global::System.Data.DataColumn columnКатегория_товара;
+            
+            private global::System.Data.DataColumn columnНаименование_товара;
+            
+            private global::System.Data.DataColumn columnОписание_товара;
+            
+            private global::System.Data.DataColumn columnПроизводитель;
+            
+            private global::System.Data.DataColumn columnПоставщик;
+            
+            private global::System.Data.DataColumn columnЦена;
+            
+            private global::System.Data.DataColumn columnЕдиница_измерения;
+            
+            private global::System.Data.DataColumn _columnКол_во_на_складе;
+            
+            private global::System.Data.DataColumn columnДействующая_скидка;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vCatalogDataTable() {
+                this.TableName = "vCatalog";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal vCatalogDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected vCatalogDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ArticleColumn {
+                get {
+                    return this.columnArticle;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ФотоColumn {
+                get {
+                    return this.columnФото;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Категория_товараColumn {
+                get {
+                    return this.columnКатегория_товара;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Наименование_товараColumn {
+                get {
+                    return this.columnНаименование_товара;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Описание_товараColumn {
+                get {
+                    return this.columnОписание_товара;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ПроизводительColumn {
+                get {
+                    return this.columnПроизводитель;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ПоставщикColumn {
+                get {
+                    return this.columnПоставщик;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ЦенаColumn {
+                get {
+                    return this.columnЦена;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Единица_измеренияColumn {
+                get {
+                    return this.columnЕдиница_измерения;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn _Кол_во_на_складеColumn {
+                get {
+                    return this._columnКол_во_на_складе;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Действующая_скидкаColumn {
+                get {
+                    return this.columnДействующая_скидка;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vCatalogRow this[int index] {
+                get {
+                    return ((vCatalogRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vCatalogRowChangeEventHandler vCatalogRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vCatalogRowChangeEventHandler vCatalogRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vCatalogRowChangeEventHandler vCatalogRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vCatalogRowChangeEventHandler vCatalogRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddvCatalogRow(vCatalogRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vCatalogRow AddvCatalogRow(string Article, string Фото, string Категория_товара, string Наименование_товара, string Описание_товара, string Производитель, string Поставщик, decimal Цена, string Единица_измерения, int _Кол_во_на_складе, int Действующая_скидка) {
+                vCatalogRow rowvCatalogRow = ((vCatalogRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        Article,
+                        Фото,
+                        Категория_товара,
+                        Наименование_товара,
+                        Описание_товара,
+                        Производитель,
+                        Поставщик,
+                        Цена,
+                        Единица_измерения,
+                        _Кол_во_на_складе,
+                        Действующая_скидка};
+                rowvCatalogRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowvCatalogRow);
+                return rowvCatalogRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                vCatalogDataTable cln = ((vCatalogDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new vCatalogDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnArticle = base.Columns["Article"];
+                this.columnФото = base.Columns["Фото"];
+                this.columnКатегория_товара = base.Columns["Категория товара"];
+                this.columnНаименование_товара = base.Columns["Наименование товара"];
+                this.columnОписание_товара = base.Columns["Описание товара"];
+                this.columnПроизводитель = base.Columns["Производитель"];
+                this.columnПоставщик = base.Columns["Поставщик"];
+                this.columnЦена = base.Columns["Цена"];
+                this.columnЕдиница_измерения = base.Columns["Единица измерения"];
+                this._columnКол_во_на_складе = base.Columns["Кол-во на складе"];
+                this.columnДействующая_скидка = base.Columns["Действующая скидка"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnArticle = new global::System.Data.DataColumn("Article", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnArticle);
+                this.columnФото = new global::System.Data.DataColumn("Фото", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnФото);
+                this.columnКатегория_товара = new global::System.Data.DataColumn("Категория товара", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnКатегория_товара);
+                this.columnНаименование_товара = new global::System.Data.DataColumn("Наименование товара", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnНаименование_товара);
+                this.columnОписание_товара = new global::System.Data.DataColumn("Описание товара", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnОписание_товара);
+                this.columnПроизводитель = new global::System.Data.DataColumn("Производитель", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnПроизводитель);
+                this.columnПоставщик = new global::System.Data.DataColumn("Поставщик", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnПоставщик);
+                this.columnЦена = new global::System.Data.DataColumn("Цена", typeof(decimal), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnЦена);
+                this.columnЕдиница_измерения = new global::System.Data.DataColumn("Единица измерения", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnЕдиница_измерения);
+                this._columnКол_во_на_складе = new global::System.Data.DataColumn("Кол-во на складе", typeof(int), null, global::System.Data.MappingType.Element);
+                this._columnКол_во_на_складе.ExtendedProperties.Add("Generator_ColumnVarNameInTable", "_columnКол_во_на_складе");
+                this._columnКол_во_на_складе.ExtendedProperties.Add("Generator_UserColumnName", "Кол-во на складе");
+                base.Columns.Add(this._columnКол_во_на_складе);
+                this.columnДействующая_скидка = new global::System.Data.DataColumn("Действующая скидка", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnДействующая_скидка);
+                this.columnArticle.AllowDBNull = false;
+                this.columnArticle.MaxLength = 50;
+                this.columnФото.MaxLength = 50;
+                this.columnКатегория_товара.AllowDBNull = false;
+                this.columnКатегория_товара.MaxLength = 50;
+                this.columnНаименование_товара.AllowDBNull = false;
+                this.columnНаименование_товара.MaxLength = 150;
+                this.columnОписание_товара.MaxLength = 2147483647;
+                this.columnПроизводитель.AllowDBNull = false;
+                this.columnПроизводитель.MaxLength = 50;
+                this.columnПоставщик.AllowDBNull = false;
+                this.columnПоставщик.MaxLength = 50;
+                this.columnЦена.AllowDBNull = false;
+                this.columnЕдиница_измерения.AllowDBNull = false;
+                this.columnЕдиница_измерения.MaxLength = 50;
+                this._columnКол_во_на_складе.AllowDBNull = false;
+                this.columnДействующая_скидка.AllowDBNull = false;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vCatalogRow NewvCatalogRow() {
+                return ((vCatalogRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new vCatalogRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(vCatalogRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.vCatalogRowChanged != null)) {
+                    this.vCatalogRowChanged(this, new vCatalogRowChangeEvent(((vCatalogRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.vCatalogRowChanging != null)) {
+                    this.vCatalogRowChanging(this, new vCatalogRowChangeEvent(((vCatalogRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.vCatalogRowDeleted != null)) {
+                    this.vCatalogRowDeleted(this, new vCatalogRowChangeEvent(((vCatalogRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.vCatalogRowDeleting != null)) {
+                    this.vCatalogRowDeleting(this, new vCatalogRowChangeEvent(((vCatalogRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemovevCatalogRow(vCatalogRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "vCatalogDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class vOrdersDataTable : global::System.Data.TypedTableBase<vOrdersRow> {
+            
+            private global::System.Data.DataColumn columnOrderId;
+            
+            private global::System.Data.DataColumn columnАртикул_заказа;
+            
+            private global::System.Data.DataColumn columnСтатус_заказа;
+            
+            private global::System.Data.DataColumn columnАдрес_пункта_выдачи;
+            
+            private global::System.Data.DataColumn columnДата_заказа;
+            
+            private global::System.Data.DataColumn columnДата_доставки;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersDataTable() {
+                this.TableName = "vOrders";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal vOrdersDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected vOrdersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn OrderIdColumn {
+                get {
+                    return this.columnOrderId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Артикул_заказаColumn {
+                get {
+                    return this.columnАртикул_заказа;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Статус_заказаColumn {
+                get {
+                    return this.columnСтатус_заказа;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Адрес_пункта_выдачиColumn {
+                get {
+                    return this.columnАдрес_пункта_выдачи;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Дата_заказаColumn {
+                get {
+                    return this.columnДата_заказа;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn Дата_доставкиColumn {
+                get {
+                    return this.columnДата_доставки;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersRow this[int index] {
+                get {
+                    return ((vOrdersRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vOrdersRowChangeEventHandler vOrdersRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vOrdersRowChangeEventHandler vOrdersRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vOrdersRowChangeEventHandler vOrdersRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vOrdersRowChangeEventHandler vOrdersRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void AddvOrdersRow(vOrdersRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersRow AddvOrdersRow(int OrderId, string Артикул_заказа, string Статус_заказа, string Адрес_пункта_выдачи, System.DateTime Дата_заказа, System.DateTime Дата_доставки) {
+                vOrdersRow rowvOrdersRow = ((vOrdersRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        OrderId,
+                        Артикул_заказа,
+                        Статус_заказа,
+                        Адрес_пункта_выдачи,
+                        Дата_заказа,
+                        Дата_доставки};
+                rowvOrdersRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowvOrdersRow);
+                return rowvOrdersRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersRow FindByOrderId(int OrderId) {
+                return ((vOrdersRow)(this.Rows.Find(new object[] {
+                            OrderId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                vOrdersDataTable cln = ((vOrdersDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new vOrdersDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnOrderId = base.Columns["OrderId"];
+                this.columnАртикул_заказа = base.Columns["Артикул заказа"];
+                this.columnСтатус_заказа = base.Columns["Статус заказа"];
+                this.columnАдрес_пункта_выдачи = base.Columns["Адрес пункта выдачи"];
+                this.columnДата_заказа = base.Columns["Дата заказа"];
+                this.columnДата_доставки = base.Columns["Дата доставки"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnOrderId = new global::System.Data.DataColumn("OrderId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnOrderId);
+                this.columnАртикул_заказа = new global::System.Data.DataColumn("Артикул заказа", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnАртикул_заказа);
+                this.columnСтатус_заказа = new global::System.Data.DataColumn("Статус заказа", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnСтатус_заказа);
+                this.columnАдрес_пункта_выдачи = new global::System.Data.DataColumn("Адрес пункта выдачи", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnАдрес_пункта_выдачи);
+                this.columnДата_заказа = new global::System.Data.DataColumn("Дата заказа", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnДата_заказа);
+                this.columnДата_доставки = new global::System.Data.DataColumn("Дата доставки", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnДата_доставки);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnOrderId}, true));
+                this.columnOrderId.AllowDBNull = false;
+                this.columnOrderId.Unique = true;
+                this.columnАртикул_заказа.MaxLength = 4000;
+                this.columnСтатус_заказа.AllowDBNull = false;
+                this.columnСтатус_заказа.MaxLength = 50;
+                this.columnАдрес_пункта_выдачи.ReadOnly = true;
+                this.columnАдрес_пункта_выдачи.MaxLength = 216;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersRow NewvOrdersRow() {
+                return ((vOrdersRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new vOrdersRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(vOrdersRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.vOrdersRowChanged != null)) {
+                    this.vOrdersRowChanged(this, new vOrdersRowChangeEvent(((vOrdersRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.vOrdersRowChanging != null)) {
+                    this.vOrdersRowChanging(this, new vOrdersRowChangeEvent(((vOrdersRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.vOrdersRowDeleted != null)) {
+                    this.vOrdersRowDeleted(this, new vOrdersRowChangeEvent(((vOrdersRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.vOrdersRowDeleting != null)) {
+                    this.vOrdersRowDeleting(this, new vOrdersRowChangeEvent(((vOrdersRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void RemovevOrdersRow(vOrdersRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "vOrdersDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class vw_UsersLoginDataTable : global::System.Data.TypedTableBase<vw_UsersLoginRow> {
+            
+            private global::System.Data.DataColumn columnUserId;
+            
+            private global::System.Data.DataColumn columnФИО;
+            
+            private global::System.Data.DataColumn columnЛогин;
+            
+            private global::System.Data.DataColumn columnПароль;
+            
+            private global::System.Data.DataColumn columnРоль;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginDataTable() {
+                this.TableName = "vw_UsersLogin";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal vw_UsersLoginDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected vw_UsersLoginDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn UserIdColumn {
+                get {
+                    return this.columnUserId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ФИОColumn {
+                get {
+                    return this.columnФИО;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ЛогинColumn {
+                get {
+                    return this.columnЛогин;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn ПарольColumn {
+                get {
+                    return this.columnПароль;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataColumn РольColumn {
+                get {
+                    return this.columnРоль;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginRow this[int index] {
+                get {
+                    return ((vw_UsersLoginRow)(this.Rows[index]));
+                }
+            }
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vw_UsersLoginRowChangeEventHandler vw_UsersLoginRowChanging;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vw_UsersLoginRowChangeEventHandler vw_UsersLoginRowChanged;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vw_UsersLoginRowChangeEventHandler vw_UsersLoginRowDeleting;
+            
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public event vw_UsersLoginRowChangeEventHandler vw_UsersLoginRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void Addvw_UsersLoginRow(vw_UsersLoginRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginRow Addvw_UsersLoginRow(int UserId, string ФИО, string Логин, string Пароль, string Роль) {
+                vw_UsersLoginRow rowvw_UsersLoginRow = ((vw_UsersLoginRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        UserId,
+                        ФИО,
+                        Логин,
+                        Пароль,
+                        Роль};
+                rowvw_UsersLoginRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowvw_UsersLoginRow);
+                return rowvw_UsersLoginRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginRow FindByUserId(int UserId) {
+                return ((vw_UsersLoginRow)(this.Rows.Find(new object[] {
+                            UserId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public override global::System.Data.DataTable Clone() {
+                vw_UsersLoginDataTable cln = ((vw_UsersLoginDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new vw_UsersLoginDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal void InitVars() {
+                this.columnUserId = base.Columns["UserId"];
+                this.columnФИО = base.Columns["ФИО"];
+                this.columnЛогин = base.Columns["Логин"];
+                this.columnПароль = base.Columns["Пароль"];
+                this.columnРоль = base.Columns["Роль"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private void InitClass() {
+                this.columnUserId = new global::System.Data.DataColumn("UserId", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUserId);
+                this.columnФИО = new global::System.Data.DataColumn("ФИО", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnФИО);
+                this.columnЛогин = new global::System.Data.DataColumn("Логин", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnЛогин);
+                this.columnПароль = new global::System.Data.DataColumn("Пароль", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnПароль);
+                this.columnРоль = new global::System.Data.DataColumn("Роль", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnРоль);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnUserId}, true));
+                this.columnUserId.AllowDBNull = false;
+                this.columnUserId.Unique = true;
+                this.columnФИО.AllowDBNull = false;
+                this.columnФИО.MaxLength = 50;
+                this.columnЛогин.AllowDBNull = false;
+                this.columnЛогин.MaxLength = 50;
+                this.columnПароль.AllowDBNull = false;
+                this.columnПароль.MaxLength = 50;
+                this.columnРоль.AllowDBNull = false;
+                this.columnРоль.MaxLength = 50;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginRow Newvw_UsersLoginRow() {
+                return ((vw_UsersLoginRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new vw_UsersLoginRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override global::System.Type GetRowType() {
+                return typeof(vw_UsersLoginRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.vw_UsersLoginRowChanged != null)) {
+                    this.vw_UsersLoginRowChanged(this, new vw_UsersLoginRowChangeEvent(((vw_UsersLoginRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.vw_UsersLoginRowChanging != null)) {
+                    this.vw_UsersLoginRowChanging(this, new vw_UsersLoginRowChangeEvent(((vw_UsersLoginRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.vw_UsersLoginRowDeleted != null)) {
+                    this.vw_UsersLoginRowDeleted(this, new vw_UsersLoginRowChangeEvent(((vw_UsersLoginRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.vw_UsersLoginRowDeleting != null)) {
+                    this.vw_UsersLoginRowDeleting(this, new vw_UsersLoginRowChangeEvent(((vw_UsersLoginRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void Removevw_UsersLoginRow(vw_UsersLoginRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                user05DataSet ds = new user05DataSet();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "vw_UsersLoginDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class CategoryRow : global::System.Data.DataRow {
+            
+            private CategoryDataTable tableCategory;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal CategoryRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableCategory = ((CategoryDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int CategoryId {
+                get {
+                    return ((int)(this[this.tableCategory.CategoryIdColumn]));
+                }
+                set {
+                    this[this.tableCategory.CategoryIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string CategoryName {
+                get {
+                    return ((string)(this[this.tableCategory.CategoryNameColumn]));
+                }
+                set {
+                    this[this.tableCategory.CategoryNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow[] GetProductRows() {
+                if ((this.Table.ChildRelations["FK_Product_Category"] == null)) {
+                    return new ProductRow[0];
+                }
+                else {
+                    return ((ProductRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Product_Category"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class CityRow : global::System.Data.DataRow {
+            
+            private CityDataTable tableCity;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal CityRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableCity = ((CityDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int CityId {
+                get {
+                    return ((int)(this[this.tableCity.CityIdColumn]));
+                }
+                set {
+                    this[this.tableCity.CityIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string CityName {
+                get {
+                    return ((string)(this[this.tableCity.CityNameColumn]));
+                }
+                set {
+                    this[this.tableCity.CityNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow[] GetPickupPointRows() {
+                if ((this.Table.ChildRelations["FK_Pickup_City"] == null)) {
+                    return new PickupPointRow[0];
+                }
+                else {
+                    return ((PickupPointRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Pickup_City"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class ManufacturerRow : global::System.Data.DataRow {
+            
+            private ManufacturerDataTable tableManufacturer;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal ManufacturerRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableManufacturer = ((ManufacturerDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int ManufacturerId {
+                get {
+                    return ((int)(this[this.tableManufacturer.ManufacturerIdColumn]));
+                }
+                set {
+                    this[this.tableManufacturer.ManufacturerIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string ManufacturerName {
+                get {
+                    return ((string)(this[this.tableManufacturer.ManufacturerNameColumn]));
+                }
+                set {
+                    this[this.tableManufacturer.ManufacturerNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow[] GetProductRows() {
+                if ((this.Table.ChildRelations["FK_Product_Manufacturer"] == null)) {
+                    return new ProductRow[0];
+                }
+                else {
+                    return ((ProductRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Product_Manufacturer"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class OrderRow : global::System.Data.DataRow {
+            
+            private OrderDataTable tableOrder;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal OrderRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableOrder = ((OrderDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int OrderId {
+                get {
+                    return ((int)(this[this.tableOrder.OrderIdColumn]));
+                }
+                set {
+                    this[this.tableOrder.OrderIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public System.DateTime OrderDate {
+                get {
+                    try {
+                        return ((global::System.DateTime)(this[this.tableOrder.OrderDateColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'OrderDate\' в таблице \'Order\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableOrder.OrderDateColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public System.DateTime DeliveryDate {
+                get {
+                    try {
+                        return ((global::System.DateTime)(this[this.tableOrder.DeliveryDateColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'DeliveryDate\' в таблице \'Order\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableOrder.DeliveryDateColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int PickupPointId {
+                get {
+                    return ((int)(this[this.tableOrder.PickupPointIdColumn]));
+                }
+                set {
+                    this[this.tableOrder.PickupPointIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int ClientUserId {
+                get {
+                    try {
+                        return ((int)(this[this.tableOrder.ClientUserIdColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'ClientUserId\' в таблице \'Order\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableOrder.ClientUserIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int ReceiveCode {
+                get {
+                    try {
+                        return ((int)(this[this.tableOrder.ReceiveCodeColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'ReceiveCode\' в таблице \'Order\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableOrder.ReceiveCodeColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int StatusId {
+                get {
+                    return ((int)(this[this.tableOrder.StatusIdColumn]));
+                }
+                set {
+                    this[this.tableOrder.StatusIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow PickupPointRow {
+                get {
+                    return ((PickupPointRow)(this.GetParentRow(this.Table.ParentRelations["FK_Order_Pickup"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Order_Pickup"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRow OrderStatusRow {
+                get {
+                    return ((OrderStatusRow)(this.GetParentRow(this.Table.ParentRelations["FK_Order_Status"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Order_Status"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow UserRow {
+                get {
+                    return ((UserRow)(this.GetParentRow(this.Table.ParentRelations["FK_Order_User"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Order_User"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsOrderDateNull() {
+                return this.IsNull(this.tableOrder.OrderDateColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetOrderDateNull() {
+                this[this.tableOrder.OrderDateColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsDeliveryDateNull() {
+                return this.IsNull(this.tableOrder.DeliveryDateColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetDeliveryDateNull() {
+                this[this.tableOrder.DeliveryDateColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsClientUserIdNull() {
+                return this.IsNull(this.tableOrder.ClientUserIdColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetClientUserIdNull() {
+                this[this.tableOrder.ClientUserIdColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsReceiveCodeNull() {
+                return this.IsNull(this.tableOrder.ReceiveCodeColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetReceiveCodeNull() {
+                this[this.tableOrder.ReceiveCodeColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow[] GetOrderItemRows() {
+                if ((this.Table.ChildRelations["FK_Item_Order"] == null)) {
+                    return new OrderItemRow[0];
+                }
+                else {
+                    return ((OrderItemRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Item_Order"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class OrderItemRow : global::System.Data.DataRow {
+            
+            private OrderItemDataTable tableOrderItem;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal OrderItemRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableOrderItem = ((OrderItemDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int OrderItemId {
+                get {
+                    return ((int)(this[this.tableOrderItem.OrderItemIdColumn]));
+                }
+                set {
+                    this[this.tableOrderItem.OrderItemIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int OrderId {
+                get {
+                    return ((int)(this[this.tableOrderItem.OrderIdColumn]));
+                }
+                set {
+                    this[this.tableOrderItem.OrderIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Article {
+                get {
+                    return ((string)(this[this.tableOrderItem.ArticleColumn]));
+                }
+                set {
+                    this[this.tableOrderItem.ArticleColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int Quantity {
+                get {
+                    return ((int)(this[this.tableOrderItem.QuantityColumn]));
+                }
+                set {
+                    this[this.tableOrderItem.QuantityColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow OrderRow {
+                get {
+                    return ((OrderRow)(this.GetParentRow(this.Table.ParentRelations["FK_Item_Order"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Item_Order"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow ProductRow {
+                get {
+                    return ((ProductRow)(this.GetParentRow(this.Table.ParentRelations["FK_Item_Product"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Item_Product"]);
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class OrderStatusRow : global::System.Data.DataRow {
+            
+            private OrderStatusDataTable tableOrderStatus;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal OrderStatusRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableOrderStatus = ((OrderStatusDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int StatusId {
+                get {
+                    return ((int)(this[this.tableOrderStatus.StatusIdColumn]));
+                }
+                set {
+                    this[this.tableOrderStatus.StatusIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string StatusName {
+                get {
+                    return ((string)(this[this.tableOrderStatus.StatusNameColumn]));
+                }
+                set {
+                    this[this.tableOrderStatus.StatusNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow[] GetOrderRows() {
+                if ((this.Table.ChildRelations["FK_Order_Status"] == null)) {
+                    return new OrderRow[0];
+                }
+                else {
+                    return ((OrderRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Order_Status"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class PickupPointRow : global::System.Data.DataRow {
+            
+            private PickupPointDataTable tablePickupPoint;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal PickupPointRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tablePickupPoint = ((PickupPointDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int PickupPointId {
+                get {
+                    return ((int)(this[this.tablePickupPoint.PickupPointIdColumn]));
+                }
+                set {
+                    this[this.tablePickupPoint.PickupPointIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string PostalCode {
+                get {
+                    return ((string)(this[this.tablePickupPoint.PostalCodeColumn]));
+                }
+                set {
+                    this[this.tablePickupPoint.PostalCodeColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int CityId {
+                get {
+                    return ((int)(this[this.tablePickupPoint.CityIdColumn]));
+                }
+                set {
+                    this[this.tablePickupPoint.CityIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Street {
+                get {
+                    return ((string)(this[this.tablePickupPoint.StreetColumn]));
+                }
+                set {
+                    this[this.tablePickupPoint.StreetColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string House {
+                get {
+                    return ((string)(this[this.tablePickupPoint.HouseColumn]));
+                }
+                set {
+                    this[this.tablePickupPoint.HouseColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRow CityRow {
+                get {
+                    return ((CityRow)(this.GetParentRow(this.Table.ParentRelations["FK_Pickup_City"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Pickup_City"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow[] GetOrderRows() {
+                if ((this.Table.ChildRelations["FK_Order_Pickup"] == null)) {
+                    return new OrderRow[0];
+                }
+                else {
+                    return ((OrderRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Order_Pickup"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class ProductRow : global::System.Data.DataRow {
+            
+            private ProductDataTable tableProduct;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal ProductRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableProduct = ((ProductDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int ProductId {
+                get {
+                    return ((int)(this[this.tableProduct.ProductIdColumn]));
+                }
+                set {
+                    this[this.tableProduct.ProductIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Article {
+                get {
+                    return ((string)(this[this.tableProduct.ArticleColumn]));
+                }
+                set {
+                    this[this.tableProduct.ArticleColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Name {
+                get {
+                    return ((string)(this[this.tableProduct.NameColumn]));
+                }
+                set {
+                    this[this.tableProduct.NameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int UnitId {
+                get {
+                    return ((int)(this[this.tableProduct.UnitIdColumn]));
+                }
+                set {
+                    this[this.tableProduct.UnitIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public decimal Price {
+                get {
+                    return ((decimal)(this[this.tableProduct.PriceColumn]));
+                }
+                set {
+                    this[this.tableProduct.PriceColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int SupplierId {
+                get {
+                    return ((int)(this[this.tableProduct.SupplierIdColumn]));
+                }
+                set {
+                    this[this.tableProduct.SupplierIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int ManufacturerId {
+                get {
+                    return ((int)(this[this.tableProduct.ManufacturerIdColumn]));
+                }
+                set {
+                    this[this.tableProduct.ManufacturerIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int CategoryId {
+                get {
+                    return ((int)(this[this.tableProduct.CategoryIdColumn]));
+                }
+                set {
+                    this[this.tableProduct.CategoryIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int Discount {
+                get {
+                    return ((int)(this[this.tableProduct.DiscountColumn]));
+                }
+                set {
+                    this[this.tableProduct.DiscountColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int Stock {
+                get {
+                    return ((int)(this[this.tableProduct.StockColumn]));
+                }
+                set {
+                    this[this.tableProduct.StockColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Description {
+                get {
+                    try {
+                        return ((string)(this[this.tableProduct.DescriptionColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Description\' в таблице \'Product\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableProduct.DescriptionColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Photo {
+                get {
+                    try {
+                        return ((string)(this[this.tableProduct.PhotoColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Photo\' в таблице \'Product\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableProduct.PhotoColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRow CategoryRow {
+                get {
+                    return ((CategoryRow)(this.GetParentRow(this.Table.ParentRelations["FK_Product_Category"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Product_Category"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRow ManufacturerRow {
+                get {
+                    return ((ManufacturerRow)(this.GetParentRow(this.Table.ParentRelations["FK_Product_Manufacturer"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Product_Manufacturer"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRow SupplierRow {
+                get {
+                    return ((SupplierRow)(this.GetParentRow(this.Table.ParentRelations["FK_Product_Supplier"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Product_Supplier"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRow UnitRow {
+                get {
+                    return ((UnitRow)(this.GetParentRow(this.Table.ParentRelations["FK_Product_Unit"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_Product_Unit"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsDescriptionNull() {
+                return this.IsNull(this.tableProduct.DescriptionColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetDescriptionNull() {
+                this[this.tableProduct.DescriptionColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsPhotoNull() {
+                return this.IsNull(this.tableProduct.PhotoColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetPhotoNull() {
+                this[this.tableProduct.PhotoColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow[] GetOrderItemRows() {
+                if ((this.Table.ChildRelations["FK_Item_Product"] == null)) {
+                    return new OrderItemRow[0];
+                }
+                else {
+                    return ((OrderItemRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Item_Product"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class RoleRow : global::System.Data.DataRow {
+            
+            private RoleDataTable tableRole;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal RoleRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableRole = ((RoleDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int RoleId {
+                get {
+                    return ((int)(this[this.tableRole.RoleIdColumn]));
+                }
+                set {
+                    this[this.tableRole.RoleIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string RoleName {
+                get {
+                    return ((string)(this[this.tableRole.RoleNameColumn]));
+                }
+                set {
+                    this[this.tableRole.RoleNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow[] GetUserRows() {
+                if ((this.Table.ChildRelations["FK_User_Role"] == null)) {
+                    return new UserRow[0];
+                }
+                else {
+                    return ((UserRow[])(base.GetChildRows(this.Table.ChildRelations["FK_User_Role"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class SupplierRow : global::System.Data.DataRow {
+            
+            private SupplierDataTable tableSupplier;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal SupplierRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableSupplier = ((SupplierDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int SupplierId {
+                get {
+                    return ((int)(this[this.tableSupplier.SupplierIdColumn]));
+                }
+                set {
+                    this[this.tableSupplier.SupplierIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string SupplierName {
+                get {
+                    return ((string)(this[this.tableSupplier.SupplierNameColumn]));
+                }
+                set {
+                    this[this.tableSupplier.SupplierNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow[] GetProductRows() {
+                if ((this.Table.ChildRelations["FK_Product_Supplier"] == null)) {
+                    return new ProductRow[0];
+                }
+                else {
+                    return ((ProductRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Product_Supplier"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class UnitRow : global::System.Data.DataRow {
+            
+            private UnitDataTable tableUnit;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal UnitRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableUnit = ((UnitDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int UnitId {
+                get {
+                    return ((int)(this[this.tableUnit.UnitIdColumn]));
+                }
+                set {
+                    this[this.tableUnit.UnitIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string UnitName {
+                get {
+                    return ((string)(this[this.tableUnit.UnitNameColumn]));
+                }
+                set {
+                    this[this.tableUnit.UnitNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow[] GetProductRows() {
+                if ((this.Table.ChildRelations["FK_Product_Unit"] == null)) {
+                    return new ProductRow[0];
+                }
+                else {
+                    return ((ProductRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Product_Unit"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class UserRow : global::System.Data.DataRow {
+            
+            private UserDataTable tableUser;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal UserRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableUser = ((UserDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int UserId {
+                get {
+                    return ((int)(this[this.tableUser.UserIdColumn]));
+                }
+                set {
+                    this[this.tableUser.UserIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int RoleId {
+                get {
+                    return ((int)(this[this.tableUser.RoleIdColumn]));
+                }
+                set {
+                    this[this.tableUser.RoleIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string FullName {
+                get {
+                    return ((string)(this[this.tableUser.FullNameColumn]));
+                }
+                set {
+                    this[this.tableUser.FullNameColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Login {
+                get {
+                    return ((string)(this[this.tableUser.LoginColumn]));
+                }
+                set {
+                    this[this.tableUser.LoginColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Password {
+                get {
+                    return ((string)(this[this.tableUser.PasswordColumn]));
+                }
+                set {
+                    this[this.tableUser.PasswordColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRow RoleRow {
+                get {
+                    return ((RoleRow)(this.GetParentRow(this.Table.ParentRelations["FK_User_Role"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["FK_User_Role"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow[] GetOrderRows() {
+                if ((this.Table.ChildRelations["FK_Order_User"] == null)) {
+                    return new OrderRow[0];
+                }
+                else {
+                    return ((OrderRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Order_User"])));
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class vCatalogRow : global::System.Data.DataRow {
+            
+            private vCatalogDataTable tablevCatalog;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal vCatalogRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tablevCatalog = ((vCatalogDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Article {
+                get {
+                    return ((string)(this[this.tablevCatalog.ArticleColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.ArticleColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Фото {
+                get {
+                    try {
+                        return ((string)(this[this.tablevCatalog.ФотоColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Фото\' в таблице \'vCatalog\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tablevCatalog.ФотоColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Категория_товара {
+                get {
+                    return ((string)(this[this.tablevCatalog.Категория_товараColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.Категория_товараColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Наименование_товара {
+                get {
+                    return ((string)(this[this.tablevCatalog.Наименование_товараColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.Наименование_товараColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Описание_товара {
+                get {
+                    try {
+                        return ((string)(this[this.tablevCatalog.Описание_товараColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Описание товара\' в таблице \'vCatalog\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tablevCatalog.Описание_товараColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Производитель {
+                get {
+                    return ((string)(this[this.tablevCatalog.ПроизводительColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.ПроизводительColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Поставщик {
+                get {
+                    return ((string)(this[this.tablevCatalog.ПоставщикColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.ПоставщикColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public decimal Цена {
+                get {
+                    return ((decimal)(this[this.tablevCatalog.ЦенаColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.ЦенаColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Единица_измерения {
+                get {
+                    return ((string)(this[this.tablevCatalog.Единица_измеренияColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.Единица_измеренияColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int _Кол_во_на_складе {
+                get {
+                    return ((int)(this[this.tablevCatalog._Кол_во_на_складеColumn]));
+                }
+                set {
+                    this[this.tablevCatalog._Кол_во_на_складеColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int Действующая_скидка {
+                get {
+                    return ((int)(this[this.tablevCatalog.Действующая_скидкаColumn]));
+                }
+                set {
+                    this[this.tablevCatalog.Действующая_скидкаColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsФотоNull() {
+                return this.IsNull(this.tablevCatalog.ФотоColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetФотоNull() {
+                this[this.tablevCatalog.ФотоColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsОписание_товараNull() {
+                return this.IsNull(this.tablevCatalog.Описание_товараColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetОписание_товараNull() {
+                this[this.tablevCatalog.Описание_товараColumn] = global::System.Convert.DBNull;
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class vOrdersRow : global::System.Data.DataRow {
+            
+            private vOrdersDataTable tablevOrders;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal vOrdersRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tablevOrders = ((vOrdersDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int OrderId {
+                get {
+                    return ((int)(this[this.tablevOrders.OrderIdColumn]));
+                }
+                set {
+                    this[this.tablevOrders.OrderIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Артикул_заказа {
+                get {
+                    try {
+                        return ((string)(this[this.tablevOrders.Артикул_заказаColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Артикул заказа\' в таблице \'vOrders\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tablevOrders.Артикул_заказаColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Статус_заказа {
+                get {
+                    return ((string)(this[this.tablevOrders.Статус_заказаColumn]));
+                }
+                set {
+                    this[this.tablevOrders.Статус_заказаColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Адрес_пункта_выдачи {
+                get {
+                    try {
+                        return ((string)(this[this.tablevOrders.Адрес_пункта_выдачиColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Адрес пункта выдачи\' в таблице \'vOrders\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tablevOrders.Адрес_пункта_выдачиColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public System.DateTime Дата_заказа {
+                get {
+                    try {
+                        return ((global::System.DateTime)(this[this.tablevOrders.Дата_заказаColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Дата заказа\' в таблице \'vOrders\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tablevOrders.Дата_заказаColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public System.DateTime Дата_доставки {
+                get {
+                    try {
+                        return ((global::System.DateTime)(this[this.tablevOrders.Дата_доставкиColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("Значение для столбца \'Дата доставки\' в таблице \'vOrders\' равно DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tablevOrders.Дата_доставкиColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsАртикул_заказаNull() {
+                return this.IsNull(this.tablevOrders.Артикул_заказаColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetАртикул_заказаNull() {
+                this[this.tablevOrders.Артикул_заказаColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsАдрес_пункта_выдачиNull() {
+                return this.IsNull(this.tablevOrders.Адрес_пункта_выдачиColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetАдрес_пункта_выдачиNull() {
+                this[this.tablevOrders.Адрес_пункта_выдачиColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsДата_заказаNull() {
+                return this.IsNull(this.tablevOrders.Дата_заказаColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetДата_заказаNull() {
+                this[this.tablevOrders.Дата_заказаColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public bool IsДата_доставкиNull() {
+                return this.IsNull(this.tablevOrders.Дата_доставкиColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public void SetДата_доставкиNull() {
+                this[this.tablevOrders.Дата_доставкиColumn] = global::System.Convert.DBNull;
+            }
+        }
+        
+        /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        public partial class vw_UsersLoginRow : global::System.Data.DataRow {
+            
+            private vw_UsersLoginDataTable tablevw_UsersLogin;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal vw_UsersLoginRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tablevw_UsersLogin = ((vw_UsersLoginDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int UserId {
+                get {
+                    return ((int)(this[this.tablevw_UsersLogin.UserIdColumn]));
+                }
+                set {
+                    this[this.tablevw_UsersLogin.UserIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string ФИО {
+                get {
+                    return ((string)(this[this.tablevw_UsersLogin.ФИОColumn]));
+                }
+                set {
+                    this[this.tablevw_UsersLogin.ФИОColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Логин {
+                get {
+                    return ((string)(this[this.tablevw_UsersLogin.ЛогинColumn]));
+                }
+                set {
+                    this[this.tablevw_UsersLogin.ЛогинColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Пароль {
+                get {
+                    return ((string)(this[this.tablevw_UsersLogin.ПарольColumn]));
+                }
+                set {
+                    this[this.tablevw_UsersLogin.ПарольColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public string Роль {
+                get {
+                    return ((string)(this[this.tablevw_UsersLogin.РольColumn]));
+                }
+                set {
+                    this[this.tablevw_UsersLogin.РольColumn] = value;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class CategoryRowChangeEvent : global::System.EventArgs {
+            
+            private CategoryRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRowChangeEvent(CategoryRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CategoryRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class CityRowChangeEvent : global::System.EventArgs {
+            
+            private CityRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRowChangeEvent(CityRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public CityRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class ManufacturerRowChangeEvent : global::System.EventArgs {
+            
+            private ManufacturerRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRowChangeEvent(ManufacturerRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ManufacturerRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class OrderRowChangeEvent : global::System.EventArgs {
+            
+            private OrderRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRowChangeEvent(OrderRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class OrderItemRowChangeEvent : global::System.EventArgs {
+            
+            private OrderItemRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRowChangeEvent(OrderItemRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderItemRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class OrderStatusRowChangeEvent : global::System.EventArgs {
+            
+            private OrderStatusRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRowChangeEvent(OrderStatusRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public OrderStatusRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class PickupPointRowChangeEvent : global::System.EventArgs {
+            
+            private PickupPointRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRowChangeEvent(PickupPointRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public PickupPointRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class ProductRowChangeEvent : global::System.EventArgs {
+            
+            private ProductRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRowChangeEvent(ProductRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public ProductRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class RoleRowChangeEvent : global::System.EventArgs {
+            
+            private RoleRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRowChangeEvent(RoleRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public RoleRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class SupplierRowChangeEvent : global::System.EventArgs {
+            
+            private SupplierRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRowChangeEvent(SupplierRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public SupplierRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class UnitRowChangeEvent : global::System.EventArgs {
+            
+            private UnitRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRowChangeEvent(UnitRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UnitRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class UserRowChangeEvent : global::System.EventArgs {
+            
+            private UserRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRowChangeEvent(UserRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public UserRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class vCatalogRowChangeEvent : global::System.EventArgs {
+            
+            private vCatalogRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vCatalogRowChangeEvent(vCatalogRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vCatalogRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class vOrdersRowChangeEvent : global::System.EventArgs {
+            
+            private vOrdersRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersRowChangeEvent(vOrdersRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vOrdersRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public class vw_UsersLoginRowChangeEvent : global::System.EventArgs {
+            
+            private vw_UsersLoginRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginRowChangeEvent(vw_UsersLoginRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public vw_UsersLoginRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+    }
+}
+namespace WindowsFormsApp1.user05DataSetTableAdapters {
+    
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class CategoryTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public CategoryTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Category";
+            tableMapping.ColumnMappings.Add("CategoryId", "CategoryId");
+            tableMapping.ColumnMappings.Add("CategoryName", "CategoryName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[Category] WHERE (([CategoryId] = @Original_CategoryId) AND ([C" +
+                "ategoryName] = @Original_CategoryName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CategoryId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CategoryName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Category] ([CategoryName]) VALUES (@CategoryName);\r\nSELECT Cat" +
+                "egoryId, CategoryName FROM Category WHERE (CategoryId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CategoryName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[Category] SET [CategoryName] = @CategoryName WHERE (([CategoryId] =" +
+                " @Original_CategoryId) AND ([CategoryName] = @Original_CategoryName));\r\nSELECT C" +
+                "ategoryId, CategoryName FROM Category WHERE (CategoryId = @CategoryId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CategoryName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CategoryId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CategoryName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CategoryId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT CategoryId, CategoryName FROM dbo.Category";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.CategoryDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.CategoryDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.CategoryDataTable dataTable = new user05DataSet.CategoryDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.CategoryDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Category");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_CategoryId, string Original_CategoryName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_CategoryId));
+            if ((Original_CategoryName == null)) {
+                throw new global::System.ArgumentNullException("Original_CategoryName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_CategoryName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string CategoryName) {
+            if ((CategoryName == null)) {
+                throw new global::System.ArgumentNullException("CategoryName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CategoryName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string CategoryName, int Original_CategoryId, string Original_CategoryName, int CategoryId) {
+            if ((CategoryName == null)) {
+                throw new global::System.ArgumentNullException("CategoryName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CategoryName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_CategoryId));
+            if ((Original_CategoryName == null)) {
+                throw new global::System.ArgumentNullException("Original_CategoryName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_CategoryName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(CategoryId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string CategoryName, int Original_CategoryId, string Original_CategoryName) {
+            return this.Update(CategoryName, Original_CategoryId, Original_CategoryName, Original_CategoryId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class CityTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public CityTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "City";
+            tableMapping.ColumnMappings.Add("CityId", "CityId");
+            tableMapping.ColumnMappings.Add("CityName", "CityName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[City] WHERE (([CityId] = @Original_CityId) AND ([CityName] = @" +
+                "Original_CityName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CityId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CityName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[City] ([CityName]) VALUES (@CityName);\r\nSELECT CityId, CityNam" +
+                "e FROM City WHERE (CityId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CityName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[City] SET [CityName] = @CityName WHERE (([CityId] = @Original_CityI" +
+                "d) AND ([CityName] = @Original_CityName));\r\nSELECT CityId, CityName FROM City WH" +
+                "ERE (CityId = @CityId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CityName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CityId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CityName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CityId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT CityId, CityName FROM dbo.City";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.CityDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.CityDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.CityDataTable dataTable = new user05DataSet.CityDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.CityDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "City");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_CityId, string Original_CityName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_CityId));
+            if ((Original_CityName == null)) {
+                throw new global::System.ArgumentNullException("Original_CityName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_CityName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string CityName) {
+            if ((CityName == null)) {
+                throw new global::System.ArgumentNullException("CityName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(CityName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string CityName, int Original_CityId, string Original_CityName, int CityId) {
+            if ((CityName == null)) {
+                throw new global::System.ArgumentNullException("CityName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(CityName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_CityId));
+            if ((Original_CityName == null)) {
+                throw new global::System.ArgumentNullException("Original_CityName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_CityName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(CityId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string CityName, int Original_CityId, string Original_CityName) {
+            return this.Update(CityName, Original_CityId, Original_CityName, Original_CityId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class ManufacturerTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public ManufacturerTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Manufacturer";
+            tableMapping.ColumnMappings.Add("ManufacturerId", "ManufacturerId");
+            tableMapping.ColumnMappings.Add("ManufacturerName", "ManufacturerName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[Manufacturer] WHERE (([ManufacturerId] = @Original_Manufacture" +
+                "rId) AND ([ManufacturerName] = @Original_ManufacturerName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ManufacturerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ManufacturerName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Manufacturer] ([ManufacturerName]) VALUES (@ManufacturerName);" +
+                "\r\nSELECT ManufacturerId, ManufacturerName FROM Manufacturer WHERE (ManufacturerI" +
+                "d = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ManufacturerName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Manufacturer] SET [ManufacturerName] = @ManufacturerName WHERE (([ManufacturerId] = @Original_ManufacturerId) AND ([ManufacturerName] = @Original_ManufacturerName));
+SELECT ManufacturerId, ManufacturerName FROM Manufacturer WHERE (ManufacturerId = @ManufacturerId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ManufacturerName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ManufacturerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ManufacturerName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ManufacturerId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT ManufacturerId, ManufacturerName FROM dbo.Manufacturer";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.ManufacturerDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.ManufacturerDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.ManufacturerDataTable dataTable = new user05DataSet.ManufacturerDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.ManufacturerDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Manufacturer");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_ManufacturerId, string Original_ManufacturerName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_ManufacturerId));
+            if ((Original_ManufacturerName == null)) {
+                throw new global::System.ArgumentNullException("Original_ManufacturerName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_ManufacturerName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string ManufacturerName) {
+            if ((ManufacturerName == null)) {
+                throw new global::System.ArgumentNullException("ManufacturerName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(ManufacturerName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string ManufacturerName, int Original_ManufacturerId, string Original_ManufacturerName, int ManufacturerId) {
+            if ((ManufacturerName == null)) {
+                throw new global::System.ArgumentNullException("ManufacturerName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(ManufacturerName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_ManufacturerId));
+            if ((Original_ManufacturerName == null)) {
+                throw new global::System.ArgumentNullException("Original_ManufacturerName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_ManufacturerName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(ManufacturerId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string ManufacturerName, int Original_ManufacturerId, string Original_ManufacturerName) {
+            return this.Update(ManufacturerName, Original_ManufacturerId, Original_ManufacturerName, Original_ManufacturerId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class OrderTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public OrderTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Order";
+            tableMapping.ColumnMappings.Add("OrderId", "OrderId");
+            tableMapping.ColumnMappings.Add("OrderDate", "OrderDate");
+            tableMapping.ColumnMappings.Add("DeliveryDate", "DeliveryDate");
+            tableMapping.ColumnMappings.Add("PickupPointId", "PickupPointId");
+            tableMapping.ColumnMappings.Add("ClientUserId", "ClientUserId");
+            tableMapping.ColumnMappings.Add("ReceiveCode", "ReceiveCode");
+            tableMapping.ColumnMappings.Add("StatusId", "StatusId");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[Order] WHERE (([OrderId] = @Original_OrderId) AND ((@IsNull_OrderDate = 1 AND [OrderDate] IS NULL) OR ([OrderDate] = @Original_OrderDate)) AND ((@IsNull_DeliveryDate = 1 AND [DeliveryDate] IS NULL) OR ([DeliveryDate] = @Original_DeliveryDate)) AND ([PickupPointId] = @Original_PickupPointId) AND ((@IsNull_ClientUserId = 1 AND [ClientUserId] IS NULL) OR ([ClientUserId] = @Original_ClientUserId)) AND ((@IsNull_ReceiveCode = 1 AND [ReceiveCode] IS NULL) OR ([ReceiveCode] = @Original_ReceiveCode)) AND ([StatusId] = @Original_StatusId))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_OrderDate", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderDate", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderDate", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_DeliveryDate", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_DeliveryDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ClientUserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientUserId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientUserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientUserId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ReceiveCode", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ReceiveCode", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ReceiveCode", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ReceiveCode", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_StatusId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[Order] ([OrderId], [OrderDate], [DeliveryDate], [PickupPointId], [ClientUserId], [ReceiveCode], [StatusId]) VALUES (@OrderId, @OrderDate, @DeliveryDate, @PickupPointId, @ClientUserId, @ReceiveCode, @StatusId);
+SELECT OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode, StatusId FROM [Order] WHERE (OrderId = @OrderId)";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderDate", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DeliveryDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientUserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientUserId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ReceiveCode", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ReceiveCode", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@StatusId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Order] SET [OrderId] = @OrderId, [OrderDate] = @OrderDate, [DeliveryDate] = @DeliveryDate, [PickupPointId] = @PickupPointId, [ClientUserId] = @ClientUserId, [ReceiveCode] = @ReceiveCode, [StatusId] = @StatusId WHERE (([OrderId] = @Original_OrderId) AND ((@IsNull_OrderDate = 1 AND [OrderDate] IS NULL) OR ([OrderDate] = @Original_OrderDate)) AND ((@IsNull_DeliveryDate = 1 AND [DeliveryDate] IS NULL) OR ([DeliveryDate] = @Original_DeliveryDate)) AND ([PickupPointId] = @Original_PickupPointId) AND ((@IsNull_ClientUserId = 1 AND [ClientUserId] IS NULL) OR ([ClientUserId] = @Original_ClientUserId)) AND ((@IsNull_ReceiveCode = 1 AND [ReceiveCode] IS NULL) OR ([ReceiveCode] = @Original_ReceiveCode)) AND ([StatusId] = @Original_StatusId));
+SELECT OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode, StatusId FROM [Order] WHERE (OrderId = @OrderId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderDate", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DeliveryDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientUserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientUserId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ReceiveCode", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ReceiveCode", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@StatusId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_OrderDate", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderDate", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderDate", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_DeliveryDate", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_DeliveryDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ClientUserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientUserId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientUserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientUserId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ReceiveCode", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ReceiveCode", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ReceiveCode", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ReceiveCode", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_StatusId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode" +
+                ", StatusId FROM dbo.[Order]";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.OrderDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.OrderDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.OrderDataTable dataTable = new user05DataSet.OrderDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.OrderDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Order");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_OrderId, global::System.Nullable<global::System.DateTime> Original_OrderDate, global::System.Nullable<global::System.DateTime> Original_DeliveryDate, int Original_PickupPointId, global::System.Nullable<int> Original_ClientUserId, global::System.Nullable<int> Original_ReceiveCode, int Original_StatusId) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_OrderId));
+            if ((Original_OrderDate.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((System.DateTime)(Original_OrderDate.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            if ((Original_DeliveryDate.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[4].Value = ((System.DateTime)(Original_DeliveryDate.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.DeleteCommand.Parameters[5].Value = ((int)(Original_PickupPointId));
+            if ((Original_ClientUserId.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[6].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[7].Value = ((int)(Original_ClientUserId.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[6].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[7].Value = global::System.DBNull.Value;
+            }
+            if ((Original_ReceiveCode.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[8].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[9].Value = ((int)(Original_ReceiveCode.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[8].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.DeleteCommand.Parameters[10].Value = ((int)(Original_StatusId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(int OrderId, global::System.Nullable<global::System.DateTime> OrderDate, global::System.Nullable<global::System.DateTime> DeliveryDate, int PickupPointId, global::System.Nullable<int> ClientUserId, global::System.Nullable<int> ReceiveCode, int StatusId) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((int)(OrderId));
+            if ((OrderDate.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((System.DateTime)(OrderDate.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            if ((DeliveryDate.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[2].Value = ((System.DateTime)(DeliveryDate.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.InsertCommand.Parameters[3].Value = ((int)(PickupPointId));
+            if ((ClientUserId.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[4].Value = ((int)(ClientUserId.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            if ((ReceiveCode.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[5].Value = ((int)(ReceiveCode.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.InsertCommand.Parameters[6].Value = ((int)(StatusId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(int OrderId, global::System.Nullable<global::System.DateTime> OrderDate, global::System.Nullable<global::System.DateTime> DeliveryDate, int PickupPointId, global::System.Nullable<int> ClientUserId, global::System.Nullable<int> ReceiveCode, int StatusId, int Original_OrderId, global::System.Nullable<global::System.DateTime> Original_OrderDate, global::System.Nullable<global::System.DateTime> Original_DeliveryDate, int Original_PickupPointId, global::System.Nullable<int> Original_ClientUserId, global::System.Nullable<int> Original_ReceiveCode, int Original_StatusId) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((int)(OrderId));
+            if ((OrderDate.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((System.DateTime)(OrderDate.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            if ((DeliveryDate.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((System.DateTime)(DeliveryDate.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(PickupPointId));
+            if ((ClientUserId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((int)(ClientUserId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            if ((ReceiveCode.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(ReceiveCode.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[6].Value = ((int)(StatusId));
+            this.Adapter.UpdateCommand.Parameters[7].Value = ((int)(Original_OrderId));
+            if ((Original_OrderDate.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((System.DateTime)(Original_OrderDate.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            if ((Original_DeliveryDate.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[11].Value = ((System.DateTime)(Original_DeliveryDate.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[12].Value = ((int)(Original_PickupPointId));
+            if ((Original_ClientUserId.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[14].Value = ((int)(Original_ClientUserId.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[14].Value = global::System.DBNull.Value;
+            }
+            if ((Original_ReceiveCode.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[15].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[16].Value = ((int)(Original_ReceiveCode.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[15].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[16].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[17].Value = ((int)(Original_StatusId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(global::System.Nullable<global::System.DateTime> OrderDate, global::System.Nullable<global::System.DateTime> DeliveryDate, int PickupPointId, global::System.Nullable<int> ClientUserId, global::System.Nullable<int> ReceiveCode, int StatusId, int Original_OrderId, global::System.Nullable<global::System.DateTime> Original_OrderDate, global::System.Nullable<global::System.DateTime> Original_DeliveryDate, int Original_PickupPointId, global::System.Nullable<int> Original_ClientUserId, global::System.Nullable<int> Original_ReceiveCode, int Original_StatusId) {
+            return this.Update(Original_OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode, StatusId, Original_OrderId, Original_OrderDate, Original_DeliveryDate, Original_PickupPointId, Original_ClientUserId, Original_ReceiveCode, Original_StatusId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class OrderItemTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public OrderItemTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "OrderItem";
+            tableMapping.ColumnMappings.Add("OrderItemId", "OrderItemId");
+            tableMapping.ColumnMappings.Add("OrderId", "OrderId");
+            tableMapping.ColumnMappings.Add("Article", "Article");
+            tableMapping.ColumnMappings.Add("Quantity", "Quantity");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[OrderItem] WHERE (([OrderItemId] = @Original_OrderItemId) AND " +
+                "([OrderId] = @Original_OrderId) AND ([Article] = @Original_Article) AND ([Quanti" +
+                "ty] = @Original_Quantity))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderItemId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderItemId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Quantity", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Quantity", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[OrderItem] ([OrderId], [Article], [Quantity]) VALUES (@OrderId" +
+                ", @Article, @Quantity);\r\nSELECT OrderItemId, OrderId, Article, Quantity FROM Ord" +
+                "erItem WHERE (OrderItemId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Quantity", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Quantity", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[OrderItem] SET [OrderId] = @OrderId, [Article] = @Article, [Quantity] = @Quantity WHERE (([OrderItemId] = @Original_OrderItemId) AND ([OrderId] = @Original_OrderId) AND ([Article] = @Original_Article) AND ([Quantity] = @Original_Quantity));
+SELECT OrderItemId, OrderId, Article, Quantity FROM OrderItem WHERE (OrderItemId = @OrderItemId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Quantity", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Quantity", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderItemId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderItemId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrderId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrderId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Quantity", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Quantity", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrderItemId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "OrderItemId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT OrderItemId, OrderId, Article, Quantity FROM dbo.OrderItem";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.OrderItemDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.OrderItemDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.OrderItemDataTable dataTable = new user05DataSet.OrderItemDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.OrderItemDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "OrderItem");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_OrderItemId, int Original_OrderId, string Original_Article, int Original_Quantity) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_OrderItemId));
+            this.Adapter.DeleteCommand.Parameters[1].Value = ((int)(Original_OrderId));
+            if ((Original_Article == null)) {
+                throw new global::System.ArgumentNullException("Original_Article");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_Article));
+            }
+            this.Adapter.DeleteCommand.Parameters[3].Value = ((int)(Original_Quantity));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(int OrderId, string Article, int Quantity) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((int)(OrderId));
+            if ((Article == null)) {
+                throw new global::System.ArgumentNullException("Article");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((string)(Article));
+            }
+            this.Adapter.InsertCommand.Parameters[2].Value = ((int)(Quantity));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(int OrderId, string Article, int Quantity, int Original_OrderItemId, int Original_OrderId, string Original_Article, int Original_Quantity, int OrderItemId) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((int)(OrderId));
+            if ((Article == null)) {
+                throw new global::System.ArgumentNullException("Article");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(Article));
+            }
+            this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(Quantity));
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(Original_OrderItemId));
+            this.Adapter.UpdateCommand.Parameters[4].Value = ((int)(Original_OrderId));
+            if ((Original_Article == null)) {
+                throw new global::System.ArgumentNullException("Original_Article");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[5].Value = ((string)(Original_Article));
+            }
+            this.Adapter.UpdateCommand.Parameters[6].Value = ((int)(Original_Quantity));
+            this.Adapter.UpdateCommand.Parameters[7].Value = ((int)(OrderItemId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(int OrderId, string Article, int Quantity, int Original_OrderItemId, int Original_OrderId, string Original_Article, int Original_Quantity) {
+            return this.Update(OrderId, Article, Quantity, Original_OrderItemId, Original_OrderId, Original_Article, Original_Quantity, Original_OrderItemId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class OrderStatusTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public OrderStatusTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "OrderStatus";
+            tableMapping.ColumnMappings.Add("StatusId", "StatusId");
+            tableMapping.ColumnMappings.Add("StatusName", "StatusName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[OrderStatus] WHERE (([StatusId] = @Original_StatusId) AND ([St" +
+                "atusName] = @Original_StatusName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_StatusId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_StatusName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[OrderStatus] ([StatusName]) VALUES (@StatusName);\r\nSELECT Stat" +
+                "usId, StatusName FROM OrderStatus WHERE (StatusId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@StatusName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[OrderStatus] SET [StatusName] = @StatusName WHERE (([StatusId] = @O" +
+                "riginal_StatusId) AND ([StatusName] = @Original_StatusName));\r\nSELECT StatusId, " +
+                "StatusName FROM OrderStatus WHERE (StatusId = @StatusId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@StatusName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_StatusId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_StatusName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "StatusName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@StatusId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "StatusId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT StatusId, StatusName FROM dbo.OrderStatus";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.OrderStatusDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.OrderStatusDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.OrderStatusDataTable dataTable = new user05DataSet.OrderStatusDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.OrderStatusDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "OrderStatus");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_StatusId, string Original_StatusName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_StatusId));
+            if ((Original_StatusName == null)) {
+                throw new global::System.ArgumentNullException("Original_StatusName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_StatusName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string StatusName) {
+            if ((StatusName == null)) {
+                throw new global::System.ArgumentNullException("StatusName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(StatusName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string StatusName, int Original_StatusId, string Original_StatusName, int StatusId) {
+            if ((StatusName == null)) {
+                throw new global::System.ArgumentNullException("StatusName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(StatusName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_StatusId));
+            if ((Original_StatusName == null)) {
+                throw new global::System.ArgumentNullException("Original_StatusName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_StatusName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(StatusId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string StatusName, int Original_StatusId, string Original_StatusName) {
+            return this.Update(StatusName, Original_StatusId, Original_StatusName, Original_StatusId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class PickupPointTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public PickupPointTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "PickupPoint";
+            tableMapping.ColumnMappings.Add("PickupPointId", "PickupPointId");
+            tableMapping.ColumnMappings.Add("PostalCode", "PostalCode");
+            tableMapping.ColumnMappings.Add("CityId", "CityId");
+            tableMapping.ColumnMappings.Add("Street", "Street");
+            tableMapping.ColumnMappings.Add("House", "House");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[PickupPoint] WHERE (([PickupPointId] = @Original_PickupPointId" +
+                ") AND ([PostalCode] = @Original_PostalCode) AND ([CityId] = @Original_CityId) AN" +
+                "D ([Street] = @Original_Street) AND ([House] = @Original_House))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PostalCode", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PostalCode", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CityId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Street", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Street", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_House", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "House", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[PickupPoint] ([PickupPointId], [PostalCode], [CityId], [Street], [House]) VALUES (@PickupPointId, @PostalCode, @CityId, @Street, @House);
+SELECT PickupPointId, PostalCode, CityId, Street, House FROM PickupPoint WHERE (PickupPointId = @PickupPointId)";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PostalCode", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PostalCode", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CityId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Street", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Street", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@House", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "House", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[PickupPoint] SET [PickupPointId] = @PickupPointId, [PostalCode] = @PostalCode, [CityId] = @CityId, [Street] = @Street, [House] = @House WHERE (([PickupPointId] = @Original_PickupPointId) AND ([PostalCode] = @Original_PostalCode) AND ([CityId] = @Original_CityId) AND ([Street] = @Original_Street) AND ([House] = @Original_House));
+SELECT PickupPointId, PostalCode, CityId, Street, House FROM PickupPoint WHERE (PickupPointId = @PickupPointId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PostalCode", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PostalCode", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CityId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Street", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Street", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@House", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "House", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PickupPointId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PickupPointId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PostalCode", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PostalCode", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CityId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CityId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Street", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Street", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_House", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "House", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT PickupPointId, PostalCode, CityId, Street, House FROM dbo.PickupPoint";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.PickupPointDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.PickupPointDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.PickupPointDataTable dataTable = new user05DataSet.PickupPointDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.PickupPointDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "PickupPoint");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_PickupPointId, string Original_PostalCode, int Original_CityId, string Original_Street, string Original_House) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_PickupPointId));
+            if ((Original_PostalCode == null)) {
+                throw new global::System.ArgumentNullException("Original_PostalCode");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_PostalCode));
+            }
+            this.Adapter.DeleteCommand.Parameters[2].Value = ((int)(Original_CityId));
+            if ((Original_Street == null)) {
+                throw new global::System.ArgumentNullException("Original_Street");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[3].Value = ((string)(Original_Street));
+            }
+            if ((Original_House == null)) {
+                throw new global::System.ArgumentNullException("Original_House");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_House));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(int PickupPointId, string PostalCode, int CityId, string Street, string House) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((int)(PickupPointId));
+            if ((PostalCode == null)) {
+                throw new global::System.ArgumentNullException("PostalCode");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((string)(PostalCode));
+            }
+            this.Adapter.InsertCommand.Parameters[2].Value = ((int)(CityId));
+            if ((Street == null)) {
+                throw new global::System.ArgumentNullException("Street");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[3].Value = ((string)(Street));
+            }
+            if ((House == null)) {
+                throw new global::System.ArgumentNullException("House");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[4].Value = ((string)(House));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(int PickupPointId, string PostalCode, int CityId, string Street, string House, int Original_PickupPointId, string Original_PostalCode, int Original_CityId, string Original_Street, string Original_House) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((int)(PickupPointId));
+            if ((PostalCode == null)) {
+                throw new global::System.ArgumentNullException("PostalCode");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(PostalCode));
+            }
+            this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(CityId));
+            if ((Street == null)) {
+                throw new global::System.ArgumentNullException("Street");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(Street));
+            }
+            if ((House == null)) {
+                throw new global::System.ArgumentNullException("House");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(House));
+            }
+            this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(Original_PickupPointId));
+            if ((Original_PostalCode == null)) {
+                throw new global::System.ArgumentNullException("Original_PostalCode");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[6].Value = ((string)(Original_PostalCode));
+            }
+            this.Adapter.UpdateCommand.Parameters[7].Value = ((int)(Original_CityId));
+            if ((Original_Street == null)) {
+                throw new global::System.ArgumentNullException("Original_Street");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(Original_Street));
+            }
+            if ((Original_House == null)) {
+                throw new global::System.ArgumentNullException("Original_House");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(Original_House));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string PostalCode, int CityId, string Street, string House, int Original_PickupPointId, string Original_PostalCode, int Original_CityId, string Original_Street, string Original_House) {
+            return this.Update(Original_PickupPointId, PostalCode, CityId, Street, House, Original_PickupPointId, Original_PostalCode, Original_CityId, Original_Street, Original_House);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class ProductTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public ProductTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Product";
+            tableMapping.ColumnMappings.Add("ProductId", "ProductId");
+            tableMapping.ColumnMappings.Add("Article", "Article");
+            tableMapping.ColumnMappings.Add("Name", "Name");
+            tableMapping.ColumnMappings.Add("UnitId", "UnitId");
+            tableMapping.ColumnMappings.Add("Price", "Price");
+            tableMapping.ColumnMappings.Add("SupplierId", "SupplierId");
+            tableMapping.ColumnMappings.Add("ManufacturerId", "ManufacturerId");
+            tableMapping.ColumnMappings.Add("CategoryId", "CategoryId");
+            tableMapping.ColumnMappings.Add("Discount", "Discount");
+            tableMapping.ColumnMappings.Add("Stock", "Stock");
+            tableMapping.ColumnMappings.Add("Description", "Description");
+            tableMapping.ColumnMappings.Add("Photo", "Photo");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[Product] WHERE (([ProductId] = @Original_ProductId) AND ([Article] = @Original_Article) AND ([Name] = @Original_Name) AND ([UnitId] = @Original_UnitId) AND ([Price] = @Original_Price) AND ([SupplierId] = @Original_SupplierId) AND ([ManufacturerId] = @Original_ManufacturerId) AND ([CategoryId] = @Original_CategoryId) AND ([Discount] = @Original_Discount) AND ([Stock] = @Original_Stock) AND ((@IsNull_Photo = 1 AND [Photo] IS NULL) OR ([Photo] = @Original_Photo)))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ProductId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProductId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Name", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UnitId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Price", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 10, 2, "Price", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_SupplierId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ManufacturerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CategoryId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Discount", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Discount", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Stock", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Stock", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Photo", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Photo", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Photo", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Photo", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[Product] ([Article], [Name], [UnitId], [Price], [SupplierId], [ManufacturerId], [CategoryId], [Discount], [Stock], [Description], [Photo]) VALUES (@Article, @Name, @UnitId, @Price, @SupplierId, @ManufacturerId, @CategoryId, @Discount, @Stock, @Description, @Photo);
+SELECT ProductId, Article, Name, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Stock, Description, Photo FROM Product WHERE (ProductId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Name", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UnitId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Price", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 10, 2, "Price", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SupplierId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ManufacturerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CategoryId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Discount", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Discount", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Stock", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Stock", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Description", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Description", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Photo", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Photo", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[Product] SET [Article] = @Article, [Name] = @Name, [UnitId] = @UnitId, [Price] = @Price, [SupplierId] = @SupplierId, [ManufacturerId] = @ManufacturerId, [CategoryId] = @CategoryId, [Discount] = @Discount, [Stock] = @Stock, [Description] = @Description, [Photo] = @Photo WHERE (([ProductId] = @Original_ProductId) AND ([Article] = @Original_Article) AND ([Name] = @Original_Name) AND ([UnitId] = @Original_UnitId) AND ([Price] = @Original_Price) AND ([SupplierId] = @Original_SupplierId) AND ([ManufacturerId] = @Original_ManufacturerId) AND ([CategoryId] = @Original_CategoryId) AND ([Discount] = @Original_Discount) AND ([Stock] = @Original_Stock) AND ((@IsNull_Photo = 1 AND [Photo] IS NULL) OR ([Photo] = @Original_Photo)));
+SELECT ProductId, Article, Name, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Stock, Description, Photo FROM Product WHERE (ProductId = @ProductId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Name", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UnitId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Price", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 10, 2, "Price", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SupplierId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ManufacturerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CategoryId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Discount", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Discount", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Stock", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Stock", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Description", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Description", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Photo", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Photo", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ProductId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ProductId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Article", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Article", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Name", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Name", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UnitId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Price", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 10, 2, "Price", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_SupplierId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ManufacturerId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ManufacturerId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CategoryId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CategoryId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Discount", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Discount", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Stock", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Stock", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_Photo", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Photo", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Photo", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Photo", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ProductId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "ProductId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT ProductId, Article, Name, UnitId, Price, SupplierId, ManufacturerId, Categ" +
+                "oryId, Discount, Stock, Description, Photo FROM dbo.Product";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.ProductDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.ProductDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.ProductDataTable dataTable = new user05DataSet.ProductDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.ProductDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Product");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_ProductId, string Original_Article, string Original_Name, int Original_UnitId, decimal Original_Price, int Original_SupplierId, int Original_ManufacturerId, int Original_CategoryId, int Original_Discount, int Original_Stock, string Original_Photo) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_ProductId));
+            if ((Original_Article == null)) {
+                throw new global::System.ArgumentNullException("Original_Article");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_Article));
+            }
+            if ((Original_Name == null)) {
+                throw new global::System.ArgumentNullException("Original_Name");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_Name));
+            }
+            this.Adapter.DeleteCommand.Parameters[3].Value = ((int)(Original_UnitId));
+            this.Adapter.DeleteCommand.Parameters[4].Value = ((decimal)(Original_Price));
+            this.Adapter.DeleteCommand.Parameters[5].Value = ((int)(Original_SupplierId));
+            this.Adapter.DeleteCommand.Parameters[6].Value = ((int)(Original_ManufacturerId));
+            this.Adapter.DeleteCommand.Parameters[7].Value = ((int)(Original_CategoryId));
+            this.Adapter.DeleteCommand.Parameters[8].Value = ((int)(Original_Discount));
+            this.Adapter.DeleteCommand.Parameters[9].Value = ((int)(Original_Stock));
+            if ((Original_Photo == null)) {
+                this.Adapter.DeleteCommand.Parameters[10].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[11].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[10].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[11].Value = ((string)(Original_Photo));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string Article, string Name, int UnitId, decimal Price, int SupplierId, int ManufacturerId, int CategoryId, int Discount, int Stock, string Description, string Photo) {
+            if ((Article == null)) {
+                throw new global::System.ArgumentNullException("Article");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(Article));
+            }
+            if ((Name == null)) {
+                throw new global::System.ArgumentNullException("Name");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((string)(Name));
+            }
+            this.Adapter.InsertCommand.Parameters[2].Value = ((int)(UnitId));
+            this.Adapter.InsertCommand.Parameters[3].Value = ((decimal)(Price));
+            this.Adapter.InsertCommand.Parameters[4].Value = ((int)(SupplierId));
+            this.Adapter.InsertCommand.Parameters[5].Value = ((int)(ManufacturerId));
+            this.Adapter.InsertCommand.Parameters[6].Value = ((int)(CategoryId));
+            this.Adapter.InsertCommand.Parameters[7].Value = ((int)(Discount));
+            this.Adapter.InsertCommand.Parameters[8].Value = ((int)(Stock));
+            if ((Description == null)) {
+                this.Adapter.InsertCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[9].Value = ((string)(Description));
+            }
+            if ((Photo == null)) {
+                this.Adapter.InsertCommand.Parameters[10].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[10].Value = ((string)(Photo));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(
+                    string Article, 
+                    string Name, 
+                    int UnitId, 
+                    decimal Price, 
+                    int SupplierId, 
+                    int ManufacturerId, 
+                    int CategoryId, 
+                    int Discount, 
+                    int Stock, 
+                    string Description, 
+                    string Photo, 
+                    int Original_ProductId, 
+                    string Original_Article, 
+                    string Original_Name, 
+                    int Original_UnitId, 
+                    decimal Original_Price, 
+                    int Original_SupplierId, 
+                    int Original_ManufacturerId, 
+                    int Original_CategoryId, 
+                    int Original_Discount, 
+                    int Original_Stock, 
+                    string Original_Photo, 
+                    int ProductId) {
+            if ((Article == null)) {
+                throw new global::System.ArgumentNullException("Article");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(Article));
+            }
+            if ((Name == null)) {
+                throw new global::System.ArgumentNullException("Name");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(Name));
+            }
+            this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(UnitId));
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((decimal)(Price));
+            this.Adapter.UpdateCommand.Parameters[4].Value = ((int)(SupplierId));
+            this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(ManufacturerId));
+            this.Adapter.UpdateCommand.Parameters[6].Value = ((int)(CategoryId));
+            this.Adapter.UpdateCommand.Parameters[7].Value = ((int)(Discount));
+            this.Adapter.UpdateCommand.Parameters[8].Value = ((int)(Stock));
+            if ((Description == null)) {
+                this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(Description));
+            }
+            if ((Photo == null)) {
+                this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((string)(Photo));
+            }
+            this.Adapter.UpdateCommand.Parameters[11].Value = ((int)(Original_ProductId));
+            if ((Original_Article == null)) {
+                throw new global::System.ArgumentNullException("Original_Article");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((string)(Original_Article));
+            }
+            if ((Original_Name == null)) {
+                throw new global::System.ArgumentNullException("Original_Name");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((string)(Original_Name));
+            }
+            this.Adapter.UpdateCommand.Parameters[14].Value = ((int)(Original_UnitId));
+            this.Adapter.UpdateCommand.Parameters[15].Value = ((decimal)(Original_Price));
+            this.Adapter.UpdateCommand.Parameters[16].Value = ((int)(Original_SupplierId));
+            this.Adapter.UpdateCommand.Parameters[17].Value = ((int)(Original_ManufacturerId));
+            this.Adapter.UpdateCommand.Parameters[18].Value = ((int)(Original_CategoryId));
+            this.Adapter.UpdateCommand.Parameters[19].Value = ((int)(Original_Discount));
+            this.Adapter.UpdateCommand.Parameters[20].Value = ((int)(Original_Stock));
+            if ((Original_Photo == null)) {
+                this.Adapter.UpdateCommand.Parameters[21].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[22].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[21].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[22].Value = ((string)(Original_Photo));
+            }
+            this.Adapter.UpdateCommand.Parameters[23].Value = ((int)(ProductId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(
+                    string Article, 
+                    string Name, 
+                    int UnitId, 
+                    decimal Price, 
+                    int SupplierId, 
+                    int ManufacturerId, 
+                    int CategoryId, 
+                    int Discount, 
+                    int Stock, 
+                    string Description, 
+                    string Photo, 
+                    int Original_ProductId, 
+                    string Original_Article, 
+                    string Original_Name, 
+                    int Original_UnitId, 
+                    decimal Original_Price, 
+                    int Original_SupplierId, 
+                    int Original_ManufacturerId, 
+                    int Original_CategoryId, 
+                    int Original_Discount, 
+                    int Original_Stock, 
+                    string Original_Photo) {
+            return this.Update(Article, Name, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Stock, Description, Photo, Original_ProductId, Original_Article, Original_Name, Original_UnitId, Original_Price, Original_SupplierId, Original_ManufacturerId, Original_CategoryId, Original_Discount, Original_Stock, Original_Photo, Original_ProductId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class RoleTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public RoleTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Role";
+            tableMapping.ColumnMappings.Add("RoleId", "RoleId");
+            tableMapping.ColumnMappings.Add("RoleName", "RoleName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[Role] WHERE (([RoleId] = @Original_RoleId) AND ([RoleName] = @" +
+                "Original_RoleName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_RoleId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_RoleName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Role] ([RoleName]) VALUES (@RoleName);\r\nSELECT RoleId, RoleNam" +
+                "e FROM Role WHERE (RoleId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RoleName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[Role] SET [RoleName] = @RoleName WHERE (([RoleId] = @Original_RoleI" +
+                "d) AND ([RoleName] = @Original_RoleName));\r\nSELECT RoleId, RoleName FROM Role WH" +
+                "ERE (RoleId = @RoleId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RoleName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_RoleId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_RoleName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RoleId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT RoleId, RoleName FROM dbo.Role";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.RoleDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.RoleDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.RoleDataTable dataTable = new user05DataSet.RoleDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.RoleDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Role");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_RoleId, string Original_RoleName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_RoleId));
+            if ((Original_RoleName == null)) {
+                throw new global::System.ArgumentNullException("Original_RoleName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_RoleName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string RoleName) {
+            if ((RoleName == null)) {
+                throw new global::System.ArgumentNullException("RoleName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(RoleName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string RoleName, int Original_RoleId, string Original_RoleName, int RoleId) {
+            if ((RoleName == null)) {
+                throw new global::System.ArgumentNullException("RoleName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(RoleName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_RoleId));
+            if ((Original_RoleName == null)) {
+                throw new global::System.ArgumentNullException("Original_RoleName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_RoleName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(RoleId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string RoleName, int Original_RoleId, string Original_RoleName) {
+            return this.Update(RoleName, Original_RoleId, Original_RoleName, Original_RoleId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class SupplierTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public SupplierTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Supplier";
+            tableMapping.ColumnMappings.Add("SupplierId", "SupplierId");
+            tableMapping.ColumnMappings.Add("SupplierName", "SupplierName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[Supplier] WHERE (([SupplierId] = @Original_SupplierId) AND ([S" +
+                "upplierName] = @Original_SupplierName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_SupplierId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_SupplierName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Supplier] ([SupplierName]) VALUES (@SupplierName);\r\nSELECT Sup" +
+                "plierId, SupplierName FROM Supplier WHERE (SupplierId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SupplierName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[Supplier] SET [SupplierName] = @SupplierName WHERE (([SupplierId] =" +
+                " @Original_SupplierId) AND ([SupplierName] = @Original_SupplierName));\r\nSELECT S" +
+                "upplierId, SupplierName FROM Supplier WHERE (SupplierId = @SupplierId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SupplierName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_SupplierId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_SupplierName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SupplierId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "SupplierId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT SupplierId, SupplierName FROM dbo.Supplier";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.SupplierDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.SupplierDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.SupplierDataTable dataTable = new user05DataSet.SupplierDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.SupplierDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Supplier");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_SupplierId, string Original_SupplierName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_SupplierId));
+            if ((Original_SupplierName == null)) {
+                throw new global::System.ArgumentNullException("Original_SupplierName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_SupplierName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string SupplierName) {
+            if ((SupplierName == null)) {
+                throw new global::System.ArgumentNullException("SupplierName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(SupplierName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string SupplierName, int Original_SupplierId, string Original_SupplierName, int SupplierId) {
+            if ((SupplierName == null)) {
+                throw new global::System.ArgumentNullException("SupplierName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(SupplierName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_SupplierId));
+            if ((Original_SupplierName == null)) {
+                throw new global::System.ArgumentNullException("Original_SupplierName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_SupplierName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(SupplierId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string SupplierName, int Original_SupplierId, string Original_SupplierName) {
+            return this.Update(SupplierName, Original_SupplierId, Original_SupplierName, Original_SupplierId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class UnitTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public UnitTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "Unit";
+            tableMapping.ColumnMappings.Add("UnitId", "UnitId");
+            tableMapping.ColumnMappings.Add("UnitName", "UnitName");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[Unit] WHERE (([UnitId] = @Original_UnitId) AND ([UnitName] = @" +
+                "Original_UnitName))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UnitId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UnitName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[Unit] ([UnitName]) VALUES (@UnitName);\r\nSELECT UnitId, UnitNam" +
+                "e FROM Unit WHERE (UnitId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UnitName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = "UPDATE [dbo].[Unit] SET [UnitName] = @UnitName WHERE (([UnitId] = @Original_UnitI" +
+                "d) AND ([UnitName] = @Original_UnitName));\r\nSELECT UnitId, UnitName FROM Unit WH" +
+                "ERE (UnitId = @UnitId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UnitName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UnitId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UnitName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UnitName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UnitId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "UnitId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT UnitId, UnitName FROM dbo.Unit";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.UnitDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.UnitDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.UnitDataTable dataTable = new user05DataSet.UnitDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.UnitDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "Unit");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_UnitId, string Original_UnitName) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_UnitId));
+            if ((Original_UnitName == null)) {
+                throw new global::System.ArgumentNullException("Original_UnitName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((string)(Original_UnitName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(string UnitName) {
+            if ((UnitName == null)) {
+                throw new global::System.ArgumentNullException("UnitName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[0].Value = ((string)(UnitName));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string UnitName, int Original_UnitId, string Original_UnitName, int UnitId) {
+            if ((UnitName == null)) {
+                throw new global::System.ArgumentNullException("UnitName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(UnitName));
+            }
+            this.Adapter.UpdateCommand.Parameters[1].Value = ((int)(Original_UnitId));
+            if ((Original_UnitName == null)) {
+                throw new global::System.ArgumentNullException("Original_UnitName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Original_UnitName));
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(UnitId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(string UnitName, int Original_UnitId, string Original_UnitName) {
+            return this.Update(UnitName, Original_UnitId, Original_UnitName, Original_UnitId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class UserTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public UserTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "User";
+            tableMapping.ColumnMappings.Add("UserId", "UserId");
+            tableMapping.ColumnMappings.Add("RoleId", "RoleId");
+            tableMapping.ColumnMappings.Add("FullName", "FullName");
+            tableMapping.ColumnMappings.Add("Login", "Login");
+            tableMapping.ColumnMappings.Add("Password", "Password");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[User] WHERE (([UserId] = @Original_UserId) AND ([RoleId] = @Or" +
+                "iginal_RoleId) AND ([FullName] = @Original_FullName) AND ([Login] = @Original_Lo" +
+                "gin) AND ([Password] = @Original_Password))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_RoleId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_FullName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "FullName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Login", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Password", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Password", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[User] ([RoleId], [FullName], [Login], [Password]) VALUES (@Rol" +
+                "eId, @FullName, @Login, @Password);\r\nSELECT UserId, RoleId, FullName, Login, Pas" +
+                "sword FROM [User] WHERE (UserId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RoleId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@FullName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "FullName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Login", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Password", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Password", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[User] SET [RoleId] = @RoleId, [FullName] = @FullName, [Login] = @Login, [Password] = @Password WHERE (([UserId] = @Original_UserId) AND ([RoleId] = @Original_RoleId) AND ([FullName] = @Original_FullName) AND ([Login] = @Original_Login) AND ([Password] = @Original_Password));
+SELECT UserId, RoleId, FullName, Login, Password FROM [User] WHERE (UserId = @UserId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RoleId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@FullName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "FullName", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Login", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Password", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Password", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_UserId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_RoleId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "RoleId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_FullName", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "FullName", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Login", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Login", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Password", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Password", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UserId", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "UserId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT UserId, RoleId, FullName, Login, Password FROM dbo.[User]";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.UserDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.UserDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.UserDataTable dataTable = new user05DataSet.UserDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet.UserDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(user05DataSet dataSet) {
+            return this.Adapter.Update(dataSet, "User");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(int Original_UserId, int Original_RoleId, string Original_FullName, string Original_Login, string Original_Password) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_UserId));
+            this.Adapter.DeleteCommand.Parameters[1].Value = ((int)(Original_RoleId));
+            if ((Original_FullName == null)) {
+                throw new global::System.ArgumentNullException("Original_FullName");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_FullName));
+            }
+            if ((Original_Login == null)) {
+                throw new global::System.ArgumentNullException("Original_Login");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[3].Value = ((string)(Original_Login));
+            }
+            if ((Original_Password == null)) {
+                throw new global::System.ArgumentNullException("Original_Password");
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[4].Value = ((string)(Original_Password));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(int RoleId, string FullName, string Login, string Password) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((int)(RoleId));
+            if ((FullName == null)) {
+                throw new global::System.ArgumentNullException("FullName");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((string)(FullName));
+            }
+            if ((Login == null)) {
+                throw new global::System.ArgumentNullException("Login");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[2].Value = ((string)(Login));
+            }
+            if ((Password == null)) {
+                throw new global::System.ArgumentNullException("Password");
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[3].Value = ((string)(Password));
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(int RoleId, string FullName, string Login, string Password, int Original_UserId, int Original_RoleId, string Original_FullName, string Original_Login, string Original_Password, int UserId) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((int)(RoleId));
+            if ((FullName == null)) {
+                throw new global::System.ArgumentNullException("FullName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(FullName));
+            }
+            if ((Login == null)) {
+                throw new global::System.ArgumentNullException("Login");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Login));
+            }
+            if ((Password == null)) {
+                throw new global::System.ArgumentNullException("Password");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(Password));
+            }
+            this.Adapter.UpdateCommand.Parameters[4].Value = ((int)(Original_UserId));
+            this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(Original_RoleId));
+            if ((Original_FullName == null)) {
+                throw new global::System.ArgumentNullException("Original_FullName");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[6].Value = ((string)(Original_FullName));
+            }
+            if ((Original_Login == null)) {
+                throw new global::System.ArgumentNullException("Original_Login");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[7].Value = ((string)(Original_Login));
+            }
+            if ((Original_Password == null)) {
+                throw new global::System.ArgumentNullException("Original_Password");
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(Original_Password));
+            }
+            this.Adapter.UpdateCommand.Parameters[9].Value = ((int)(UserId));
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(int RoleId, string FullName, string Login, string Password, int Original_UserId, int Original_RoleId, string Original_FullName, string Original_Login, string Original_Password) {
+            return this.Update(RoleId, FullName, Login, Password, Original_UserId, Original_RoleId, Original_FullName, Original_Login, Original_Password, Original_UserId);
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class vCatalogTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public vCatalogTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "vCatalog";
+            tableMapping.ColumnMappings.Add("Article", "Article");
+            tableMapping.ColumnMappings.Add("Фото", "Фото");
+            tableMapping.ColumnMappings.Add("Категория товара", "Категория товара");
+            tableMapping.ColumnMappings.Add("Наименование товара", "Наименование товара");
+            tableMapping.ColumnMappings.Add("Описание товара", "Описание товара");
+            tableMapping.ColumnMappings.Add("Производитель", "Производитель");
+            tableMapping.ColumnMappings.Add("Поставщик", "Поставщик");
+            tableMapping.ColumnMappings.Add("Цена", "Цена");
+            tableMapping.ColumnMappings.Add("Единица измерения", "Единица измерения");
+            tableMapping.ColumnMappings.Add("Кол-во на складе", "Кол-во на складе");
+            tableMapping.ColumnMappings.Add("Действующая скидка", "Действующая скидка");
+            this._adapter.TableMappings.Add(tableMapping);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT Article, Фото, [Категория товара], [Наименование товара], [Описание товара" +
+                "], Производитель, Поставщик, Цена, [Единица измерения], [Кол-во на складе], [Дей" +
+                "ствующая скидка] FROM dbo.vCatalog";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.vCatalogDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.vCatalogDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.vCatalogDataTable dataTable = new user05DataSet.vCatalogDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class vOrdersTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public vOrdersTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "vOrders";
+            tableMapping.ColumnMappings.Add("OrderId", "OrderId");
+            tableMapping.ColumnMappings.Add("Артикул заказа", "Артикул заказа");
+            tableMapping.ColumnMappings.Add("Статус заказа", "Статус заказа");
+            tableMapping.ColumnMappings.Add("Адрес пункта выдачи", "Адрес пункта выдачи");
+            tableMapping.ColumnMappings.Add("Дата заказа", "Дата заказа");
+            tableMapping.ColumnMappings.Add("Дата доставки", "Дата доставки");
+            this._adapter.TableMappings.Add(tableMapping);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT OrderId, [Артикул заказа], [Статус заказа], [Адрес пункта выдачи], [Дата з" +
+                "аказа], [Дата доставки] FROM dbo.vOrders";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.vOrdersDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.vOrdersDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.vOrdersDataTable dataTable = new user05DataSet.vOrdersDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+    }
+    
+    /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class vw_UsersLoginTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public vw_UsersLoginTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "vw_UsersLogin";
+            tableMapping.ColumnMappings.Add("UserId", "UserId");
+            tableMapping.ColumnMappings.Add("ФИО", "ФИО");
+            tableMapping.ColumnMappings.Add("Логин", "Логин");
+            tableMapping.ColumnMappings.Add("Пароль", "Пароль");
+            tableMapping.ColumnMappings.Add("Роль", "Роль");
+            this._adapter.TableMappings.Add(tableMapping);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::WindowsFormsApp1.Properties.Settings.Default.user05ConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT UserId, ФИО, Логин, Пароль, Роль FROM dbo.vw_UsersLogin";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(user05DataSet.vw_UsersLoginDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual user05DataSet.vw_UsersLoginDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            user05DataSet.vw_UsersLoginDataTable dataTable = new user05DataSet.vw_UsersLoginDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+    }
+    
+    /// <summary>
+    ///TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios
+    ///</summary>
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerDesigner, Microsoft.VSD" +
+        "esigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapterManager")]
+    public partial class TableAdapterManager : global::System.ComponentModel.Component {
+        
+        private UpdateOrderOption _updateOrder;
+        
+        private CategoryTableAdapter _categoryTableAdapter;
+        
+        private CityTableAdapter _cityTableAdapter;
+        
+        private ManufacturerTableAdapter _manufacturerTableAdapter;
+        
+        private OrderTableAdapter _orderTableAdapter;
+        
+        private OrderItemTableAdapter _orderItemTableAdapter;
+        
+        private OrderStatusTableAdapter _orderStatusTableAdapter;
+        
+        private PickupPointTableAdapter _pickupPointTableAdapter;
+        
+        private ProductTableAdapter _productTableAdapter;
+        
+        private RoleTableAdapter _roleTableAdapter;
+        
+        private SupplierTableAdapter _supplierTableAdapter;
+        
+        private UnitTableAdapter _unitTableAdapter;
+        
+        private UserTableAdapter _userTableAdapter;
+        
+        private bool _backupDataSetBeforeUpdate;
+        
+        private global::System.Data.IDbConnection _connection;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public UpdateOrderOption UpdateOrder {
+            get {
+                return this._updateOrder;
+            }
+            set {
+                this._updateOrder = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public CategoryTableAdapter CategoryTableAdapter {
+            get {
+                return this._categoryTableAdapter;
+            }
+            set {
+                this._categoryTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public CityTableAdapter CityTableAdapter {
+            get {
+                return this._cityTableAdapter;
+            }
+            set {
+                this._cityTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public ManufacturerTableAdapter ManufacturerTableAdapter {
+            get {
+                return this._manufacturerTableAdapter;
+            }
+            set {
+                this._manufacturerTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public OrderTableAdapter OrderTableAdapter {
+            get {
+                return this._orderTableAdapter;
+            }
+            set {
+                this._orderTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public OrderItemTableAdapter OrderItemTableAdapter {
+            get {
+                return this._orderItemTableAdapter;
+            }
+            set {
+                this._orderItemTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public OrderStatusTableAdapter OrderStatusTableAdapter {
+            get {
+                return this._orderStatusTableAdapter;
+            }
+            set {
+                this._orderStatusTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public PickupPointTableAdapter PickupPointTableAdapter {
+            get {
+                return this._pickupPointTableAdapter;
+            }
+            set {
+                this._pickupPointTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public ProductTableAdapter ProductTableAdapter {
+            get {
+                return this._productTableAdapter;
+            }
+            set {
+                this._productTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public RoleTableAdapter RoleTableAdapter {
+            get {
+                return this._roleTableAdapter;
+            }
+            set {
+                this._roleTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public SupplierTableAdapter SupplierTableAdapter {
+            get {
+                return this._supplierTableAdapter;
+            }
+            set {
+                this._supplierTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public UnitTableAdapter UnitTableAdapter {
+            get {
+                return this._unitTableAdapter;
+            }
+            set {
+                this._unitTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" +
+            "a", "System.Drawing.Design.UITypeEditor")]
+        public UserTableAdapter UserTableAdapter {
+            get {
+                return this._userTableAdapter;
+            }
+            set {
+                this._userTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public bool BackupDataSetBeforeUpdate {
+            get {
+                return this._backupDataSetBeforeUpdate;
+            }
+            set {
+                this._backupDataSetBeforeUpdate = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        public global::System.Data.IDbConnection Connection {
+            get {
+                if ((this._connection != null)) {
+                    return this._connection;
+                }
+                if (((this._categoryTableAdapter != null) 
+                            && (this._categoryTableAdapter.Connection != null))) {
+                    return this._categoryTableAdapter.Connection;
+                }
+                if (((this._cityTableAdapter != null) 
+                            && (this._cityTableAdapter.Connection != null))) {
+                    return this._cityTableAdapter.Connection;
+                }
+                if (((this._manufacturerTableAdapter != null) 
+                            && (this._manufacturerTableAdapter.Connection != null))) {
+                    return this._manufacturerTableAdapter.Connection;
+                }
+                if (((this._orderTableAdapter != null) 
+                            && (this._orderTableAdapter.Connection != null))) {
+                    return this._orderTableAdapter.Connection;
+                }
+                if (((this._orderItemTableAdapter != null) 
+                            && (this._orderItemTableAdapter.Connection != null))) {
+                    return this._orderItemTableAdapter.Connection;
+                }
+                if (((this._orderStatusTableAdapter != null) 
+                            && (this._orderStatusTableAdapter.Connection != null))) {
+                    return this._orderStatusTableAdapter.Connection;
+                }
+                if (((this._pickupPointTableAdapter != null) 
+                            && (this._pickupPointTableAdapter.Connection != null))) {
+                    return this._pickupPointTableAdapter.Connection;
+                }
+                if (((this._productTableAdapter != null) 
+                            && (this._productTableAdapter.Connection != null))) {
+                    return this._productTableAdapter.Connection;
+                }
+                if (((this._roleTableAdapter != null) 
+                            && (this._roleTableAdapter.Connection != null))) {
+                    return this._roleTableAdapter.Connection;
+                }
+                if (((this._supplierTableAdapter != null) 
+                            && (this._supplierTableAdapter.Connection != null))) {
+                    return this._supplierTableAdapter.Connection;
+                }
+                if (((this._unitTableAdapter != null) 
+                            && (this._unitTableAdapter.Connection != null))) {
+                    return this._unitTableAdapter.Connection;
+                }
+                if (((this._userTableAdapter != null) 
+                            && (this._userTableAdapter.Connection != null))) {
+                    return this._userTableAdapter.Connection;
+                }
+                return null;
+            }
+            set {
+                this._connection = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        [global::System.ComponentModel.Browsable(false)]
+        public int TableAdapterInstanceCount {
+            get {
+                int count = 0;
+                if ((this._categoryTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._cityTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._manufacturerTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._orderTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._orderItemTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._orderStatusTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._pickupPointTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._productTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._roleTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._supplierTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._unitTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._userTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                return count;
+            }
+        }
+        
+        /// <summary>
+        ///Update rows in top-down order.
+        ///</summary>
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private int UpdateUpdatedRows(user05DataSet dataSet, global::System.Collections.Generic.List<global::System.Data.DataRow> allChangedRows, global::System.Collections.Generic.List<global::System.Data.DataRow> allAddedRows) {
+            int result = 0;
+            if ((this._cityTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.City.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._cityTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._roleTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Role.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._roleTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._categoryTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Category.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._categoryTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._manufacturerTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Manufacturer.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._manufacturerTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._orderStatusTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.OrderStatus.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._orderStatusTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._pickupPointTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.PickupPoint.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._pickupPointTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._supplierTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Supplier.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._supplierTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._unitTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Unit.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._unitTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._userTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.User.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._userTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._orderTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Order.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._orderTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._productTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Product.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._productTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._orderItemTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.OrderItem.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._orderItemTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            return result;
+        }
+        
+        /// <summary>
+        ///Insert rows in top-down order.
+        ///</summary>
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private int UpdateInsertedRows(user05DataSet dataSet, global::System.Collections.Generic.List<global::System.Data.DataRow> allAddedRows) {
+            int result = 0;
+            if ((this._cityTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.City.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._cityTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._roleTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Role.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._roleTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._categoryTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Category.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._categoryTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._manufacturerTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Manufacturer.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._manufacturerTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._orderStatusTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.OrderStatus.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._orderStatusTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._pickupPointTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.PickupPoint.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._pickupPointTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._supplierTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Supplier.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._supplierTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._unitTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Unit.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._unitTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._userTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.User.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._userTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._orderTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Order.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._orderTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._productTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Product.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._productTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._orderItemTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.OrderItem.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._orderItemTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            return result;
+        }
+        
+        /// <summary>
+        ///Delete rows in bottom-up order.
+        ///</summary>
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private int UpdateDeletedRows(user05DataSet dataSet, global::System.Collections.Generic.List<global::System.Data.DataRow> allChangedRows) {
+            int result = 0;
+            if ((this._orderItemTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.OrderItem.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._orderItemTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._productTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Product.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._productTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._orderTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Order.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._orderTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._userTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.User.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._userTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._unitTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Unit.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._unitTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._supplierTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Supplier.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._supplierTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._pickupPointTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.PickupPoint.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._pickupPointTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._orderStatusTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.OrderStatus.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._orderStatusTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._manufacturerTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Manufacturer.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._manufacturerTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._categoryTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Category.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._categoryTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._roleTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Role.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._roleTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            if ((this._cityTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.City.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._cityTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
+            return result;
+        }
+        
+        /// <summary>
+        ///Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first
+        ///</summary>
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private global::System.Data.DataRow[] GetRealUpdatedRows(global::System.Data.DataRow[] updatedRows, global::System.Collections.Generic.List<global::System.Data.DataRow> allAddedRows) {
+            if (((updatedRows == null) 
+                        || (updatedRows.Length < 1))) {
+                return updatedRows;
+            }
+            if (((allAddedRows == null) 
+                        || (allAddedRows.Count < 1))) {
+                return updatedRows;
+            }
+            global::System.Collections.Generic.List<global::System.Data.DataRow> realUpdatedRows = new global::System.Collections.Generic.List<global::System.Data.DataRow>();
+            for (int i = 0; (i < updatedRows.Length); i = (i + 1)) {
+                global::System.Data.DataRow row = updatedRows[i];
+                if ((allAddedRows.Contains(row) == false)) {
+                    realUpdatedRows.Add(row);
+                }
+            }
+            return realUpdatedRows.ToArray();
+        }
+        
+        /// <summary>
+        ///Update all changes to the dataset.
+        ///</summary>
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public virtual int UpdateAll(user05DataSet dataSet) {
+            if ((dataSet == null)) {
+                throw new global::System.ArgumentNullException("dataSet");
+            }
+            if ((dataSet.HasChanges() == false)) {
+                return 0;
+            }
+            if (((this._categoryTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._categoryTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._cityTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._cityTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._manufacturerTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._manufacturerTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._orderTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._orderTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._orderItemTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._orderItemTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._orderStatusTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._orderStatusTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._pickupPointTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._pickupPointTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._productTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._productTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._roleTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._roleTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._supplierTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._supplierTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._unitTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._unitTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            if (((this._userTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._userTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("Все адаптеры таблицы, управляемые диспетчером адаптера таблицы TableAdapterManage" +
+                        "r, должны использовать одинаковую строку подключения.");
+            }
+            global::System.Data.IDbConnection workConnection = this.Connection;
+            if ((workConnection == null)) {
+                throw new global::System.ApplicationException("TableAdapterManager не содержит сведений о подключении. Укажите для каждого адапт" +
+                        "ера таблицы TableAdapterManager допустимый экземпляр адаптера таблицы.");
+            }
+            bool workConnOpened = false;
+            if (((workConnection.State & global::System.Data.ConnectionState.Broken) 
+                        == global::System.Data.ConnectionState.Broken)) {
+                workConnection.Close();
+            }
+            if ((workConnection.State == global::System.Data.ConnectionState.Closed)) {
+                workConnection.Open();
+                workConnOpened = true;
+            }
+            global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction();
+            if ((workTransaction == null)) {
+                throw new global::System.ApplicationException("Не удается начать транзакцию. Текущее соединение данных не поддерживает транзакци" +
+                        "и или текущее состояние не позволяет начать транзакцию.");
+            }
+            global::System.Collections.Generic.List<global::System.Data.DataRow> allChangedRows = new global::System.Collections.Generic.List<global::System.Data.DataRow>();
+            global::System.Collections.Generic.List<global::System.Data.DataRow> allAddedRows = new global::System.Collections.Generic.List<global::System.Data.DataRow>();
+            global::System.Collections.Generic.List<global::System.Data.Common.DataAdapter> adaptersWithAcceptChangesDuringUpdate = new global::System.Collections.Generic.List<global::System.Data.Common.DataAdapter>();
+            global::System.Collections.Generic.Dictionary<object, global::System.Data.IDbConnection> revertConnections = new global::System.Collections.Generic.Dictionary<object, global::System.Data.IDbConnection>();
+            int result = 0;
+            global::System.Data.DataSet backupDataSet = null;
+            if (this.BackupDataSetBeforeUpdate) {
+                backupDataSet = new global::System.Data.DataSet();
+                backupDataSet.Merge(dataSet);
+            }
+            try {
+                // ---- Prepare for update -----------
+                //
+                if ((this._categoryTableAdapter != null)) {
+                    revertConnections.Add(this._categoryTableAdapter, this._categoryTableAdapter.Connection);
+                    this._categoryTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._categoryTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._categoryTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._categoryTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._categoryTableAdapter.Adapter);
+                    }
+                }
+                if ((this._cityTableAdapter != null)) {
+                    revertConnections.Add(this._cityTableAdapter, this._cityTableAdapter.Connection);
+                    this._cityTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._cityTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._cityTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._cityTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._cityTableAdapter.Adapter);
+                    }
+                }
+                if ((this._manufacturerTableAdapter != null)) {
+                    revertConnections.Add(this._manufacturerTableAdapter, this._manufacturerTableAdapter.Connection);
+                    this._manufacturerTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._manufacturerTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._manufacturerTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._manufacturerTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._manufacturerTableAdapter.Adapter);
+                    }
+                }
+                if ((this._orderTableAdapter != null)) {
+                    revertConnections.Add(this._orderTableAdapter, this._orderTableAdapter.Connection);
+                    this._orderTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._orderTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._orderTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._orderTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._orderTableAdapter.Adapter);
+                    }
+                }
+                if ((this._orderItemTableAdapter != null)) {
+                    revertConnections.Add(this._orderItemTableAdapter, this._orderItemTableAdapter.Connection);
+                    this._orderItemTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._orderItemTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._orderItemTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._orderItemTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._orderItemTableAdapter.Adapter);
+                    }
+                }
+                if ((this._orderStatusTableAdapter != null)) {
+                    revertConnections.Add(this._orderStatusTableAdapter, this._orderStatusTableAdapter.Connection);
+                    this._orderStatusTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._orderStatusTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._orderStatusTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._orderStatusTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._orderStatusTableAdapter.Adapter);
+                    }
+                }
+                if ((this._pickupPointTableAdapter != null)) {
+                    revertConnections.Add(this._pickupPointTableAdapter, this._pickupPointTableAdapter.Connection);
+                    this._pickupPointTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._pickupPointTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._pickupPointTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._pickupPointTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._pickupPointTableAdapter.Adapter);
+                    }
+                }
+                if ((this._productTableAdapter != null)) {
+                    revertConnections.Add(this._productTableAdapter, this._productTableAdapter.Connection);
+                    this._productTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._productTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._productTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._productTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._productTableAdapter.Adapter);
+                    }
+                }
+                if ((this._roleTableAdapter != null)) {
+                    revertConnections.Add(this._roleTableAdapter, this._roleTableAdapter.Connection);
+                    this._roleTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._roleTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._roleTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._roleTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._roleTableAdapter.Adapter);
+                    }
+                }
+                if ((this._supplierTableAdapter != null)) {
+                    revertConnections.Add(this._supplierTableAdapter, this._supplierTableAdapter.Connection);
+                    this._supplierTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._supplierTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._supplierTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._supplierTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._supplierTableAdapter.Adapter);
+                    }
+                }
+                if ((this._unitTableAdapter != null)) {
+                    revertConnections.Add(this._unitTableAdapter, this._unitTableAdapter.Connection);
+                    this._unitTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._unitTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._unitTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._unitTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._unitTableAdapter.Adapter);
+                    }
+                }
+                if ((this._userTableAdapter != null)) {
+                    revertConnections.Add(this._userTableAdapter, this._userTableAdapter.Connection);
+                    this._userTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._userTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._userTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._userTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._userTableAdapter.Adapter);
+                    }
+                }
+                // 
+                //---- Perform updates -----------
+                //
+                if ((this.UpdateOrder == UpdateOrderOption.UpdateInsertDelete)) {
+                    result = (result + this.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows));
+                    result = (result + this.UpdateInsertedRows(dataSet, allAddedRows));
+                }
+                else {
+                    result = (result + this.UpdateInsertedRows(dataSet, allAddedRows));
+                    result = (result + this.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows));
+                }
+                result = (result + this.UpdateDeletedRows(dataSet, allChangedRows));
+                // 
+                //---- Commit updates -----------
+                //
+                workTransaction.Commit();
+                if ((0 < allAddedRows.Count)) {
+                    global::System.Data.DataRow[] rows = new System.Data.DataRow[allAddedRows.Count];
+                    allAddedRows.CopyTo(rows);
+                    for (int i = 0; (i < rows.Length); i = (i + 1)) {
+                        global::System.Data.DataRow row = rows[i];
+                        row.AcceptChanges();
+                    }
+                }
+                if ((0 < allChangedRows.Count)) {
+                    global::System.Data.DataRow[] rows = new System.Data.DataRow[allChangedRows.Count];
+                    allChangedRows.CopyTo(rows);
+                    for (int i = 0; (i < rows.Length); i = (i + 1)) {
+                        global::System.Data.DataRow row = rows[i];
+                        row.AcceptChanges();
+                    }
+                }
+            }
+            catch (global::System.Exception ex) {
+                workTransaction.Rollback();
+                // ---- Restore the dataset -----------
+                if (this.BackupDataSetBeforeUpdate) {
+                    global::System.Diagnostics.Debug.Assert((backupDataSet != null));
+                    dataSet.Clear();
+                    dataSet.Merge(backupDataSet);
+                }
+                else {
+                    if ((0 < allAddedRows.Count)) {
+                        global::System.Data.DataRow[] rows = new System.Data.DataRow[allAddedRows.Count];
+                        allAddedRows.CopyTo(rows);
+                        for (int i = 0; (i < rows.Length); i = (i + 1)) {
+                            global::System.Data.DataRow row = rows[i];
+                            row.AcceptChanges();
+                            row.SetAdded();
+                        }
+                    }
+                }
+                throw ex;
+            }
+            finally {
+                if (workConnOpened) {
+                    workConnection.Close();
+                }
+                if ((this._categoryTableAdapter != null)) {
+                    this._categoryTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._categoryTableAdapter]));
+                    this._categoryTableAdapter.Transaction = null;
+                }
+                if ((this._cityTableAdapter != null)) {
+                    this._cityTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._cityTableAdapter]));
+                    this._cityTableAdapter.Transaction = null;
+                }
+                if ((this._manufacturerTableAdapter != null)) {
+                    this._manufacturerTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._manufacturerTableAdapter]));
+                    this._manufacturerTableAdapter.Transaction = null;
+                }
+                if ((this._orderTableAdapter != null)) {
+                    this._orderTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._orderTableAdapter]));
+                    this._orderTableAdapter.Transaction = null;
+                }
+                if ((this._orderItemTableAdapter != null)) {
+                    this._orderItemTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._orderItemTableAdapter]));
+                    this._orderItemTableAdapter.Transaction = null;
+                }
+                if ((this._orderStatusTableAdapter != null)) {
+                    this._orderStatusTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._orderStatusTableAdapter]));
+                    this._orderStatusTableAdapter.Transaction = null;
+                }
+                if ((this._pickupPointTableAdapter != null)) {
+                    this._pickupPointTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._pickupPointTableAdapter]));
+                    this._pickupPointTableAdapter.Transaction = null;
+                }
+                if ((this._productTableAdapter != null)) {
+                    this._productTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._productTableAdapter]));
+                    this._productTableAdapter.Transaction = null;
+                }
+                if ((this._roleTableAdapter != null)) {
+                    this._roleTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._roleTableAdapter]));
+                    this._roleTableAdapter.Transaction = null;
+                }
+                if ((this._supplierTableAdapter != null)) {
+                    this._supplierTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._supplierTableAdapter]));
+                    this._supplierTableAdapter.Transaction = null;
+                }
+                if ((this._unitTableAdapter != null)) {
+                    this._unitTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._unitTableAdapter]));
+                    this._unitTableAdapter.Transaction = null;
+                }
+                if ((this._userTableAdapter != null)) {
+                    this._userTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._userTableAdapter]));
+                    this._userTableAdapter.Transaction = null;
+                }
+                if ((0 < adaptersWithAcceptChangesDuringUpdate.Count)) {
+                    global::System.Data.Common.DataAdapter[] adapters = new System.Data.Common.DataAdapter[adaptersWithAcceptChangesDuringUpdate.Count];
+                    adaptersWithAcceptChangesDuringUpdate.CopyTo(adapters);
+                    for (int i = 0; (i < adapters.Length); i = (i + 1)) {
+                        global::System.Data.Common.DataAdapter adapter = adapters[i];
+                        adapter.AcceptChangesDuringUpdate = true;
+                    }
+                }
+            }
+            return result;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected virtual void SortSelfReferenceRows(global::System.Data.DataRow[] rows, global::System.Data.DataRelation relation, bool childFirst) {
+            global::System.Array.Sort<global::System.Data.DataRow>(rows, new SelfReferenceComparer(relation, childFirst));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        protected virtual bool MatchTableAdapterConnection(global::System.Data.IDbConnection inputConnection) {
+            if ((this._connection != null)) {
+                return true;
+            }
+            if (((this.Connection == null) 
+                        || (inputConnection == null))) {
+                return true;
+            }
+            if (string.Equals(this.Connection.ConnectionString, inputConnection.ConnectionString, global::System.StringComparison.Ordinal)) {
+                return true;
+            }
+            return false;
+        }
+        
+        /// <summary>
+        ///Update Order Option
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        public enum UpdateOrderOption {
+            
+            InsertUpdateDelete = 0,
+            
+            UpdateInsertDelete = 1,
+        }
+        
+        /// <summary>
+        ///Used to sort self-referenced table's rows
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+        private class SelfReferenceComparer : object, global::System.Collections.Generic.IComparer<global::System.Data.DataRow> {
+            
+            private global::System.Data.DataRelation _relation;
+            
+            private int _childFirst;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            internal SelfReferenceComparer(global::System.Data.DataRelation relation, bool childFirst) {
+                this._relation = relation;
+                if (childFirst) {
+                    this._childFirst = -1;
+                }
+                else {
+                    this._childFirst = 1;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            private global::System.Data.DataRow GetRoot(global::System.Data.DataRow row, out int distance) {
+                global::System.Diagnostics.Debug.Assert((row != null));
+                global::System.Data.DataRow root = row;
+                distance = 0;
+
+                global::System.Collections.Generic.IDictionary<global::System.Data.DataRow, global::System.Data.DataRow> traversedRows = new global::System.Collections.Generic.Dictionary<global::System.Data.DataRow, global::System.Data.DataRow>();
+                traversedRows[row] = row;
+
+                global::System.Data.DataRow parent = row.GetParentRow(this._relation, global::System.Data.DataRowVersion.Default);
+                for (
+                ; ((parent != null) 
+                            && (traversedRows.ContainsKey(parent) == false)); 
+                ) {
+                    distance = (distance + 1);
+                    root = parent;
+                    traversedRows[parent] = parent;
+                    parent = parent.GetParentRow(this._relation, global::System.Data.DataRowVersion.Default);
+                }
+
+                if ((distance == 0)) {
+                    traversedRows.Clear();
+                    traversedRows[row] = row;
+                    parent = row.GetParentRow(this._relation, global::System.Data.DataRowVersion.Original);
+                    for (
+                    ; ((parent != null) 
+                                && (traversedRows.ContainsKey(parent) == false)); 
+                    ) {
+                        distance = (distance + 1);
+                        root = parent;
+                        traversedRows[parent] = parent;
+                        parent = parent.GetParentRow(this._relation, global::System.Data.DataRowVersion.Original);
+                    }
+                }
+
+                return root;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
+            public int Compare(global::System.Data.DataRow row1, global::System.Data.DataRow row2) {
+                if (object.ReferenceEquals(row1, row2)) {
+                    return 0;
+                }
+                if ((row1 == null)) {
+                    return -1;
+                }
+                if ((row2 == null)) {
+                    return 1;
+                }
+
+                int distance1 = 0;
+                global::System.Data.DataRow root1 = this.GetRoot(row1, out distance1);
+
+                int distance2 = 0;
+                global::System.Data.DataRow root2 = this.GetRoot(row2, out distance2);
+
+                if (object.ReferenceEquals(root1, root2)) {
+                    return (this._childFirst * distance1.CompareTo(distance2));
+                }
+                else {
+                    global::System.Diagnostics.Debug.Assert(((root1.Table != null) 
+                                    && (root2.Table != null)));
+                    if ((root1.Table.Rows.IndexOf(root1) < root2.Table.Rows.IndexOf(root2))) {
+                        return -1;
+                    }
+                    else {
+                        return 1;
+                    }
+                }
+            }
+        }
+    }
+}
+
+#pragma warning restore 1591

+ 1 - 0
WindowsFormsApp1/WindowsFormsApp1/user05DataSet.xsc

@@ -0,0 +1 @@
+

+ 1205 - 0
WindowsFormsApp1/WindowsFormsApp1/user05DataSet.xsd

@@ -0,0 +1,1205 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema id="user05DataSet" targetNamespace="http://tempuri.org/user05DataSet.xsd" xmlns:mstns="http://tempuri.org/user05DataSet.xsd" xmlns="http://tempuri.org/user05DataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
+  <xs:annotation>
+    <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
+      <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+        <Connections>
+          <Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="user05ConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="user05ConnectionString (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.WindowsFormsApp1.Properties.Settings.GlobalReference.Default.user05ConnectionString" Provider="System.Data.SqlClient" />
+        </Connections>
+        <Tables>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="CategoryTableAdapter" GeneratorDataComponentClassName="CategoryTableAdapter" Name="Category" UserDataComponentName="CategoryTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.Category" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Category] WHERE (([CategoryId] = @Original_CategoryId) AND ([CategoryName] = @Original_CategoryName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_CategoryName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CategoryName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Category] ([CategoryName]) VALUES (@CategoryName);
+SELECT CategoryId, CategoryName FROM Category WHERE (CategoryId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@CategoryName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CategoryName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT CategoryId, CategoryName FROM dbo.Category</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Category] SET [CategoryName] = @CategoryName WHERE (([CategoryId] = @Original_CategoryId) AND ([CategoryName] = @Original_CategoryName));
+SELECT CategoryId, CategoryName FROM Category WHERE (CategoryId = @CategoryId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@CategoryName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CategoryName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_CategoryName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CategoryName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="CategoryId" ColumnName="CategoryId" DataSourceName="user05.dbo.Category" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="CategoryId" DataSetColumn="CategoryId" />
+              <Mapping SourceColumn="CategoryName" DataSetColumn="CategoryName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="CityTableAdapter" GeneratorDataComponentClassName="CityTableAdapter" Name="City" UserDataComponentName="CityTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.City" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[City] WHERE (([CityId] = @Original_CityId) AND ([CityName] = @Original_CityName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CityId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_CityName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CityName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[City] ([CityName]) VALUES (@CityName);
+SELECT CityId, CityName FROM City WHERE (CityId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@CityName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CityName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT CityId, CityName FROM dbo.City</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[City] SET [CityName] = @CityName WHERE (([CityId] = @Original_CityId) AND ([CityName] = @Original_CityName));
+SELECT CityId, CityName FROM City WHERE (CityId = @CityId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@CityName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CityName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CityId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_CityName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CityName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="CityId" ColumnName="CityId" DataSourceName="user05.dbo.City" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CityId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="CityId" DataSetColumn="CityId" />
+              <Mapping SourceColumn="CityName" DataSetColumn="CityName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ManufacturerTableAdapter" GeneratorDataComponentClassName="ManufacturerTableAdapter" Name="Manufacturer" UserDataComponentName="ManufacturerTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.Manufacturer" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Manufacturer] WHERE (([ManufacturerId] = @Original_ManufacturerId) AND ([ManufacturerName] = @Original_ManufacturerName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_ManufacturerName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="ManufacturerName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Manufacturer] ([ManufacturerName]) VALUES (@ManufacturerName);
+SELECT ManufacturerId, ManufacturerName FROM Manufacturer WHERE (ManufacturerId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@ManufacturerName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="ManufacturerName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT ManufacturerId, ManufacturerName FROM dbo.Manufacturer</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Manufacturer] SET [ManufacturerName] = @ManufacturerName WHERE (([ManufacturerId] = @Original_ManufacturerId) AND ([ManufacturerName] = @Original_ManufacturerName));
+SELECT ManufacturerId, ManufacturerName FROM Manufacturer WHERE (ManufacturerId = @ManufacturerId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@ManufacturerName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="ManufacturerName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_ManufacturerName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="ManufacturerName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="ManufacturerId" ColumnName="ManufacturerId" DataSourceName="user05.dbo.Manufacturer" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="ManufacturerId" DataSetColumn="ManufacturerId" />
+              <Mapping SourceColumn="ManufacturerName" DataSetColumn="ManufacturerName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="OrderTableAdapter" GeneratorDataComponentClassName="OrderTableAdapter" Name="Order" UserDataComponentName="OrderTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.[Order]" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Order] WHERE (([OrderId] = @Original_OrderId) AND ((@IsNull_OrderDate = 1 AND [OrderDate] IS NULL) OR ([OrderDate] = @Original_OrderDate)) AND ((@IsNull_DeliveryDate = 1 AND [DeliveryDate] IS NULL) OR ([DeliveryDate] = @Original_DeliveryDate)) AND ([PickupPointId] = @Original_PickupPointId) AND ((@IsNull_ClientUserId = 1 AND [ClientUserId] IS NULL) OR ([ClientUserId] = @Original_ClientUserId)) AND ((@IsNull_ReceiveCode = 1 AND [ReceiveCode] IS NULL) OR ([ReceiveCode] = @Original_ReceiveCode)) AND ([StatusId] = @Original_StatusId))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_OrderDate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderDate" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@Original_OrderDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="OrderDate" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_DeliveryDate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="DeliveryDate" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@Original_DeliveryDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="DeliveryDate" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ClientUserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientUserId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ClientUserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientUserId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ReceiveCode" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ReceiveCode" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ReceiveCode" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ReceiveCode" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_StatusId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Order] ([OrderId], [OrderDate], [DeliveryDate], [PickupPointId], [ClientUserId], [ReceiveCode], [StatusId]) VALUES (@OrderId, @OrderDate, @DeliveryDate, @PickupPointId, @ClientUserId, @ReceiveCode, @StatusId);
+SELECT OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode, StatusId FROM [Order] WHERE (OrderId = @OrderId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@OrderDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="OrderDate" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@DeliveryDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="DeliveryDate" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@ClientUserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientUserId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@ReceiveCode" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ReceiveCode" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@StatusId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode, StatusId FROM dbo.[Order]</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Order] SET [OrderId] = @OrderId, [OrderDate] = @OrderDate, [DeliveryDate] = @DeliveryDate, [PickupPointId] = @PickupPointId, [ClientUserId] = @ClientUserId, [ReceiveCode] = @ReceiveCode, [StatusId] = @StatusId WHERE (([OrderId] = @Original_OrderId) AND ((@IsNull_OrderDate = 1 AND [OrderDate] IS NULL) OR ([OrderDate] = @Original_OrderDate)) AND ((@IsNull_DeliveryDate = 1 AND [DeliveryDate] IS NULL) OR ([DeliveryDate] = @Original_DeliveryDate)) AND ([PickupPointId] = @Original_PickupPointId) AND ((@IsNull_ClientUserId = 1 AND [ClientUserId] IS NULL) OR ([ClientUserId] = @Original_ClientUserId)) AND ((@IsNull_ReceiveCode = 1 AND [ReceiveCode] IS NULL) OR ([ReceiveCode] = @Original_ReceiveCode)) AND ([StatusId] = @Original_StatusId));
+SELECT OrderId, OrderDate, DeliveryDate, PickupPointId, ClientUserId, ReceiveCode, StatusId FROM [Order] WHERE (OrderId = @OrderId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@OrderDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="OrderDate" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@DeliveryDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="DeliveryDate" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@ClientUserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientUserId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@ReceiveCode" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ReceiveCode" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@StatusId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_OrderDate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderDate" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@Original_OrderDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="OrderDate" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_DeliveryDate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="DeliveryDate" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Date" Direction="Input" ParameterName="@Original_DeliveryDate" Precision="0" ProviderType="Date" Scale="0" Size="0" SourceColumn="DeliveryDate" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ClientUserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientUserId" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ClientUserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ClientUserId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ReceiveCode" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ReceiveCode" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ReceiveCode" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ReceiveCode" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_StatusId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="OrderId" DataSetColumn="OrderId" />
+              <Mapping SourceColumn="OrderDate" DataSetColumn="OrderDate" />
+              <Mapping SourceColumn="DeliveryDate" DataSetColumn="DeliveryDate" />
+              <Mapping SourceColumn="PickupPointId" DataSetColumn="PickupPointId" />
+              <Mapping SourceColumn="ClientUserId" DataSetColumn="ClientUserId" />
+              <Mapping SourceColumn="ReceiveCode" DataSetColumn="ReceiveCode" />
+              <Mapping SourceColumn="StatusId" DataSetColumn="StatusId" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="OrderItemTableAdapter" GeneratorDataComponentClassName="OrderItemTableAdapter" Name="OrderItem" UserDataComponentName="OrderItemTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.OrderItem" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[OrderItem] WHERE (([OrderItemId] = @Original_OrderItemId) AND ([OrderId] = @Original_OrderId) AND ([Article] = @Original_Article) AND ([Quantity] = @Original_Quantity))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_OrderItemId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderItemId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Quantity" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Quantity" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[OrderItem] ([OrderId], [Article], [Quantity]) VALUES (@OrderId, @Article, @Quantity);
+SELECT OrderItemId, OrderId, Article, Quantity FROM OrderItem WHERE (OrderItemId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Quantity" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Quantity" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT OrderItemId, OrderId, Article, Quantity FROM dbo.OrderItem</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[OrderItem] SET [OrderId] = @OrderId, [Article] = @Article, [Quantity] = @Quantity WHERE (([OrderItemId] = @Original_OrderItemId) AND ([OrderId] = @Original_OrderId) AND ([Article] = @Original_Article) AND ([Quantity] = @Original_Quantity));
+SELECT OrderItemId, OrderId, Article, Quantity FROM OrderItem WHERE (OrderItemId = @OrderItemId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Quantity" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Quantity" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_OrderItemId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderItemId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_OrderId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OrderId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Quantity" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Quantity" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="OrderItemId" ColumnName="OrderItemId" DataSourceName="user05.dbo.OrderItem" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@OrderItemId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="OrderItemId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="OrderItemId" DataSetColumn="OrderItemId" />
+              <Mapping SourceColumn="OrderId" DataSetColumn="OrderId" />
+              <Mapping SourceColumn="Article" DataSetColumn="Article" />
+              <Mapping SourceColumn="Quantity" DataSetColumn="Quantity" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="OrderStatusTableAdapter" GeneratorDataComponentClassName="OrderStatusTableAdapter" Name="OrderStatus" UserDataComponentName="OrderStatusTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.OrderStatus" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[OrderStatus] WHERE (([StatusId] = @Original_StatusId) AND ([StatusName] = @Original_StatusName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_StatusId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_StatusName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="StatusName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[OrderStatus] ([StatusName]) VALUES (@StatusName);
+SELECT StatusId, StatusName FROM OrderStatus WHERE (StatusId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@StatusName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="StatusName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT StatusId, StatusName FROM dbo.OrderStatus</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[OrderStatus] SET [StatusName] = @StatusName WHERE (([StatusId] = @Original_StatusId) AND ([StatusName] = @Original_StatusName));
+SELECT StatusId, StatusName FROM OrderStatus WHERE (StatusId = @StatusId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@StatusName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="StatusName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_StatusId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_StatusName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="StatusName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="StatusId" ColumnName="StatusId" DataSourceName="user05.dbo.OrderStatus" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@StatusId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="StatusId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="StatusId" DataSetColumn="StatusId" />
+              <Mapping SourceColumn="StatusName" DataSetColumn="StatusName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="PickupPointTableAdapter" GeneratorDataComponentClassName="PickupPointTableAdapter" Name="PickupPoint" UserDataComponentName="PickupPointTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.PickupPoint" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[PickupPoint] WHERE (([PickupPointId] = @Original_PickupPointId) AND ([PostalCode] = @Original_PostalCode) AND ([CityId] = @Original_CityId) AND ([Street] = @Original_Street) AND ([House] = @Original_House))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_PostalCode" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PostalCode" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CityId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Street" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Street" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_House" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="House" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[PickupPoint] ([PickupPointId], [PostalCode], [CityId], [Street], [House]) VALUES (@PickupPointId, @PostalCode, @CityId, @Street, @House);
+SELECT PickupPointId, PostalCode, CityId, Street, House FROM PickupPoint WHERE (PickupPointId = @PickupPointId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PostalCode" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PostalCode" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CityId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Street" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Street" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@House" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="House" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT PickupPointId, PostalCode, CityId, Street, House FROM dbo.PickupPoint</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[PickupPoint] SET [PickupPointId] = @PickupPointId, [PostalCode] = @PostalCode, [CityId] = @CityId, [Street] = @Street, [House] = @House WHERE (([PickupPointId] = @Original_PickupPointId) AND ([PostalCode] = @Original_PostalCode) AND ([CityId] = @Original_CityId) AND ([Street] = @Original_Street) AND ([House] = @Original_House));
+SELECT PickupPointId, PostalCode, CityId, Street, House FROM PickupPoint WHERE (PickupPointId = @PickupPointId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PostalCode" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PostalCode" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CityId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Street" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Street" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@House" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="House" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PickupPointId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PickupPointId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_PostalCode" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PostalCode" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CityId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CityId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Street" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Street" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_House" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="House" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="PickupPointId" DataSetColumn="PickupPointId" />
+              <Mapping SourceColumn="PostalCode" DataSetColumn="PostalCode" />
+              <Mapping SourceColumn="CityId" DataSetColumn="CityId" />
+              <Mapping SourceColumn="Street" DataSetColumn="Street" />
+              <Mapping SourceColumn="House" DataSetColumn="House" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ProductTableAdapter" GeneratorDataComponentClassName="ProductTableAdapter" Name="Product" UserDataComponentName="ProductTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.Product" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Product] WHERE (([ProductId] = @Original_ProductId) AND ([Article] = @Original_Article) AND ([Name] = @Original_Name) AND ([UnitId] = @Original_UnitId) AND ([Price] = @Original_Price) AND ([SupplierId] = @Original_SupplierId) AND ([ManufacturerId] = @Original_ManufacturerId) AND ([CategoryId] = @Original_CategoryId) AND ([Discount] = @Original_Discount) AND ([Stock] = @Original_Stock) AND ((@IsNull_Photo = 1 AND [Photo] IS NULL) OR ([Photo] = @Original_Photo)))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ProductId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ProductId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_UnitId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_Price" Precision="10" ProviderType="Decimal" Scale="2" Size="0" SourceColumn="Price" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Discount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Discount" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Stock" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Stock" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Photo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Photo" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Photo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Photo" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Product] ([Article], [Name], [UnitId], [Price], [SupplierId], [ManufacturerId], [CategoryId], [Discount], [Stock], [Description], [Photo]) VALUES (@Article, @Name, @UnitId, @Price, @SupplierId, @ManufacturerId, @CategoryId, @Discount, @Stock, @Description, @Photo);
+SELECT ProductId, Article, Name, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Stock, Description, Photo FROM Product WHERE (ProductId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@UnitId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Price" Precision="10" ProviderType="Decimal" Scale="2" Size="0" SourceColumn="Price" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Discount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Discount" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Stock" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Stock" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Description" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Description" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Photo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Photo" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT ProductId, Article, Name, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Stock, Description, Photo FROM dbo.Product</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Product] SET [Article] = @Article, [Name] = @Name, [UnitId] = @UnitId, [Price] = @Price, [SupplierId] = @SupplierId, [ManufacturerId] = @ManufacturerId, [CategoryId] = @CategoryId, [Discount] = @Discount, [Stock] = @Stock, [Description] = @Description, [Photo] = @Photo WHERE (([ProductId] = @Original_ProductId) AND ([Article] = @Original_Article) AND ([Name] = @Original_Name) AND ([UnitId] = @Original_UnitId) AND ([Price] = @Original_Price) AND ([SupplierId] = @Original_SupplierId) AND ([ManufacturerId] = @Original_ManufacturerId) AND ([CategoryId] = @Original_CategoryId) AND ([Discount] = @Original_Discount) AND ([Stock] = @Original_Stock) AND ((@IsNull_Photo = 1 AND [Photo] IS NULL) OR ([Photo] = @Original_Photo)));
+SELECT ProductId, Article, Name, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Stock, Description, Photo FROM Product WHERE (ProductId = @ProductId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@UnitId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Price" Precision="10" ProviderType="Decimal" Scale="2" Size="0" SourceColumn="Price" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Discount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Discount" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Stock" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Stock" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Description" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Description" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Photo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Photo" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ProductId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ProductId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Article" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Article" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Name" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_UnitId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_Price" Precision="10" ProviderType="Decimal" Scale="2" Size="0" SourceColumn="Price" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_ManufacturerId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ManufacturerId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CategoryId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CategoryId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Discount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Discount" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_Stock" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Stock" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Photo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Photo" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Photo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Photo" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="ProductId" ColumnName="ProductId" DataSourceName="user05.dbo.Product" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@ProductId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="ProductId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="ProductId" DataSetColumn="ProductId" />
+              <Mapping SourceColumn="Article" DataSetColumn="Article" />
+              <Mapping SourceColumn="Name" DataSetColumn="Name" />
+              <Mapping SourceColumn="UnitId" DataSetColumn="UnitId" />
+              <Mapping SourceColumn="Price" DataSetColumn="Price" />
+              <Mapping SourceColumn="SupplierId" DataSetColumn="SupplierId" />
+              <Mapping SourceColumn="ManufacturerId" DataSetColumn="ManufacturerId" />
+              <Mapping SourceColumn="CategoryId" DataSetColumn="CategoryId" />
+              <Mapping SourceColumn="Discount" DataSetColumn="Discount" />
+              <Mapping SourceColumn="Stock" DataSetColumn="Stock" />
+              <Mapping SourceColumn="Description" DataSetColumn="Description" />
+              <Mapping SourceColumn="Photo" DataSetColumn="Photo" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="RoleTableAdapter" GeneratorDataComponentClassName="RoleTableAdapter" Name="Role" UserDataComponentName="RoleTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.Role" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Role] WHERE (([RoleId] = @Original_RoleId) AND ([RoleName] = @Original_RoleName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_RoleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_RoleName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="RoleName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Role] ([RoleName]) VALUES (@RoleName);
+SELECT RoleId, RoleName FROM Role WHERE (RoleId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@RoleName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="RoleName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT RoleId, RoleName FROM dbo.Role</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Role] SET [RoleName] = @RoleName WHERE (([RoleId] = @Original_RoleId) AND ([RoleName] = @Original_RoleName));
+SELECT RoleId, RoleName FROM Role WHERE (RoleId = @RoleId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@RoleName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="RoleName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_RoleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_RoleName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="RoleName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="RoleId" ColumnName="RoleId" DataSourceName="user05.dbo.Role" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@RoleId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="RoleId" DataSetColumn="RoleId" />
+              <Mapping SourceColumn="RoleName" DataSetColumn="RoleName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="SupplierTableAdapter" GeneratorDataComponentClassName="SupplierTableAdapter" Name="Supplier" UserDataComponentName="SupplierTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.Supplier" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Supplier] WHERE (([SupplierId] = @Original_SupplierId) AND ([SupplierName] = @Original_SupplierName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_SupplierName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="SupplierName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Supplier] ([SupplierName]) VALUES (@SupplierName);
+SELECT SupplierId, SupplierName FROM Supplier WHERE (SupplierId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@SupplierName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="SupplierName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT SupplierId, SupplierName FROM dbo.Supplier</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Supplier] SET [SupplierName] = @SupplierName WHERE (([SupplierId] = @Original_SupplierId) AND ([SupplierName] = @Original_SupplierName));
+SELECT SupplierId, SupplierName FROM Supplier WHERE (SupplierId = @SupplierId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@SupplierName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="SupplierName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_SupplierName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="SupplierName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="SupplierId" ColumnName="SupplierId" DataSourceName="user05.dbo.Supplier" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SupplierId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SupplierId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="SupplierId" DataSetColumn="SupplierId" />
+              <Mapping SourceColumn="SupplierName" DataSetColumn="SupplierName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="UnitTableAdapter" GeneratorDataComponentClassName="UnitTableAdapter" Name="Unit" UserDataComponentName="UnitTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.Unit" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[Unit] WHERE (([UnitId] = @Original_UnitId) AND ([UnitName] = @Original_UnitName))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_UnitId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_UnitName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="UnitName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[Unit] ([UnitName]) VALUES (@UnitName);
+SELECT UnitId, UnitName FROM Unit WHERE (UnitId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@UnitName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="UnitName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT UnitId, UnitName FROM dbo.Unit</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[Unit] SET [UnitName] = @UnitName WHERE (([UnitId] = @Original_UnitId) AND ([UnitName] = @Original_UnitName));
+SELECT UnitId, UnitName FROM Unit WHERE (UnitId = @UnitId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@UnitName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="UnitName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_UnitId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_UnitName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="UnitName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="UnitId" ColumnName="UnitId" DataSourceName="user05.dbo.Unit" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@UnitId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="UnitId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="UnitId" DataSetColumn="UnitId" />
+              <Mapping SourceColumn="UnitName" DataSetColumn="UnitName" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="UserTableAdapter" GeneratorDataComponentClassName="UserTableAdapter" Name="User" UserDataComponentName="UserTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.[User]" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[User] WHERE (([UserId] = @Original_UserId) AND ([RoleId] = @Original_RoleId) AND ([FullName] = @Original_FullName) AND ([Login] = @Original_Login) AND ([Password] = @Original_Password))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_UserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_RoleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_FullName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="FullName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Login" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Login" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Password" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Password" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[User] ([RoleId], [FullName], [Login], [Password]) VALUES (@RoleId, @FullName, @Login, @Password);
+SELECT UserId, RoleId, FullName, Login, Password FROM [User] WHERE (UserId = SCOPE_IDENTITY())</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@RoleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@FullName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="FullName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Login" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Login" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Password" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Password" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT UserId, RoleId, FullName, Login, Password FROM dbo.[User]</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[User] SET [RoleId] = @RoleId, [FullName] = @FullName, [Login] = @Login, [Password] = @Password WHERE (([UserId] = @Original_UserId) AND ([RoleId] = @Original_RoleId) AND ([FullName] = @Original_FullName) AND ([Login] = @Original_Login) AND ([Password] = @Original_Password));
+SELECT UserId, RoleId, FullName, Login, Password FROM [User] WHERE (UserId = @UserId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@RoleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@FullName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="FullName" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Login" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Login" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Password" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Password" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_UserId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_RoleId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RoleId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_FullName" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="FullName" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Login" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Login" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_Password" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Password" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="UserId" ColumnName="UserId" DataSourceName="user05.dbo.[User]" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@UserId" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="UserId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="UserId" DataSetColumn="UserId" />
+              <Mapping SourceColumn="RoleId" DataSetColumn="RoleId" />
+              <Mapping SourceColumn="FullName" DataSetColumn="FullName" />
+              <Mapping SourceColumn="Login" DataSetColumn="Login" />
+              <Mapping SourceColumn="Password" DataSetColumn="Password" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="vCatalogTableAdapter" GeneratorDataComponentClassName="vCatalogTableAdapter" Name="vCatalog" UserDataComponentName="vCatalogTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.vCatalog" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT Article, Фото, [Категория товара], [Наименование товара], [Описание товара], Производитель, Поставщик, Цена, [Единица измерения], [Кол-во на складе], [Действующая скидка] FROM dbo.vCatalog</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="Article" DataSetColumn="Article" />
+              <Mapping SourceColumn="Фото" DataSetColumn="Фото" />
+              <Mapping SourceColumn="Категория товара" DataSetColumn="Категория товара" />
+              <Mapping SourceColumn="Наименование товара" DataSetColumn="Наименование товара" />
+              <Mapping SourceColumn="Описание товара" DataSetColumn="Описание товара" />
+              <Mapping SourceColumn="Производитель" DataSetColumn="Производитель" />
+              <Mapping SourceColumn="Поставщик" DataSetColumn="Поставщик" />
+              <Mapping SourceColumn="Цена" DataSetColumn="Цена" />
+              <Mapping SourceColumn="Единица измерения" DataSetColumn="Единица измерения" />
+              <Mapping SourceColumn="Кол-во на складе" DataSetColumn="Кол-во на складе" />
+              <Mapping SourceColumn="Действующая скидка" DataSetColumn="Действующая скидка" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="vOrdersTableAdapter" GeneratorDataComponentClassName="vOrdersTableAdapter" Name="vOrders" UserDataComponentName="vOrdersTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.vOrders" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT OrderId, [Артикул заказа], [Статус заказа], [Адрес пункта выдачи], [Дата заказа], [Дата доставки] FROM dbo.vOrders</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="OrderId" DataSetColumn="OrderId" />
+              <Mapping SourceColumn="Артикул заказа" DataSetColumn="Артикул заказа" />
+              <Mapping SourceColumn="Статус заказа" DataSetColumn="Статус заказа" />
+              <Mapping SourceColumn="Адрес пункта выдачи" DataSetColumn="Адрес пункта выдачи" />
+              <Mapping SourceColumn="Дата заказа" DataSetColumn="Дата заказа" />
+              <Mapping SourceColumn="Дата доставки" DataSetColumn="Дата доставки" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="vw_UsersLoginTableAdapter" GeneratorDataComponentClassName="vw_UsersLoginTableAdapter" Name="vw_UsersLogin" UserDataComponentName="vw_UsersLoginTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="user05ConnectionString (Settings)" DbObjectName="user05.dbo.vw_UsersLogin" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>SELECT UserId, ФИО, Логин, Пароль, Роль FROM dbo.vw_UsersLogin</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="UserId" DataSetColumn="UserId" />
+              <Mapping SourceColumn="ФИО" DataSetColumn="ФИО" />
+              <Mapping SourceColumn="Логин" DataSetColumn="Логин" />
+              <Mapping SourceColumn="Пароль" DataSetColumn="Пароль" />
+              <Mapping SourceColumn="Роль" DataSetColumn="Роль" />
+            </Mappings>
+            <Sources />
+          </TableAdapter>
+        </Tables>
+        <Sources />
+      </DataSource>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="user05DataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="True" msprop:Generator_UserDSName="user05DataSet" msprop:Generator_DataSetName="user05DataSet">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="Category" msprop:Generator_RowEvHandlerName="CategoryRowChangeEventHandler" msprop:Generator_RowDeletedName="CategoryRowDeleted" msprop:Generator_RowDeletingName="CategoryRowDeleting" msprop:Generator_RowEvArgName="CategoryRowChangeEvent" msprop:Generator_TablePropName="Category" msprop:Generator_RowChangedName="CategoryRowChanged" msprop:Generator_RowChangingName="CategoryRowChanging" msprop:Generator_TableClassName="CategoryDataTable" msprop:Generator_RowClassName="CategoryRow" msprop:Generator_TableVarName="tableCategory" msprop:Generator_UserTableName="Category">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="CategoryId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="CategoryId" msprop:Generator_ColumnPropNameInTable="CategoryIdColumn" msprop:Generator_ColumnVarNameInTable="columnCategoryId" msprop:Generator_UserColumnName="CategoryId" type="xs:int" />
+              <xs:element name="CategoryName" msprop:Generator_ColumnPropNameInRow="CategoryName" msprop:Generator_ColumnPropNameInTable="CategoryNameColumn" msprop:Generator_ColumnVarNameInTable="columnCategoryName" msprop:Generator_UserColumnName="CategoryName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="City" msprop:Generator_RowEvHandlerName="CityRowChangeEventHandler" msprop:Generator_RowDeletedName="CityRowDeleted" msprop:Generator_RowDeletingName="CityRowDeleting" msprop:Generator_RowEvArgName="CityRowChangeEvent" msprop:Generator_TablePropName="City" msprop:Generator_RowChangedName="CityRowChanged" msprop:Generator_RowChangingName="CityRowChanging" msprop:Generator_TableClassName="CityDataTable" msprop:Generator_RowClassName="CityRow" msprop:Generator_TableVarName="tableCity" msprop:Generator_UserTableName="City">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="CityId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="CityId" msprop:Generator_ColumnPropNameInTable="CityIdColumn" msprop:Generator_ColumnVarNameInTable="columnCityId" msprop:Generator_UserColumnName="CityId" type="xs:int" />
+              <xs:element name="CityName" msprop:Generator_ColumnPropNameInRow="CityName" msprop:Generator_ColumnPropNameInTable="CityNameColumn" msprop:Generator_ColumnVarNameInTable="columnCityName" msprop:Generator_UserColumnName="CityName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Manufacturer" msprop:Generator_RowEvHandlerName="ManufacturerRowChangeEventHandler" msprop:Generator_RowDeletedName="ManufacturerRowDeleted" msprop:Generator_RowDeletingName="ManufacturerRowDeleting" msprop:Generator_RowEvArgName="ManufacturerRowChangeEvent" msprop:Generator_TablePropName="Manufacturer" msprop:Generator_RowChangedName="ManufacturerRowChanged" msprop:Generator_RowChangingName="ManufacturerRowChanging" msprop:Generator_TableClassName="ManufacturerDataTable" msprop:Generator_RowClassName="ManufacturerRow" msprop:Generator_TableVarName="tableManufacturer" msprop:Generator_UserTableName="Manufacturer">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="ManufacturerId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="ManufacturerId" msprop:Generator_ColumnPropNameInTable="ManufacturerIdColumn" msprop:Generator_ColumnVarNameInTable="columnManufacturerId" msprop:Generator_UserColumnName="ManufacturerId" type="xs:int" />
+              <xs:element name="ManufacturerName" msprop:Generator_ColumnPropNameInRow="ManufacturerName" msprop:Generator_ColumnPropNameInTable="ManufacturerNameColumn" msprop:Generator_ColumnVarNameInTable="columnManufacturerName" msprop:Generator_UserColumnName="ManufacturerName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Order" msprop:Generator_RowEvHandlerName="OrderRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderRowDeleted" msprop:Generator_RowDeletingName="OrderRowDeleting" msprop:Generator_RowEvArgName="OrderRowChangeEvent" msprop:Generator_TablePropName="Order" msprop:Generator_RowChangedName="OrderRowChanged" msprop:Generator_RowChangingName="OrderRowChanging" msprop:Generator_TableClassName="OrderDataTable" msprop:Generator_RowClassName="OrderRow" msprop:Generator_TableVarName="tableOrder" msprop:Generator_UserTableName="Order">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="OrderId" msprop:Generator_ColumnPropNameInRow="OrderId" msprop:Generator_ColumnPropNameInTable="OrderIdColumn" msprop:Generator_ColumnVarNameInTable="columnOrderId" msprop:Generator_UserColumnName="OrderId" type="xs:int" />
+              <xs:element name="OrderDate" msprop:Generator_ColumnPropNameInRow="OrderDate" msprop:Generator_ColumnPropNameInTable="OrderDateColumn" msprop:Generator_ColumnVarNameInTable="columnOrderDate" msprop:Generator_UserColumnName="OrderDate" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="DeliveryDate" msprop:Generator_ColumnPropNameInRow="DeliveryDate" msprop:Generator_ColumnPropNameInTable="DeliveryDateColumn" msprop:Generator_ColumnVarNameInTable="columnDeliveryDate" msprop:Generator_UserColumnName="DeliveryDate" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="PickupPointId" msprop:Generator_ColumnPropNameInRow="PickupPointId" msprop:Generator_ColumnPropNameInTable="PickupPointIdColumn" msprop:Generator_ColumnVarNameInTable="columnPickupPointId" msprop:Generator_UserColumnName="PickupPointId" type="xs:int" />
+              <xs:element name="ClientUserId" msprop:Generator_ColumnPropNameInRow="ClientUserId" msprop:Generator_ColumnPropNameInTable="ClientUserIdColumn" msprop:Generator_ColumnVarNameInTable="columnClientUserId" msprop:Generator_UserColumnName="ClientUserId" type="xs:int" minOccurs="0" />
+              <xs:element name="ReceiveCode" msprop:Generator_ColumnPropNameInRow="ReceiveCode" msprop:Generator_ColumnPropNameInTable="ReceiveCodeColumn" msprop:Generator_ColumnVarNameInTable="columnReceiveCode" msprop:Generator_UserColumnName="ReceiveCode" type="xs:int" minOccurs="0" />
+              <xs:element name="StatusId" msprop:Generator_ColumnPropNameInRow="StatusId" msprop:Generator_ColumnPropNameInTable="StatusIdColumn" msprop:Generator_ColumnVarNameInTable="columnStatusId" msprop:Generator_UserColumnName="StatusId" type="xs:int" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="OrderItem" msprop:Generator_RowEvHandlerName="OrderItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderItemRowDeleted" msprop:Generator_RowDeletingName="OrderItemRowDeleting" msprop:Generator_RowEvArgName="OrderItemRowChangeEvent" msprop:Generator_TablePropName="OrderItem" msprop:Generator_RowChangedName="OrderItemRowChanged" msprop:Generator_RowChangingName="OrderItemRowChanging" msprop:Generator_TableClassName="OrderItemDataTable" msprop:Generator_RowClassName="OrderItemRow" msprop:Generator_TableVarName="tableOrderItem" msprop:Generator_UserTableName="OrderItem">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="OrderItemId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="OrderItemId" msprop:Generator_ColumnPropNameInTable="OrderItemIdColumn" msprop:Generator_ColumnVarNameInTable="columnOrderItemId" msprop:Generator_UserColumnName="OrderItemId" type="xs:int" />
+              <xs:element name="OrderId" msprop:Generator_ColumnPropNameInRow="OrderId" msprop:Generator_ColumnPropNameInTable="OrderIdColumn" msprop:Generator_ColumnVarNameInTable="columnOrderId" msprop:Generator_UserColumnName="OrderId" type="xs:int" />
+              <xs:element name="Article" msprop:Generator_ColumnPropNameInRow="Article" msprop:Generator_ColumnPropNameInTable="ArticleColumn" msprop:Generator_ColumnVarNameInTable="columnArticle" msprop:Generator_UserColumnName="Article">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Quantity" msprop:Generator_ColumnPropNameInRow="Quantity" msprop:Generator_ColumnPropNameInTable="QuantityColumn" msprop:Generator_ColumnVarNameInTable="columnQuantity" msprop:Generator_UserColumnName="Quantity" type="xs:int" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="OrderStatus" msprop:Generator_RowEvHandlerName="OrderStatusRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderStatusRowDeleted" msprop:Generator_RowDeletingName="OrderStatusRowDeleting" msprop:Generator_RowEvArgName="OrderStatusRowChangeEvent" msprop:Generator_TablePropName="OrderStatus" msprop:Generator_RowChangedName="OrderStatusRowChanged" msprop:Generator_RowChangingName="OrderStatusRowChanging" msprop:Generator_TableClassName="OrderStatusDataTable" msprop:Generator_RowClassName="OrderStatusRow" msprop:Generator_TableVarName="tableOrderStatus" msprop:Generator_UserTableName="OrderStatus">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="StatusId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="StatusId" msprop:Generator_ColumnPropNameInTable="StatusIdColumn" msprop:Generator_ColumnVarNameInTable="columnStatusId" msprop:Generator_UserColumnName="StatusId" type="xs:int" />
+              <xs:element name="StatusName" msprop:Generator_ColumnPropNameInRow="StatusName" msprop:Generator_ColumnPropNameInTable="StatusNameColumn" msprop:Generator_ColumnVarNameInTable="columnStatusName" msprop:Generator_UserColumnName="StatusName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="PickupPoint" msprop:Generator_RowEvHandlerName="PickupPointRowChangeEventHandler" msprop:Generator_RowDeletedName="PickupPointRowDeleted" msprop:Generator_RowDeletingName="PickupPointRowDeleting" msprop:Generator_RowEvArgName="PickupPointRowChangeEvent" msprop:Generator_TablePropName="PickupPoint" msprop:Generator_RowChangedName="PickupPointRowChanged" msprop:Generator_RowChangingName="PickupPointRowChanging" msprop:Generator_TableClassName="PickupPointDataTable" msprop:Generator_RowClassName="PickupPointRow" msprop:Generator_TableVarName="tablePickupPoint" msprop:Generator_UserTableName="PickupPoint">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="PickupPointId" msprop:Generator_ColumnPropNameInRow="PickupPointId" msprop:Generator_ColumnPropNameInTable="PickupPointIdColumn" msprop:Generator_ColumnVarNameInTable="columnPickupPointId" msprop:Generator_UserColumnName="PickupPointId" type="xs:int" />
+              <xs:element name="PostalCode" msprop:Generator_ColumnPropNameInRow="PostalCode" msprop:Generator_ColumnPropNameInTable="PostalCodeColumn" msprop:Generator_ColumnVarNameInTable="columnPostalCode" msprop:Generator_UserColumnName="PostalCode">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="CityId" msprop:Generator_ColumnPropNameInRow="CityId" msprop:Generator_ColumnPropNameInTable="CityIdColumn" msprop:Generator_ColumnVarNameInTable="columnCityId" msprop:Generator_UserColumnName="CityId" type="xs:int" />
+              <xs:element name="Street" msprop:Generator_ColumnPropNameInRow="Street" msprop:Generator_ColumnPropNameInTable="StreetColumn" msprop:Generator_ColumnVarNameInTable="columnStreet" msprop:Generator_UserColumnName="Street">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="House" msprop:Generator_ColumnPropNameInRow="House" msprop:Generator_ColumnPropNameInTable="HouseColumn" msprop:Generator_ColumnVarNameInTable="columnHouse" msprop:Generator_UserColumnName="House">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Product" msprop:Generator_RowEvHandlerName="ProductRowChangeEventHandler" msprop:Generator_RowDeletedName="ProductRowDeleted" msprop:Generator_RowDeletingName="ProductRowDeleting" msprop:Generator_RowEvArgName="ProductRowChangeEvent" msprop:Generator_TablePropName="Product" msprop:Generator_RowChangedName="ProductRowChanged" msprop:Generator_RowChangingName="ProductRowChanging" msprop:Generator_TableClassName="ProductDataTable" msprop:Generator_RowClassName="ProductRow" msprop:Generator_TableVarName="tableProduct" msprop:Generator_UserTableName="Product">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="ProductId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="ProductId" msprop:Generator_ColumnPropNameInTable="ProductIdColumn" msprop:Generator_ColumnVarNameInTable="columnProductId" msprop:Generator_UserColumnName="ProductId" type="xs:int" />
+              <xs:element name="Article" msprop:Generator_ColumnPropNameInRow="Article" msprop:Generator_ColumnPropNameInTable="ArticleColumn" msprop:Generator_ColumnVarNameInTable="columnArticle" msprop:Generator_UserColumnName="Article">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_UserColumnName="Name">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="150" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="UnitId" msprop:Generator_ColumnPropNameInRow="UnitId" msprop:Generator_ColumnPropNameInTable="UnitIdColumn" msprop:Generator_ColumnVarNameInTable="columnUnitId" msprop:Generator_UserColumnName="UnitId" type="xs:int" />
+              <xs:element name="Price" msprop:Generator_ColumnPropNameInRow="Price" msprop:Generator_ColumnPropNameInTable="PriceColumn" msprop:Generator_ColumnVarNameInTable="columnPrice" msprop:Generator_UserColumnName="Price" type="xs:decimal" />
+              <xs:element name="SupplierId" msprop:Generator_ColumnPropNameInRow="SupplierId" msprop:Generator_ColumnPropNameInTable="SupplierIdColumn" msprop:Generator_ColumnVarNameInTable="columnSupplierId" msprop:Generator_UserColumnName="SupplierId" type="xs:int" />
+              <xs:element name="ManufacturerId" msprop:Generator_ColumnPropNameInRow="ManufacturerId" msprop:Generator_ColumnPropNameInTable="ManufacturerIdColumn" msprop:Generator_ColumnVarNameInTable="columnManufacturerId" msprop:Generator_UserColumnName="ManufacturerId" type="xs:int" />
+              <xs:element name="CategoryId" msprop:Generator_ColumnPropNameInRow="CategoryId" msprop:Generator_ColumnPropNameInTable="CategoryIdColumn" msprop:Generator_ColumnVarNameInTable="columnCategoryId" msprop:Generator_UserColumnName="CategoryId" type="xs:int" />
+              <xs:element name="Discount" msprop:Generator_ColumnPropNameInRow="Discount" msprop:Generator_ColumnPropNameInTable="DiscountColumn" msprop:Generator_ColumnVarNameInTable="columnDiscount" msprop:Generator_UserColumnName="Discount" type="xs:int" />
+              <xs:element name="Stock" msprop:Generator_ColumnPropNameInRow="Stock" msprop:Generator_ColumnPropNameInTable="StockColumn" msprop:Generator_ColumnVarNameInTable="columnStock" msprop:Generator_UserColumnName="Stock" type="xs:int" />
+              <xs:element name="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_UserColumnName="Description" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="2147483647" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Photo" msprop:Generator_ColumnPropNameInRow="Photo" msprop:Generator_ColumnPropNameInTable="PhotoColumn" msprop:Generator_ColumnVarNameInTable="columnPhoto" msprop:Generator_UserColumnName="Photo" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Role" msprop:Generator_RowEvHandlerName="RoleRowChangeEventHandler" msprop:Generator_RowDeletedName="RoleRowDeleted" msprop:Generator_RowDeletingName="RoleRowDeleting" msprop:Generator_RowEvArgName="RoleRowChangeEvent" msprop:Generator_TablePropName="Role" msprop:Generator_RowChangedName="RoleRowChanged" msprop:Generator_RowChangingName="RoleRowChanging" msprop:Generator_TableClassName="RoleDataTable" msprop:Generator_RowClassName="RoleRow" msprop:Generator_TableVarName="tableRole" msprop:Generator_UserTableName="Role">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="RoleId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="RoleId" msprop:Generator_ColumnPropNameInTable="RoleIdColumn" msprop:Generator_ColumnVarNameInTable="columnRoleId" msprop:Generator_UserColumnName="RoleId" type="xs:int" />
+              <xs:element name="RoleName" msprop:Generator_ColumnPropNameInRow="RoleName" msprop:Generator_ColumnPropNameInTable="RoleNameColumn" msprop:Generator_ColumnVarNameInTable="columnRoleName" msprop:Generator_UserColumnName="RoleName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Supplier" msprop:Generator_RowEvHandlerName="SupplierRowChangeEventHandler" msprop:Generator_RowDeletedName="SupplierRowDeleted" msprop:Generator_RowDeletingName="SupplierRowDeleting" msprop:Generator_RowEvArgName="SupplierRowChangeEvent" msprop:Generator_TablePropName="Supplier" msprop:Generator_RowChangedName="SupplierRowChanged" msprop:Generator_RowChangingName="SupplierRowChanging" msprop:Generator_TableClassName="SupplierDataTable" msprop:Generator_RowClassName="SupplierRow" msprop:Generator_TableVarName="tableSupplier" msprop:Generator_UserTableName="Supplier">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="SupplierId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="SupplierId" msprop:Generator_ColumnPropNameInTable="SupplierIdColumn" msprop:Generator_ColumnVarNameInTable="columnSupplierId" msprop:Generator_UserColumnName="SupplierId" type="xs:int" />
+              <xs:element name="SupplierName" msprop:Generator_ColumnPropNameInRow="SupplierName" msprop:Generator_ColumnPropNameInTable="SupplierNameColumn" msprop:Generator_ColumnVarNameInTable="columnSupplierName" msprop:Generator_UserColumnName="SupplierName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Unit" msprop:Generator_RowEvHandlerName="UnitRowChangeEventHandler" msprop:Generator_RowDeletedName="UnitRowDeleted" msprop:Generator_RowDeletingName="UnitRowDeleting" msprop:Generator_RowEvArgName="UnitRowChangeEvent" msprop:Generator_TablePropName="Unit" msprop:Generator_RowChangedName="UnitRowChanged" msprop:Generator_RowChangingName="UnitRowChanging" msprop:Generator_TableClassName="UnitDataTable" msprop:Generator_RowClassName="UnitRow" msprop:Generator_TableVarName="tableUnit" msprop:Generator_UserTableName="Unit">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="UnitId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="UnitId" msprop:Generator_ColumnPropNameInTable="UnitIdColumn" msprop:Generator_ColumnVarNameInTable="columnUnitId" msprop:Generator_UserColumnName="UnitId" type="xs:int" />
+              <xs:element name="UnitName" msprop:Generator_ColumnPropNameInRow="UnitName" msprop:Generator_ColumnPropNameInTable="UnitNameColumn" msprop:Generator_ColumnVarNameInTable="columnUnitName" msprop:Generator_UserColumnName="UnitName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="User" msprop:Generator_RowEvHandlerName="UserRowChangeEventHandler" msprop:Generator_RowDeletedName="UserRowDeleted" msprop:Generator_RowDeletingName="UserRowDeleting" msprop:Generator_RowEvArgName="UserRowChangeEvent" msprop:Generator_TablePropName="User" msprop:Generator_RowChangedName="UserRowChanged" msprop:Generator_RowChangingName="UserRowChanging" msprop:Generator_TableClassName="UserDataTable" msprop:Generator_RowClassName="UserRow" msprop:Generator_TableVarName="tableUser" msprop:Generator_UserTableName="User">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="UserId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="UserId" msprop:Generator_ColumnPropNameInTable="UserIdColumn" msprop:Generator_ColumnVarNameInTable="columnUserId" msprop:Generator_UserColumnName="UserId" type="xs:int" />
+              <xs:element name="RoleId" msprop:Generator_ColumnPropNameInRow="RoleId" msprop:Generator_ColumnPropNameInTable="RoleIdColumn" msprop:Generator_ColumnVarNameInTable="columnRoleId" msprop:Generator_UserColumnName="RoleId" type="xs:int" />
+              <xs:element name="FullName" msprop:Generator_ColumnPropNameInRow="FullName" msprop:Generator_ColumnPropNameInTable="FullNameColumn" msprop:Generator_ColumnVarNameInTable="columnFullName" msprop:Generator_UserColumnName="FullName">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Login" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnPropNameInTable="LoginColumn" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_UserColumnName="Login">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Password" msprop:Generator_ColumnPropNameInRow="Password" msprop:Generator_ColumnPropNameInTable="PasswordColumn" msprop:Generator_ColumnVarNameInTable="columnPassword" msprop:Generator_UserColumnName="Password">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="vCatalog" msprop:Generator_RowEvHandlerName="vCatalogRowChangeEventHandler" msprop:Generator_RowDeletedName="vCatalogRowDeleted" msprop:Generator_RowDeletingName="vCatalogRowDeleting" msprop:Generator_RowEvArgName="vCatalogRowChangeEvent" msprop:Generator_TablePropName="vCatalog" msprop:Generator_RowChangedName="vCatalogRowChanged" msprop:Generator_RowChangingName="vCatalogRowChanging" msprop:Generator_TableClassName="vCatalogDataTable" msprop:Generator_RowClassName="vCatalogRow" msprop:Generator_TableVarName="tablevCatalog" msprop:Generator_UserTableName="vCatalog">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="Article" msprop:Generator_ColumnPropNameInRow="Article" msprop:Generator_ColumnPropNameInTable="ArticleColumn" msprop:Generator_ColumnVarNameInTable="columnArticle" msprop:Generator_UserColumnName="Article">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Фото" msprop:Generator_ColumnPropNameInRow="Фото" msprop:Generator_ColumnPropNameInTable="ФотоColumn" msprop:Generator_ColumnVarNameInTable="columnФото" msprop:Generator_UserColumnName="Фото" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Категория_x0020_товара" msprop:Generator_ColumnPropNameInRow="Категория_товара" msprop:Generator_ColumnPropNameInTable="Категория_товараColumn" msprop:Generator_ColumnVarNameInTable="columnКатегория_товара" msprop:Generator_UserColumnName="Категория товара">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Наименование_x0020_товара" msprop:Generator_ColumnPropNameInRow="Наименование_товара" msprop:Generator_ColumnPropNameInTable="Наименование_товараColumn" msprop:Generator_ColumnVarNameInTable="columnНаименование_товара" msprop:Generator_UserColumnName="Наименование товара">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="150" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Описание_x0020_товара" msprop:Generator_ColumnPropNameInRow="Описание_товара" msprop:Generator_ColumnPropNameInTable="Описание_товараColumn" msprop:Generator_ColumnVarNameInTable="columnОписание_товара" msprop:Generator_UserColumnName="Описание товара" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="2147483647" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Производитель" msprop:Generator_ColumnPropNameInRow="Производитель" msprop:Generator_ColumnPropNameInTable="ПроизводительColumn" msprop:Generator_ColumnVarNameInTable="columnПроизводитель" msprop:Generator_UserColumnName="Производитель">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Поставщик" msprop:Generator_ColumnPropNameInRow="Поставщик" msprop:Generator_ColumnPropNameInTable="ПоставщикColumn" msprop:Generator_ColumnVarNameInTable="columnПоставщик" msprop:Generator_UserColumnName="Поставщик">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Цена" msprop:Generator_ColumnPropNameInRow="Цена" msprop:Generator_ColumnPropNameInTable="ЦенаColumn" msprop:Generator_ColumnVarNameInTable="columnЦена" msprop:Generator_UserColumnName="Цена" type="xs:decimal" />
+              <xs:element name="Единица_x0020_измерения" msprop:Generator_ColumnPropNameInRow="Единица_измерения" msprop:Generator_ColumnPropNameInTable="Единица_измеренияColumn" msprop:Generator_ColumnVarNameInTable="columnЕдиница_измерения" msprop:Generator_UserColumnName="Единица измерения">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Кол-во_x0020_на_x0020_складе" msprop:Generator_ColumnPropNameInRow="_Кол_во_на_складе" msprop:Generator_ColumnPropNameInTable="_Кол_во_на_складеColumn" msprop:Generator_ColumnVarNameInTable="_columnКол_во_на_складе" msprop:Generator_UserColumnName="Кол-во на складе" type="xs:int" />
+              <xs:element name="Действующая_x0020_скидка" msprop:Generator_ColumnPropNameInRow="Действующая_скидка" msprop:Generator_ColumnPropNameInTable="Действующая_скидкаColumn" msprop:Generator_ColumnVarNameInTable="columnДействующая_скидка" msprop:Generator_UserColumnName="Действующая скидка" type="xs:int" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="vOrders" msprop:Generator_RowEvHandlerName="vOrdersRowChangeEventHandler" msprop:Generator_RowDeletedName="vOrdersRowDeleted" msprop:Generator_RowDeletingName="vOrdersRowDeleting" msprop:Generator_RowEvArgName="vOrdersRowChangeEvent" msprop:Generator_TablePropName="vOrders" msprop:Generator_RowChangedName="vOrdersRowChanged" msprop:Generator_RowChangingName="vOrdersRowChanging" msprop:Generator_TableClassName="vOrdersDataTable" msprop:Generator_RowClassName="vOrdersRow" msprop:Generator_TableVarName="tablevOrders" msprop:Generator_UserTableName="vOrders">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="OrderId" msprop:Generator_ColumnPropNameInRow="OrderId" msprop:Generator_ColumnPropNameInTable="OrderIdColumn" msprop:Generator_ColumnVarNameInTable="columnOrderId" msprop:Generator_UserColumnName="OrderId" type="xs:int" />
+              <xs:element name="Артикул_x0020_заказа" msprop:Generator_ColumnPropNameInRow="Артикул_заказа" msprop:Generator_ColumnPropNameInTable="Артикул_заказаColumn" msprop:Generator_ColumnVarNameInTable="columnАртикул_заказа" msprop:Generator_UserColumnName="Артикул заказа" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="4000" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Статус_x0020_заказа" msprop:Generator_ColumnPropNameInRow="Статус_заказа" msprop:Generator_ColumnPropNameInTable="Статус_заказаColumn" msprop:Generator_ColumnVarNameInTable="columnСтатус_заказа" msprop:Generator_UserColumnName="Статус заказа">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Адрес_x0020_пункта_x0020_выдачи" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="Адрес_пункта_выдачи" msprop:Generator_ColumnPropNameInTable="Адрес_пункта_выдачиColumn" msprop:Generator_ColumnVarNameInTable="columnАдрес_пункта_выдачи" msprop:Generator_UserColumnName="Адрес пункта выдачи" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="216" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Дата_x0020_заказа" msprop:Generator_ColumnPropNameInRow="Дата_заказа" msprop:Generator_ColumnPropNameInTable="Дата_заказаColumn" msprop:Generator_ColumnVarNameInTable="columnДата_заказа" msprop:Generator_UserColumnName="Дата заказа" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="Дата_x0020_доставки" msprop:Generator_ColumnPropNameInRow="Дата_доставки" msprop:Generator_ColumnPropNameInTable="Дата_доставкиColumn" msprop:Generator_ColumnVarNameInTable="columnДата_доставки" msprop:Generator_UserColumnName="Дата доставки" type="xs:dateTime" minOccurs="0" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="vw_UsersLogin" msprop:Generator_RowEvHandlerName="vw_UsersLoginRowChangeEventHandler" msprop:Generator_RowDeletedName="vw_UsersLoginRowDeleted" msprop:Generator_RowDeletingName="vw_UsersLoginRowDeleting" msprop:Generator_RowEvArgName="vw_UsersLoginRowChangeEvent" msprop:Generator_TablePropName="vw_UsersLogin" msprop:Generator_RowChangedName="vw_UsersLoginRowChanged" msprop:Generator_RowChangingName="vw_UsersLoginRowChanging" msprop:Generator_TableClassName="vw_UsersLoginDataTable" msprop:Generator_RowClassName="vw_UsersLoginRow" msprop:Generator_TableVarName="tablevw_UsersLogin" msprop:Generator_UserTableName="vw_UsersLogin">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="UserId" msprop:Generator_ColumnPropNameInRow="UserId" msprop:Generator_ColumnPropNameInTable="UserIdColumn" msprop:Generator_ColumnVarNameInTable="columnUserId" msprop:Generator_UserColumnName="UserId" type="xs:int" />
+              <xs:element name="ФИО" msprop:Generator_ColumnPropNameInRow="ФИО" msprop:Generator_ColumnPropNameInTable="ФИОColumn" msprop:Generator_ColumnVarNameInTable="columnФИО" msprop:Generator_UserColumnName="ФИО">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Логин" msprop:Generator_ColumnPropNameInRow="Логин" msprop:Generator_ColumnPropNameInTable="ЛогинColumn" msprop:Generator_ColumnVarNameInTable="columnЛогин" msprop:Generator_UserColumnName="Логин">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Пароль" msprop:Generator_ColumnPropNameInRow="Пароль" msprop:Generator_ColumnPropNameInTable="ПарольColumn" msprop:Generator_ColumnVarNameInTable="columnПароль" msprop:Generator_UserColumnName="Пароль">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="Роль" msprop:Generator_ColumnPropNameInRow="Роль" msprop:Generator_ColumnPropNameInTable="РольColumn" msprop:Generator_ColumnVarNameInTable="columnРоль" msprop:Generator_UserColumnName="Роль">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="50" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+      </xs:choice>
+    </xs:complexType>
+    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Category" />
+      <xs:field xpath="mstns:CategoryId" />
+    </xs:unique>
+    <xs:unique name="City_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:City" />
+      <xs:field xpath="mstns:CityId" />
+    </xs:unique>
+    <xs:unique name="Manufacturer_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Manufacturer" />
+      <xs:field xpath="mstns:ManufacturerId" />
+    </xs:unique>
+    <xs:unique name="Order_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Order" />
+      <xs:field xpath="mstns:OrderId" />
+    </xs:unique>
+    <xs:unique name="OrderItem_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:OrderItem" />
+      <xs:field xpath="mstns:OrderItemId" />
+    </xs:unique>
+    <xs:unique name="OrderStatus_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:OrderStatus" />
+      <xs:field xpath="mstns:StatusId" />
+    </xs:unique>
+    <xs:unique name="PickupPoint_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:PickupPoint" />
+      <xs:field xpath="mstns:PickupPointId" />
+    </xs:unique>
+    <xs:unique name="Product_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Product" />
+      <xs:field xpath="mstns:ProductId" />
+    </xs:unique>
+    <xs:unique name="Role_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Role" />
+      <xs:field xpath="mstns:RoleId" />
+    </xs:unique>
+    <xs:unique name="Supplier_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Supplier" />
+      <xs:field xpath="mstns:SupplierId" />
+    </xs:unique>
+    <xs:unique name="Unit_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:Unit" />
+      <xs:field xpath="mstns:UnitId" />
+    </xs:unique>
+    <xs:unique name="User_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:User" />
+      <xs:field xpath="mstns:UserId" />
+    </xs:unique>
+    <xs:unique name="vOrders_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:vOrders" />
+      <xs:field xpath="mstns:OrderId" />
+    </xs:unique>
+    <xs:unique name="vw_UsersLogin_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:vw_UsersLogin" />
+      <xs:field xpath="mstns:UserId" />
+    </xs:unique>
+  </xs:element>
+  <xs:annotation>
+    <xs:appinfo>
+      <msdata:Relationship name="FK_Order_Pickup" msdata:parent="PickupPoint" msdata:child="Order" msdata:parentkey="PickupPointId" msdata:childkey="PickupPointId" msprop:Generator_UserParentTable="PickupPoint" msprop:Generator_UserChildTable="Order" msprop:Generator_RelationVarName="relationFK_Order_Pickup" msprop:Generator_UserRelationName="FK_Order_Pickup" msprop:Generator_ChildPropName="GetOrderRows" msprop:Generator_ParentPropName="PickupPointRow" />
+      <msdata:Relationship name="FK_Order_Status" msdata:parent="OrderStatus" msdata:child="Order" msdata:parentkey="StatusId" msdata:childkey="StatusId" msprop:Generator_UserParentTable="OrderStatus" msprop:Generator_UserChildTable="Order" msprop:Generator_RelationVarName="relationFK_Order_Status" msprop:Generator_UserRelationName="FK_Order_Status" msprop:Generator_ChildPropName="GetOrderRows" msprop:Generator_ParentPropName="OrderStatusRow" />
+      <msdata:Relationship name="FK_Order_User" msdata:parent="User" msdata:child="Order" msdata:parentkey="UserId" msdata:childkey="ClientUserId" msprop:Generator_UserParentTable="User" msprop:Generator_UserChildTable="Order" msprop:Generator_RelationVarName="relationFK_Order_User" msprop:Generator_UserRelationName="FK_Order_User" msprop:Generator_ChildPropName="GetOrderRows" msprop:Generator_ParentPropName="UserRow" />
+      <msdata:Relationship name="FK_Item_Order" msdata:parent="Order" msdata:child="OrderItem" msdata:parentkey="OrderId" msdata:childkey="OrderId" msprop:Generator_UserParentTable="Order" msprop:Generator_UserChildTable="OrderItem" msprop:Generator_RelationVarName="relationFK_Item_Order" msprop:Generator_ChildPropName="GetOrderItemRows" msprop:Generator_ParentPropName="OrderRow" msprop:Generator_UserRelationName="FK_Item_Order" />
+      <msdata:Relationship name="FK_Item_Product" msdata:parent="Product" msdata:child="OrderItem" msdata:parentkey="Article" msdata:childkey="Article" msprop:Generator_UserParentTable="Product" msprop:Generator_UserChildTable="OrderItem" msprop:Generator_RelationVarName="relationFK_Item_Product" msprop:Generator_UserRelationName="FK_Item_Product" msprop:Generator_ChildPropName="GetOrderItemRows" msprop:Generator_ParentPropName="ProductRow" />
+      <msdata:Relationship name="FK_Pickup_City" msdata:parent="City" msdata:child="PickupPoint" msdata:parentkey="CityId" msdata:childkey="CityId" msprop:Generator_UserParentTable="City" msprop:Generator_UserChildTable="PickupPoint" msprop:Generator_RelationVarName="relationFK_Pickup_City" msprop:Generator_ChildPropName="GetPickupPointRows" msprop:Generator_ParentPropName="CityRow" msprop:Generator_UserRelationName="FK_Pickup_City" />
+      <msdata:Relationship name="FK_Product_Category" msdata:parent="Category" msdata:child="Product" msdata:parentkey="CategoryId" msdata:childkey="CategoryId" msprop:Generator_UserParentTable="Category" msprop:Generator_UserChildTable="Product" msprop:Generator_RelationVarName="relationFK_Product_Category" msprop:Generator_ChildPropName="GetProductRows" msprop:Generator_ParentPropName="CategoryRow" msprop:Generator_UserRelationName="FK_Product_Category" />
+      <msdata:Relationship name="FK_Product_Manufacturer" msdata:parent="Manufacturer" msdata:child="Product" msdata:parentkey="ManufacturerId" msdata:childkey="ManufacturerId" msprop:Generator_UserParentTable="Manufacturer" msprop:Generator_UserChildTable="Product" msprop:Generator_RelationVarName="relationFK_Product_Manufacturer" msprop:Generator_ChildPropName="GetProductRows" msprop:Generator_ParentPropName="ManufacturerRow" msprop:Generator_UserRelationName="FK_Product_Manufacturer" />
+      <msdata:Relationship name="FK_Product_Supplier" msdata:parent="Supplier" msdata:child="Product" msdata:parentkey="SupplierId" msdata:childkey="SupplierId" msprop:Generator_UserParentTable="Supplier" msprop:Generator_UserChildTable="Product" msprop:Generator_RelationVarName="relationFK_Product_Supplier" msprop:Generator_UserRelationName="FK_Product_Supplier" msprop:Generator_ChildPropName="GetProductRows" msprop:Generator_ParentPropName="SupplierRow" />
+      <msdata:Relationship name="FK_Product_Unit" msdata:parent="Unit" msdata:child="Product" msdata:parentkey="UnitId" msdata:childkey="UnitId" msprop:Generator_UserParentTable="Unit" msprop:Generator_UserChildTable="Product" msprop:Generator_RelationVarName="relationFK_Product_Unit" msprop:Generator_UserRelationName="FK_Product_Unit" msprop:Generator_ChildPropName="GetProductRows" msprop:Generator_ParentPropName="UnitRow" />
+      <msdata:Relationship name="FK_User_Role" msdata:parent="Role" msdata:child="User" msdata:parentkey="RoleId" msdata:childkey="RoleId" msprop:Generator_UserParentTable="Role" msprop:Generator_UserChildTable="User" msprop:Generator_RelationVarName="relationFK_User_Role" msprop:Generator_ChildPropName="GetUserRows" msprop:Generator_ParentPropName="RoleRow" msprop:Generator_UserRelationName="FK_User_Role" />
+    </xs:appinfo>
+  </xs:annotation>
+</xs:schema>

+ 1 - 0
WindowsFormsApp1/WindowsFormsApp1/user05DataSet.xss

@@ -0,0 +1 @@
+

binární
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/.signature.p7s


binární
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/AlfaToad.CustomControls.4.2.10.nupkg


+ 448 - 0
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/README.md

@@ -0,0 +1,448 @@
+# AlfaToad.CustomControls
+
+Библиотека пользовательских контролов для **Windows Forms** (.NET Framework 4.8 и .NET 8).
+
+Пакет: [NuGet — AlfaToad.CustomControls](https://www.nuget.org/packages/AlfaToad.CustomControls)
+
+## Компоненты
+
+| Контрол | Назначение |
+|---------|------------|
+| `ScrollableDetailPanel` | Прокручиваемый список строк с фото, полями товара и скидкой |
+| `ScrollableOrderPanel` | Прокручиваемый список строк заказа |
+| `BoundDataGridView` | Таблица с привязкой к `DataSet` и подсветкой столбца |
+
+---
+
+## Установка
+
+```bash
+dotnet add package AlfaToad.CustomControls --version 4.2.1
+```
+
+```xml
+<PackageReference Include="AlfaToad.CustomControls" Version="4.2.1" />
+```
+
+---
+
+## ScrollableDetailPanel — настраиваемые свойства
+
+### Поля данных (имена столбцов в `DataTable`)
+
+| Поле на экране | Свойство | Значение по умолчанию |
+|----------------|----------|----------------------|
+| Фото | `ImageField` | `Фото` |
+| Категория | `CategoryField` | `Категория товара` |
+| Наименование | `NameField` | `Наименование товара` |
+| Описание | `DescriptionField` | `Описание товара` |
+| Производитель | `ManufacturerField` | `Производитель` |
+| Поставщик | `SupplierField` | `Поставщик` |
+| Цена | `PriceField` | `Цена` |
+| Единица измерения | `UnitField` | `Единица измерения` |
+| Количество на складе | `StockField` | `Кол-во на складе` |
+| Скидка | `DiscountField` | `Действующая скидка` |
+
+### Подписи на экране
+
+| Подпись | Свойство | Значение по умолчанию |
+|---------|----------|----------------------|
+| Описание | `DescriptionCaption` | `Описание товара:` |
+| Производитель | `ManufacturerCaption` | `Производитель:` |
+| Поставщик | `SupplierCaption` | `Поставщик:` |
+| Цена | `PriceCaption` | `Цена:` |
+| Единица измерения | `UnitCaption` | `Единица измерения:` |
+| Количество на складе | `StockCaption` | `Количество на складе:` |
+| Заголовок столбца скидки | `DiscountCaption` | `Действующая скидка` |
+
+### Изображения
+
+| Свойство | Описание |
+|----------|----------|
+| `NoImage` | Картинка при отсутствии файла или пустом поле. По умолчанию **не задана** — область фото остаётся пустой. |
+| `ImagesFolder` | Папка, из которой загружаются файлы по имени из `ImageField`. |
+
+### Размеры строки
+
+| Свойство | По умолчанию |
+|----------|--------------|
+| `RowHeight` | `160` |
+| `ImageColumnWidth` | `120` |
+| `DiscountColumnWidth` | `110` |
+| `RowSpacing` | `8` (зона сепаратора между строками) |
+| `OutOfStockRowColor` | голубой `#ADD8E6` (количество на складе ≤ 0) |
+| `RowSeparatorColor` | `Silver` (линия между записями) |
+| `ImageLeftPadding` | `8` (отступ фото от левого края) |
+| `DataSource` | источник данных в дизайнере (DataSet / DataTable / BindingSource) |
+| `DataMember` | имя таблицы в DataSet |
+
+---
+
+## ScrollableOrderPanel — настраиваемые свойства
+
+### Поля данных
+
+| Поле на экране | Свойство | Значение по умолчанию |
+|----------------|----------|----------------------|
+| Артикул заказа | `ArticleField` | `Артикул заказа` |
+| Статус | `StatusField` | `Статус заказа` |
+| Адрес пункта выдачи | `AddressField` | `Адрес пункта выдачи` |
+| Дата заказа | `OrderDateField` | `Дата заказа` |
+| Дата доставки | `DeliveryDateField` | `Дата доставки` |
+
+### Подписи на экране
+
+| Подпись | Свойство | Значение по умолчанию |
+|---------|----------|----------------------|
+| Артикул | `ArticleCaption` | `Артикул заказа` |
+| Статус | `StatusCaption` | `Статус заказа` |
+| Адрес | `AddressCaption` | `Адрес пункта выдачи` |
+| Дата заказа | `OrderDateCaption` | `Дата заказа` |
+| Дата доставки | `DeliveryDateCaption` | `Дата доставки` |
+
+### Размеры строки
+
+| Свойство | По умолчанию |
+|----------|--------------|
+| `RowHeight` | `110` |
+| `DeliveryColumnWidth` | `140` |
+
+---
+
+## Добавление, редактирование и удаление (CRUD)
+
+Оба списка (`ScrollableDetailPanel`, `ScrollableOrderPanel`) поддерживают кнопки **Добавить / Изменить / Удалить** и клик по строке для редактирования. Формы добавления и редактирования открывает **ваше приложение** в обработчиках событий.
+
+### Права по ролям
+
+| Свойство | Описание | По умолчанию |
+|----------|----------|--------------|
+| `AllowAdd` | Показать кнопку добавления | `false` |
+| `AllowEdit` | Показать кнопку изменения и открывать редактирование по клику на строку | `false` |
+| `AllowDelete` | Показать кнопку удаления | `false` |
+| `IsEditSessionActive` | Блокирует второе окно редактирования, пока `true` | `false` |
+| `ValidateBeforeDelete` | Функция проверки перед удалением; верните текст ошибки для запрета | `null` |
+
+При `false` соответствующая кнопка **скрывается**. При попытке действия без прав показывается `MessageBox` с пояснением.
+
+### События
+
+| Событие | Когда срабатывает |
+|---------|-------------------|
+| `RecordAddRequested` | Нажата кнопка «Добавить» |
+| `RecordEditRequested` | Клик по строке или кнопка «Изменить» |
+| `RecordDeleting` | Перед удалением; установите `Cancel = true` и `DenyReason` для отмены |
+| `RecordDeleted` | Строка удалена из `DataTable` (вызовите `Update` в БД) |
+
+После закрытия формы редактирования вызовите `EndEditSession()`, чтобы снова можно было открыть другое окно.
+
+### Пример для администратора (товары)
+
+```csharp
+var panel = new ScrollableDetailPanel { Dock = DockStyle.Fill };
+panel.AllowAdd = panel.AllowEdit = panel.AllowDelete = userIsAdmin;
+panel.ShowQueryPanel = userIsManagerOrAdmin;
+
+panel.ValidateBeforeDelete = row =>
+{
+    var article = row["Артикул"]?.ToString();
+    return ProductExistsInOrders(article)
+        ? "Товар присутствует в заказе и не может быть удалён."
+        : null;
+};
+
+panel.RecordAddRequested += (_, __) => OpenProductForm(null);
+panel.RecordEditRequested += (_, e) => OpenProductForm(e.Row);
+panel.RecordDeleted += (_, e) =>
+{
+    tableAdapter.Update(dataSet);
+    panel.RefreshRows();
+};
+```
+
+### Пример для менеджера (заказы — только просмотр)
+
+```csharp
+ordersPanel.AllowAdd = ordersPanel.AllowEdit = ordersPanel.AllowDelete = userIsAdmin;
+// менеджер: все три свойства false — кнопки скрыты, клик только выделяет строку
+```
+
+### Обработка исключительных случаев
+
+Библиотека показывает `MessageBox` в ситуациях:
+
+- действие недоступно для роли;
+- не выбрана запись для изменения или удаления;
+- уже открыто окно редактирования (`IsEditSessionActive`);
+- `ValidateBeforeDelete` или `RecordDeleting` запретили удаление;
+- ошибка при удалении строки из `DataTable`.
+
+---
+
+## BoundDataGridView — настраиваемые свойства
+
+| Свойство | Описание | По умолчанию |
+|----------|----------|--------------|
+| `HighlightColumnName` | Столбец для подсветки ячеек | `Действующая скидка` |
+| `ApplyRowHighlight` | Включить подсветку | `true` |
+| `Appearance` | Палитра цветов | см. ниже |
+
+---
+
+## AppearancePalette — настройка цветов и шрифтов
+
+Общий объект `Appearance` доступен у всех трёх контролов.
+
+### Редактор в дизайнере Visual Studio
+
+1. Выберите контрол на форме.
+2. В окне **Свойства** найдите `Appearance`.
+3. **Разверните** узел — каждый цвет редактируется стандартным выбором цвета.
+4. Нажмите **«…»** рядом с `Appearance` — откроется окно **«Палитра оформления»** со всеми цветами, шрифтами и порогом скидки; кнопка **«По умолчанию»** сбрасывает значения.
+
+Изменения сразу применяются к контролу на форме в режиме дизайна.
+
+| Свойство | Назначение | По умолчанию |
+|----------|------------|--------------|
+| `MainBackground` | Основной фон | `#FFFFFF` |
+| `SectionBackground` | Фон заголовков таблицы | `#F5DEB3` |
+| `AccentBackground` | Линии сетки таблицы | `#DEB887` |
+| `HighlightBackground` | Подсветка скидки > порога | `#FFDEAD` |
+| `SelectedRowBackground` | Фон выбранной строки списка | `#E8EEF8` |
+| `PrimaryText` | Цвет текста | `Black` |
+| `SeparatorText` | Цвет разделителя `\|` | `Gray` |
+| `BorderColor` | Рамки строк списка | `Black` |
+| `RowSeparatorColor` | Линия между записями | `Silver` |
+| `OutOfStockBackground` | Фон строки без товара на складе | `#ADD8E6` |
+| `StrikethroughPriceColor` | Перечёркнутая цена при скидке | `Red` |
+| `FinalPriceColor` | Итоговая цена при скидке | `Black` |
+| `FontFamily` | Шрифт | `Arial` |
+| `BaseFontSize` | Размер обычного текста | `9` |
+| `TitleFontSize` | Размер заголовка строки | `10` |
+| `HighlightThresholdPercent` | Порог подсветки скидки (%) | `17` |
+
+---
+
+## Алгоритм расчёта скидки
+
+### Назначение
+
+Вычисление **итоговой цены товара** с учётом действующей скидки и определение **способа отображения** цены на экране (`ScrollableDetailPanel`, `BoundDataGridView`).
+
+### Входные данные
+
+| Обозначение | Описание | Источник |
+|-------------|----------|----------|
+| `Ц` | Исходная цена товара | столбец `Цена` (`PriceField`) |
+| `С` | Действующая скидка, % | столбец `Действующая скидка` (`DiscountField`) |
+| `П` | Порог подсветки скидки, % | `Appearance.HighlightThresholdPercent` (по умолчанию 17) |
+
+### Выходные данные
+
+| Обозначение | Описание |
+|-------------|----------|
+| `Ц_итог` | Итоговая цена (руб., 2 знака после запятой) |
+| `Режим` | Способ отображения: «только цена» или «перечёркнутая + итоговая» |
+| `Подсветка` | Применять ли фон подсветки для ячейки/блока скидки |
+
+### Формула
+
+Если `Ц > 0` и `С > 0`:
+
+```
+Ц_итог = ОКРУГЛ( Ц × (1 − С / 100) ; 2 )
+```
+
+Иначе:
+
+```
+Ц_итог = Ц
+```
+
+Округление — **математическое**, до 2 знаков (`MidpointRounding.AwayFromZero`).
+
+### Обозначения блок-схемы
+
+| Символ | Наименование | Назначение в схеме |
+|--------|----------------------|--------------------|
+| ◯ (овал) | **Терминатор** | Начало / конец алгоритма |
+| ▱ (параллелограмм) | **Данные** | Ввод исходных значений `Ц`, `С`, `П` |
+| ▭ (прямоугольник) | **Процесс** | Вычисление, присваивание, форматирование |
+| ◇ (ромб) | **Решение** | Проверка условия (да / нет) |
+
+### Блок-схема алгоритма
+
+![Блок-схема расчёта скидки и подсветки](docs/discount-flowchart.svg)
+
+### Блок-схема в текстовом виде
+
+```
+        ┌─────────────────────────────────┐
+        │            НАЧАЛО               │  ← терминатор (овал)
+        └───────────────┬─────────────────┘
+                        ▼
+        ╔═════════════════════════════════╗
+        ║  Ввод: Ц, С, П                  ║  ← данные (параллелограмм)
+        ╚═════════════════════════════════╝
+                        ▼
+                ┌───────────────┐
+                │  Ц ≤ 0  ИЛИ   │
+                │  С ≤ 0 ?      │              ← решение (ромб)
+                └───┬───────┬───┘
+               ДА   │       │   НЕТ
+                    ▼       ▼
+        ┌───────────────┐   ┌───────────────────────────────┐
+        │ Ц_итог := Ц   │   │ Ц_итог := ОКРУГЛ(Ц×(1−С/100);2)│  ← процесс
+        └───────┬───────┘   └───────────────┬───────────────┘
+                └───────────┬───────────────┘
+                            ▼
+                    ┌───────────────┐
+                    │ С > 0  И      │
+                    │ Ц > 0 ?       │              ← решение (ромб)
+                    └───┬───────┬───┘
+                   ДА   │       │   НЕТ
+                        ▼       ▼
+        ┌───────────────────────┐   ┌─────────────────────────┐
+        │ Режим := перечёркнутая│   │ Режим := только Ц       │
+        │ цена + Ц_итог         │   └───────────┬─────────────┘
+        └───────────┬───────────┘               │
+                    └───────────┬───────────────┘
+                                ▼
+                        ┌───────────────┐
+                        │   С > П ?     │          ← решение (ромб)
+                        └───┬───────┬───┘
+                       ДА   │       │   НЕТ
+                            ▼       ▼
+        ┌───────────────────────┐   ┌─────────────────────────┐
+        │ Подсветка := ДА       │   │ Подсветка := НЕТ        │
+        └───────────┬───────────┘   └───────────┬─────────────┘
+                    └───────────┬───────────────┘
+                                ▼
+        ╔═════════════════════════════════╗
+        ║  Вывод: Ц_итог, Режим,          ║  ← данные (параллелограмм)
+        ║         Подсветка               ║
+        ╚═════════════════════════════════╝
+                                ▼
+        ┌─────────────────────────────────┐
+        │             КОНЕЦ                │  ← терминатор (овал)
+        └─────────────────────────────────┘
+```
+
+### Таблица решений (ветвления)
+
+| № | Условие | Действие |
+|---|---------|----------|
+| 1 | `Ц ≤ 0` **или** `С ≤ 0` | `Ц_итог = Ц` (скидка не применяется) |
+| 2 | `Ц > 0` **и** `С > 0` | `Ц_итог = ОКРУГЛ(Ц × (1 − С/100); 2)` |
+| 3 | `С > 0` **и** `Ц > 0` | Показать старую цену **красной перечёркнутой** и рядом **итоговую чёрную** |
+| 4 | иначе | Показать только `Ц` |
+| 5 | `С > П` | Подсветить ячейку/блок скидки цветом `HighlightBackground` |
+| 6 | `С ≤ П` | Обычный фон |
+
+### Примеры расчёта
+
+| Ц, руб. | С, % | Ц_итог, руб. | Отображение |
+|---------|------|--------------|-------------|
+| 1000 | 0 | 1000,00 | `1000,00` |
+| 1000 | 15 | 850,00 | ~~1000,00~~ **850,00** |
+| 1000 | 20 | 800,00 | ~~1000,00~~ **800,00** + подсветка (20 > 17) |
+| 0 | 10 | 0,00 | `0,00` (скидка не считается) |
+| 500 | −5 | 500,00 | `500,00` (отрицательная скидка игнорируется) |
+
+### Соответствие коду библиотеки
+
+| Шаг алгоритма | Реализация |
+|---------------|------------|
+| Расчёт `Ц_итог` | `ScrollableDetailPanel.CalculateFinalPrice` |
+| Отображение цены в строке | `ProductListRow` → `PriceLinePanel` |
+| Подсветка скидки в списке | `Appearance.HighlightThresholdPercent` |
+| Подсветка в таблице | `BoundDataGridView.OnCellFormatting` |
+
+---
+
+## Примеры использования
+
+### Список товаров с привязкой к DataSet
+
+```csharp
+using System.Data;
+using System.Drawing;
+using AlfaToad.CustomControls.Controls;
+using AlfaToad.CustomControls.Theme;
+
+var panel = new ScrollableDetailPanel { Dock = DockStyle.Fill };
+
+panel.NoImage = Image.FromFile(@"C:\images\no-photo.png");
+panel.ImagesFolder = @"C:\images\products";
+
+panel.CategoryField = "CategoryName";
+panel.NameField = "ProductName";
+panel.DiscountField = "DiscountPercent";
+
+panel.Appearance = new AppearancePalette
+{
+    MainBackground = Color.White,
+    HighlightBackground = Color.FromArgb(255, 222, 173),
+    BorderColor = Color.Black,
+    HighlightThresholdPercent = 17m
+};
+
+DataSet dataSet = LoadProducts();
+panel.BindDataSet(dataSet, "Products");
+```
+
+**Поведение цены:** если `Действующая скидка` > 0, основная цена отображается красной и перечёркнутой, рядом — итоговая цена чёрным (`цена × (1 − скидка/100)`).
+
+**Нет на складе:** если `Кол-во на складе` ≤ 0, вся строка подсвечивается цветом `OutOfStockRowColor`.
+
+### Поиск, фильтрация и сортировка (`ScrollableDetailPanel`)
+
+Панель включена по умолчанию (`ShowQueryPanel = true`). Всё применяется **в реальном времени** без кнопки «Найти».
+
+| Элемент | Поведение |
+|---------|-----------|
+| **Поиск** | Подстрока по всем текстовым столбцам (`string`), одновременно по нескольким полям (логика OR) |
+| **Сортировка** | Цена ↑/↓, кол-во на складе ↑/↓; выбор сохраняется при поиске и фильтре |
+| **Поставщик** | Выпадающий список; первый пункт `Все поставщики` сбрасывает фильтр |
+
+| Свойство | Описание |
+|----------|----------|
+| `ShowQueryPanel` | Показать панель (по умолчанию `true`) |
+| `AllSuppliersCaption` | Текст сброса фильтра (`Все поставщики`) |
+| `SearchFields` | Ограничить столбцы поиска (пусто = все текстовые) |
+| `SupplierField` | Столбец для фильтра поставщика (`Поставщик`) |
+| `PriceField` / `StockField` | Столбцы для сортировки |
+
+```csharp
+panel.ShowQueryPanel = userIsManagerOrAdmin;
+```
+
+После `TableAdapter.Fill(...)` список и список поставщиков обновляются автоматически.
+
+### Список заказов
+
+```csharp
+var orders = new ScrollableOrderPanel { Dock = DockStyle.Fill };
+orders.Appearance = AppearancePalette.CreateDefault();
+orders.Appearance.AccentBackground = Color.BurlyWood;
+orders.BindDataSet(dataSet, "Orders");
+```
+
+### Таблица с подсветкой скидки
+
+```csharp
+var grid = new BoundDataGridView { Dock = DockStyle.Fill };
+grid.Appearance = AppearancePalette.CreateDefault();
+grid.HighlightColumnName = "Действующая скидка";
+grid.ApplyDefaultStyle();
+grid.BindDataSet(dataSet, "Products");
+```
+
+### Смена цветов после создания
+
+```csharp
+panel.Appearance.MainBackground = ColorTranslator.FromHtml("#FAFAFA");
+panel.Appearance.HighlightBackground = ColorTranslator.FromHtml("#FFDEAD");
+panel.Appearance.BorderColor = Color.DimGray;
+panel.ApplyAppearance();
+```

+ 31 - 0
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/build/AlfaToad.CustomControls.targets

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+  <PropertyGroup>
+
+    <AlfaToadCustomControlsDll Condition="'$(AlfaToadCustomControlsDll)' == '' AND '$(TargetFramework)' == 'net8.0-windows'">$(MSBuildThisFileDirectory)..\lib\net8.0-windows7.0\AlfaToad.CustomControls.dll</AlfaToadCustomControlsDll>
+
+    <AlfaToadCustomControlsDll Condition="'$(AlfaToadCustomControlsDll)' == '' AND '$(TargetFramework)' == 'net48'">$(MSBuildThisFileDirectory)..\lib\net48\AlfaToad.CustomControls.dll</AlfaToadCustomControlsDll>
+
+    <AlfaToadCustomControlsDll Condition="'$(AlfaToadCustomControlsDll)' == ''">$(MSBuildThisFileDirectory)..\lib\net48\AlfaToad.CustomControls.dll</AlfaToadCustomControlsDll>
+
+  </PropertyGroup>
+
+
+
+  <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And Exists('$(AlfaToadCustomControlsDll)')">
+
+    <Reference Include="AlfaToad.CustomControls">
+
+      <HintPath>$(AlfaToadCustomControlsDll)</HintPath>
+
+      <Private>False</Private>
+
+    </Reference>
+
+  </ItemGroup>
+
+</Project>
+
+

+ 125 - 0
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/docs/discount-flowchart.svg

@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1380" viewBox="0 0 720 1380" font-family="Segoe UI, Arial, sans-serif">
+  <defs>
+    <marker id="arrow" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
+      <path d="M0,0 L6,3 L0,6 Z" fill="#333"/>
+    </marker>
+    <style>
+      .label { font-size: 13px; fill: #111; }
+      .small { font-size: 12px; fill: #333; }
+      .shape { fill: #fff; stroke: #222; stroke-width: 1.5; }
+      .line { stroke: #333; stroke-width: 1.5; fill: none; marker-end: url(#arrow); }
+    </style>
+  </defs>
+
+  <!-- ' -->
+  <ellipse cx="360" cy="40" rx="90" ry="26" class="shape"/>
+  <text x="360" y="45" text-anchor="middle" class="label">'</text>
+
+  <line x1="360" y1="66" x2="360" y2="92" class="line" marker-end="url(#arrow)"/>
+
+  <!-- 2>4 -->
+  <polygon points="220,92 500,92 470,132 250,132" class="shape"/>
+  <text x="360" y="108" text-anchor="middle" class="small">2>4: &  F5=0, !  A:84:0 %,</text>
+  <text x="360" y="124" text-anchor="middle" class="small">  ?>@>3 ?>4A25B:8</text>
+
+  <line x1="360" y1="132" x2="360" y2="168" class="line"/>
+
+  <!--  5H5=85 1 -->
+  <polygon points="360,168 470,218 360,268 250,218" class="shape"/>
+  <text x="360" y="212" text-anchor="middle" class="small">& d 0</text>
+  <text x="360" y="228" text-anchor="middle" class="small"> ! d 0?</text>
+
+  <!--  -> left -->
+  <line x1="250" y1="218" x2="170" y2="218" class="line"/>
+  <line x1="170" y1="218" x2="170" y2="300" class="line"/>
+  <text x="210" y="210" class="small"></text>
+  <rect x="70" y="300" width="200" height="44" rx="4" class="shape"/>
+  <text x="170" y="327" text-anchor="middle" class="small">&_8B>3 := &</text>
+
+  <!-- " -> right -->
+  <line x1="470" y1="218" x2="550" y2="218" class="line"/>
+  <line x1="550" y1="218" x2="550" y2="300" class="line"/>
+  <text x="510" y="210" class="small">"</text>
+  <rect x="450" y="300" width="200" height="58" rx="4" class="shape"/>
+  <text x="550" y="322" text-anchor="middle" class="small">&_8B>3 :=  #(</text>
+  <text x="550" y="338" text-anchor="middle" class="small">& × (1  !/100); 2)</text>
+
+  <!-- merge to decision 2 -->
+  <line x1="170" y1="344" x2="170" y2="390" class="line"/>
+  <line x1="550" y1="358" x2="550" y2="390" class="line"/>
+  <line x1="170" y1="390" x2="550" y2="390" class="line"/>
+  <line x1="360" y1="390" x2="360" y2="420" class="line"/>
+
+  <!--  5H5=85 2 -->
+  <polygon points="360,420 470,470 360,520 250,470" class="shape"/>
+  <text x="360" y="464" text-anchor="middle" class="small">! &gt; 0</text>
+  <text x="360" y="480" text-anchor="middle" class="small"> & &gt; 0?</text>
+
+  <!--  left -->
+  <line x1="250" y1="470" x2="170" y2="470" class="line"/>
+  <line x1="170" y1="470" x2="170" y2="552" class="line"/>
+  <text x="210" y="462" class="small"></text>
+  <rect x="40" y="552" width="260" height="58" rx="4" class="shape"/>
+  <text x="170" y="574" text-anchor="middle" class="small"> 568< := ?5@5GQ@:=CB0O &</text>
+  <text x="170" y="590" text-anchor="middle" class="small">+ 8B>3>20O &_8B>3</text>
+
+  <!-- " right -->
+  <line x1="470" y1="470" x2="550" y2="470" class="line"/>
+  <line x1="550" y1="470" x2="550" y2="552" class="line"/>
+  <text x="510" y="462" class="small">"</text>
+  <rect x="450" y="552" width="200" height="44" rx="4" class="shape"/>
+  <text x="550" y="579" text-anchor="middle" class="small"> 568< := B>;L:> &</text>
+
+  <!-- merge to decision 3 -->
+  <line x1="170" y1="610" x2="170" y2="650" class="line"/>
+  <line x1="550" y1="596" x2="550" y2="650" class="line"/>
+  <line x1="170" y1="650" x2="550" y2="650" class="line"/>
+  <line x1="360" y1="650" x2="360" y2="680" class="line"/>
+
+  <!--  5H5=85 3 -->
+  <polygon points="360,680 450,730 360,780 270,730" class="shape"/>
+  <text x="360" y="736" text-anchor="middle" class="small">! &gt; ?</text>
+
+  <!--  left -->
+  <line x1="270" y1="730" x2="190" y2="730" class="line"/>
+  <line x1="190" y1="730" x2="190" y2="812" class="line"/>
+  <text x="230" y="722" class="small"></text>
+  <rect x="50" y="812" width="280" height="44" rx="4" class="shape"/>
+  <text x="190" y="839" text-anchor="middle" class="small">>4A25B:0 := HighlightBackground</text>
+
+  <!-- " right -->
+  <line x1="450" y1="730" x2="530" y2="730" class="line"/>
+  <line x1="530" y1="730" x2="530" y2="812" class="line"/>
+  <text x="490" y="722" class="small">"</text>
+  <rect x="430" y="812" width="200" height="44" rx="4" class="shape"/>
+  <text x="530" y="839" text-anchor="middle" class="small">>4A25B:0 := >1KG=K9 D>=</text>
+
+  <!-- merge to output -->
+  <line x1="190" y1="856" x2="190" y2="900" class="line"/>
+  <line x1="530" y1="856" x2="530" y2="900" class="line"/>
+  <line x1="190" y1="900" x2="530" y2="900" class="line"/>
+  <line x1="360" y1="900" x2="360" y2="930" class="line"/>
+
+  <!-- K2>4 -->
+  <polygon points="210,930 510,930 480,980 240,980" class="shape"/>
+  <text x="360" y="952" text-anchor="middle" class="small">K2>4: &_8B>3,  568<,</text>
+  <text x="360" y="968" text-anchor="middle" class="small">>4A25B:0</text>
+
+  <line x1="360" y1="980" x2="360" y2="1020" class="line"/>
+
+  <!-- & -->
+  <ellipse cx="360" cy="1050" rx="90" ry="26" class="shape"/>
+  <text x="360" y="1055" text-anchor="middle" class="label">&</text>
+
+  <!-- Legend -->
+  <text x="40" y="1120" class="small" font-weight="bold">1>7=0G5=8O:</text>
+  <ellipse cx="70" cy="1145" rx="28" ry="12" class="shape"/>
+  <text x="110" y="1149" class="small">B5@<8=0B>@ (=0G0;> / :>=5F)</text>
+  <polygon points="40,1165 100,1165 90,1185 50,1185" class="shape"/>
+  <text x="110" y="1180" class="small">40==K5 (22>4 / 2K2>4)</text>
+  <rect x="42" y="1195" width="56" height="24" rx="3" class="shape"/>
+  <text x="110" y="1212" class="small">?@>F5AA</text>
+  <polygon points="70,1235 95,1250 70,1265 45,1250" class="shape"/>
+  <text x="110" y="1254" class="small">@5H5=85 (40 / =5B)</text>
+</svg>

binární
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net48/AlfaToad.CustomControls.dll


+ 81 - 0
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net48/AlfaToad.CustomControls.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.CustomControls</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.CustomControls.Controls.BoundDataGridView">
+            <summary>
+            Таблица с привязкой к DataSet и подсветкой значений выше порога в отдельном столбце.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Controls.ScrollableDetailPanel">
+            <summary>
+            Прокручиваемый список строк детализации: изображение, поля записи и скидка в каждой строке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.ClearSelection">
+            <summary>
+            Сбрасывает выбранную строку в списке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.SelectDataRow(System.Data.DataRow)">
+            <summary>
+            Выбирает строку по ссылке на DataRow после перезагрузки таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.RebuildNow">
+            <summary>
+            Немедленно перестраивает список строк (без отложенного вызова).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Controls.ScrollableOrderPanel">
+            <summary>
+            Прокручиваемый список строк заказа: основные поля слева, дата доставки справа.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.ClearSelection">
+            <summary>
+            Сбрасывает выбранную строку в списке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.SelectDataRow(System.Data.DataRow)">
+            <summary>
+            Выбирает строку по ссылке на DataRow после перезагрузки таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.RebuildNow">
+            <summary>
+            Немедленно перестраивает список строк (без отложенного вызова).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Data.DataSetBinder">
+            <summary>Привязка таблицы DataGridView к DataSet.</summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Data.ProductSortOption">
+            <summary>Вариант сортировки списка товаров.</summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.CustomControls.Data.ScrollablePanelRebuildScheduler" -->
+        <member name="T:AlfaToad.CustomControls.Helpers.ControlPaintHelper">
+            <summary>
+            Включает двойную буферизацию для панелей списка (снижает мерцание при RebuildRows).
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.CustomControls.Helpers.ImageResizeHelper" -->
+        <member name="T:AlfaToad.CustomControls.Helpers.RowImageCache">
+            <summary>
+            Кэш изображений строк по ключу файла: один master-бitmap на файл, клоны для PictureBox.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Theme.AppearancePalette">
+            <summary>
+            Набор цветов, шрифтов и порогов оформления.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Theme.AppearancePaletteTypeConverter">
+            <summary>
+            Разворачивает палитру в окне свойств и поддерживает копирование значений.
+            </summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net8.0-windows7.0/AlfaToad.CustomControls.dll


+ 81 - 0
WindowsFormsApp1/packages/AlfaToad.CustomControls.4.2.10/lib/net8.0-windows7.0/AlfaToad.CustomControls.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.CustomControls</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.CustomControls.Controls.BoundDataGridView">
+            <summary>
+            Таблица с привязкой к DataSet и подсветкой значений выше порога в отдельном столбце.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Controls.ScrollableDetailPanel">
+            <summary>
+            Прокручиваемый список строк детализации: изображение, поля записи и скидка в каждой строке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.ClearSelection">
+            <summary>
+            Сбрасывает выбранную строку в списке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.SelectDataRow(System.Data.DataRow)">
+            <summary>
+            Выбирает строку по ссылке на DataRow после перезагрузки таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableDetailPanel.RebuildNow">
+            <summary>
+            Немедленно перестраивает список строк (без отложенного вызова).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Controls.ScrollableOrderPanel">
+            <summary>
+            Прокручиваемый список строк заказа: основные поля слева, дата доставки справа.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.ClearSelection">
+            <summary>
+            Сбрасывает выбранную строку в списке.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.SelectDataRow(System.Data.DataRow)">
+            <summary>
+            Выбирает строку по ссылке на DataRow после перезагрузки таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.CustomControls.Controls.ScrollableOrderPanel.RebuildNow">
+            <summary>
+            Немедленно перестраивает список строк (без отложенного вызова).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Data.DataSetBinder">
+            <summary>Привязка таблицы DataGridView к DataSet.</summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Data.ProductSortOption">
+            <summary>Вариант сортировки списка товаров.</summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.CustomControls.Data.ScrollablePanelRebuildScheduler" -->
+        <member name="T:AlfaToad.CustomControls.Helpers.ControlPaintHelper">
+            <summary>
+            Включает двойную буферизацию для панелей списка (снижает мерцание при RebuildRows).
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.CustomControls.Helpers.ImageResizeHelper" -->
+        <member name="T:AlfaToad.CustomControls.Helpers.RowImageCache">
+            <summary>
+            Кэш изображений строк по ключу файла: один master-бitmap на файл, клоны для PictureBox.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Theme.AppearancePalette">
+            <summary>
+            Набор цветов, шрифтов и порогов оформления.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.CustomControls.Theme.AppearancePaletteTypeConverter">
+            <summary>
+            Разворачивает палитру в окне свойств и поддерживает копирование значений.
+            </summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/.signature.p7s


binární
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/AlfaToad.DataSetCRUDS.1.1.7.nupkg


+ 281 - 0
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/README.md

@@ -0,0 +1,281 @@
+# AlfaToad.DataSetCRUDS
+
+NuGet-пакет готовых **форм добавления и редактирования** для контролов [AlfaToad.CustomControls](https://www.nuget.org/packages/AlfaToad.CustomControls).
+
+Достаточно указать `DataSet`, имя таблицы и делегат сохранения — CRUD для `ScrollableDetailPanel` и `ScrollableOrderPanel` работает автоматически.
+
+## Возможности
+
+| Компонент | Назначение |
+|-----------|------------|
+| `DetailRecordEditForm` | Модальная форма добавления/редактирования записи каталога |
+| `OrderRecordEditForm` | Модальная форма добавления/редактирования записи заказа |
+| `DetailPanelCrudBinder` | Подключает `ScrollableDetailPanel` к форме и сохранению |
+| `OrderPanelCrudBinder` | Подключает `ScrollableOrderPanel` к форме и сохранению |
+| `DataSetCrudHost` | Единая точка настройки обеих панелей |
+| `DetailRecordFieldMap` | Сопоставление имён столбцов каталога |
+| `OrderRecordFieldMap` | Сопоставление имён столбцов заказов |
+| `DataSetCrudOptions` | Оформление, папка изображений, ресайз фото, ConnectionString, ClientUsersTable, валидация удаления, сохранение |
+| `AppDialog` | Единые окна: ошибка / предупреждение / информация / подтверждение |
+| `ViewDataTablePersistence` | **Insert/Update/Delete для view без TableAdapter.Update** |
+| `ViewPersistenceProfile` | Профиль SQL: `NormalizedCatalogView`, `NormalizedOrdersView` |
+
+### Формы редактирования
+
+- Разметка и код в **одном файле** (без отдельного `Designer.cs`)
+- Палитра `AppearancePalette` из CustomControls
+- Валидация обязательных полей и диапазонов (цена, скидка, количество)
+- Предпросмотр изображения из `ImagesFolder`
+- ComboBox `DropDownList` с placeholder «— выберите —» для категории, производителя, поставщика, единицы измерения, статуса и клиента заказа
+- NumericUpDown для цены, количества и скидки
+- Валидация: цена ≥ 0 и не более 2 знаков после запятой; количество ≥ 0; скидка 0–100
+- Кнопки «Обзор…» и «Очистить» — выбор и удаление изображения
+- Автономер заказа: MAX + 1 при добавлении, readonly при редактировании
+
+### Биндеры
+
+- Автоматическая подписка на `RecordAddRequested`, `RecordEditRequested`, `RecordDeleted`
+- Вызов `EndEditSession()` после закрытия формы
+- Обновление списка через `RefreshRows()` после сохранения
+- Обработка ошибок сохранения в БД через `PersistChanges`
+
+## Установка
+
+```bash
+dotnet add package AlfaToad.DataSetCRUDS --version 1.0.5
+```
+
+```xml
+<PackageReference Include="AlfaToad.DataSetCRUDS" Version="1.0.5" />
+```
+
+Зависимость: `AlfaToad.CustomControls` ≥ 4.2.4
+
+## Сохранение view без TableAdapter.Update (глобальное решение)
+
+Visual Studio **не генерирует** `Update()` для представлений (`DbObjectType="View"`).  
+Пакет решает это на уровне NuGet: достаточно создать Typed DataSet с **одним view** и использовать только `Fill()`.
+
+```csharp
+using AlfaToad.DataSetCRUDS.Configuration;
+using AlfaToad.DataSetCRUDS.Persistence;
+
+// DataSet с view каталога — только Fill(), Update() в TableAdapter не нужен
+// ViewPersistenceProfile.NormalizedCatalogView — INSERT/UPDATE/DELETE в Product + справочники
+var persistCatalog = ViewDataTablePersistence.CreatePersistAction(
+    dataSet,
+    "vCatalog",
+    connectionString,
+    ViewPersistenceProfile.NormalizedCatalogView,
+    settings.DetailFields);
+
+DetailPanelCrudBinder.WireUp(panel, dataSet, "vCatalog", persistCatalog, settings.DetailFields);
+```
+
+Для заказов:
+
+```csharp
+// ViewPersistenceProfile.NormalizedOrdersView — INSERT/UPDATE/DELETE в dbo.[Order] + OrderItem;
+// ClientUserId передаётся параметром @ClientUserId (поиск по FullName в dbo.[User])
+var persistOrders = ViewDataTablePersistence.CreatePersistAction(
+    dataSet,
+    "vOrders",
+    connectionString,
+    ViewPersistenceProfile.NormalizedOrdersView,
+    orderFields: settings.OrderFields);
+```
+
+`ViewDataTablePersistence.ApplyChanges` выполняет INSERT/UPDATE/DELETE в таблицы `Product` / `[Order]` / `OrderItem`,  
+переводя текстовые поля view (Поставщик, Категория, Статус…) в ID справочников.
+
+С **AlfaToad.DefaultScreens** — одна строка:
+
+```csharp
+var data = new ApplicationDataContext { /* DataSet, Fill-делегаты */ }
+    .WithViewDataPersistence(connectionString, settings);
+```
+
+**Ручное редактирование `.xsd` не требуется.**
+
+## Пример `Program.cs`
+
+См. также [AlfaToad.DefaultScreens README](https://www.nuget.org/packages/AlfaToad.DefaultScreens) — ниже шаблон с комментариями к полям пакета:
+
+```csharp
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+using AlfaToad.CustomControls.Theme;
+using AlfaToad.DataSetCRUDS.Configuration;
+using AlfaToad.DefaultScreens.Configuration;
+using AlfaToad.DefaultScreens.Navigation;
+using YourApp;                                    // ваш Typed DataSet
+using YourApp.YourDataSetTableAdapters;
+
+namespace YourApp
+{
+    internal static class Program
+    {
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 1. DataSet и TableAdapter-ы
+            // Для view достаточно Fill() — Insert/Update/Delete делает пакет
+            // ═══════════════════════════════════════════════════════════════
+            var dataSet = new YourDataSet(); // замените на ваш Typed DataSet
+            var tovarTableAdapter = new vCatalogTableAdapter();
+            var ordersTableAdapter = new vOrdersTableAdapter();
+            var usersTableAdapter = new vw_UsersLoginTableAdapter();
+
+            var connectionString = "Server=YOUR_SERVER;Database=YOUR_DATABASE;Trusted_Connection=True;";
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 2. ApplicationScreenSettings
+            // ═══════════════════════════════════════════════════════════════
+            var settings = ApplicationScreenSettings.CreateDefault();
+            settings.BackMenuText = "Назад";
+            settings.ImagesFolder = @"C:\Path\To\Your\Resources\import";
+            settings.ImageResizeWidth = 300;
+            settings.ImageResizeHeight = 200;
+            settings.ApplyResourcePaths();
+
+            // CreateCatalogCrudOptions() задаёт AutoResizeImages, DeleteImageFileOnRemove,
+            // DeleteOldImageOnReplace, ConnectionString, ImageResizeWidth/Height
+            // CreateOrderCrudOptions(clientUsers, connectionString) — ClientUsersTable для ComboBox клиента
+
+            settings.DetailFields = new DetailRecordFieldMap { /* столбцы каталога */ };
+            settings.OrderFields = new OrderRecordFieldMap
+            {
+                ClientNameField = "ФИО авторизированного клиента" // ComboBox на форме заказа
+            };
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 6. ApplicationDataContext + WithViewDataPersistence
+            // ViewPersistenceProfile.NormalizedCatalogView / NormalizedOrdersView
+            // ═══════════════════════════════════════════════════════════════
+            var data = new ApplicationDataContext
+            {
+                CatalogDataSet = dataSet,
+                CatalogTableName = "vCatalog",
+                OrdersDataSet = dataSet,
+                OrdersTableName = "vOrders",
+                UsersDataSet = dataSet,
+                UsersTableName = "vw_UsersLogin",
+                LoadUsers = () => usersTableAdapter.Fill(dataSet.vw_UsersLogin),
+                LoadCatalog = () => tovarTableAdapter.Fill(dataSet.vCatalog),
+                LoadOrders = () => ordersTableAdapter.Fill(dataSet.vOrders),
+            }
+            .WithViewDataPersistence(connectionString, settings);
+
+            new ApplicationNavigator(settings, data).Start();
+        }
+    }
+}
+```
+
+## Быстрый старт — каталог
+
+```csharp
+using AlfaToad.CustomControls.Controls;
+using AlfaToad.DataSetCRUDS.Integration;
+
+var panel = new ScrollableDetailPanel { Dock = DockStyle.Fill };
+panel.AllowAdd = panel.AllowEdit = panel.AllowDelete = true;
+
+DetailPanelCrudBinder.WireUp(
+    panel,
+    catalogDataSet,
+    "CatalogItems",
+    () => catalogTableAdapter.Update(catalogDataSet),
+    options: new DataSetCrudOptions
+    {
+        ImagesFolder = @"C:\Path\To\Your\Resources\images",
+        AutoResizeImages = true,
+        DeleteImageFileOnRemove = true,
+        DeleteOldImageOnReplace = true,
+        ConnectionString = connectionString,
+        ImageResizeWidth = 300,
+        ImageResizeHeight = 200,
+        PersistChanges = () => catalogTableAdapter.Update(catalogDataSet)
+    });
+```
+
+## Быстрый старт — заказы
+
+```csharp
+using AlfaToad.DataSetCRUDS.Integration;
+
+OrderPanelCrudBinder.WireUp(
+    ordersPanel,
+    ordersDataSet,
+    "Orders",
+    () => ordersTableAdapter.Update(ordersDataSet),
+    orderFields,
+    new DataSetCrudOptions
+    {
+        ClientUsersTable = clientUsersTable, // UserId + FullName, роль = Client
+        DefaultClientName = "Иванов Иван Иванович",
+        ConnectionString = connectionString
+    });
+```
+
+## Обе панели через DataSetCrudHost
+
+```csharp
+new DataSetCrudHost()
+    .WireDetailPanel(detailPanel, catalogDataSet, "CatalogItems", () => taCatalog.Update(catalogDataSet))
+    .WireOrderPanel(orderPanel, ordersDataSet, "Orders", () => taOrders.Update(ordersDataSet));
+```
+
+## Настройка имён столбцов
+
+Если ваши столбцы в БД имеют другие имена, задайте карту полей:
+
+```csharp
+var fields = new DetailRecordFieldMap
+{
+    PrimaryKeyField = "Article",
+    NameField = "Наименование товара",
+    CategoryField = "Категория товара",
+    ImageField = "Фото",
+    PriceField = "Цена",
+    StockField = "Кол-во на складе",
+    DiscountField = "Действующая скидка"
+};
+
+DetailPanelCrudBinder.WireUp(panel, dataSet, "vCatalog", persist, fields);
+```
+
+## Валидация перед сохранением
+
+```csharp
+var options = new DataSetCrudOptions
+{
+    ValidateBeforeSave = row =>
+    {
+        var key = row["RecordId"]?.ToString();
+        return IsUsedInOrders(key) ? "Запись используется в связанных данных." : null;
+    },
+    PersistChanges = () => tableAdapter.Update(dataSet)
+};
+```
+
+## Пошаговая настройка (без WireUp)
+
+```csharp
+var binder = new DetailPanelCrudBinder(panel)
+    .Configure(dataSet, "CatalogItems", () => ta.Update(dataSet))
+    .Attach();
+
+// При закрытии формы:
+binder.Detach();
+```
+
+## Платформы
+
+- .NET Framework 4.8
+- .NET 8 (Windows)

binární
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net48/AlfaToad.DataSetCRUDS.dll


+ 429 - 0
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net48/AlfaToad.DataSetCRUDS.xml

@@ -0,0 +1,429 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.DataSetCRUDS</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions">
+            <summary>
+            Общие параметры CRUD-привязки: оформление, папка изображений и сохранение в БД.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions.CreateDefault">
+            <summary>
+            Создаёт настройки с палитрой по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap">
+            <summary>
+            Сопоставление имён столбцов DataTable с полями формы редактирования детальной записи.
+            Значения по умолчанию совместимы с ScrollableDetailPanel из AlfaToad.CustomControls.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap.ApplyToPanel(AlfaToad.CustomControls.Controls.ScrollableDetailPanel)">
+            <summary>
+            Копирует имена полей в свойства панели ScrollableDetailPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap.CreateDefault">
+            <summary>
+            Создаёт карту с именами по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap">
+            <summary>
+            Сопоставление имён столбцов DataTable с полями формы редактирования записи заказа.
+            Значения по умолчанию совместимы с ScrollableOrderPanel из AlfaToad.CustomControls.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap.ApplyToPanel(AlfaToad.CustomControls.Controls.ScrollableOrderPanel)">
+            <summary>
+            Копирует имена полей в свойства панели ScrollableOrderPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap.CreateDefault">
+            <summary>
+            Создаёт карту с именами по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Forms.DetailRecordEditForm">
+            <summary>
+            Форма добавления и редактирования товара (каталог).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Forms.OrderRecordEditForm">
+            <summary>
+            Форма добавления и редактирования заказа.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper">
+            <summary>
+            Сохраняет изменения DataSet и показывает сообщения об ошибках пользователю.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper.TryPersist(AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Вызывает делегат PersistChanges и обрабатывает исключения.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper.ValidateRow(System.Data.DataRow,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.String@)">
+            <summary>
+            Проверяет запись перед сохранением через ValidateBeforeSave.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper">
+            <summary>
+            Вспомогательные методы чтения и записи значений DataRow для форм редактирования.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetString(System.Data.DataRow,System.String)">
+            <summary>
+            Безопасно читает строковое значение столбца.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.IsUsableDataRow(System.Data.DataRow)">
+            <summary>
+            Проверяет, что строка всё ещё принадлежит таблице (не Detached после Fill).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetString(System.Data.DataRow,System.String,System.String)">
+            <summary>
+            Записывает строковое значение; пустая строка сохраняется как DBNull при nullable-столбце.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetDecimal(System.Data.DataRow,System.String)">
+            <summary>
+            Читает decimal из ячейки; при ошибке возвращает 0.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetDecimal(System.Data.DataRow,System.String,System.Decimal)">
+            <summary>
+            Записывает decimal в ячейку с учётом типа столбца.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetInt32(System.Data.DataRow,System.String)">
+            <summary>
+            Читает int из ячейки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetInt32(System.Data.DataRow,System.String,System.Int32)">
+            <summary>
+            Записывает int в ячейку.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetDateTime(System.Data.DataRow,System.String)">
+            <summary>
+            Читает дату из ячейки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetDateTime(System.Data.DataRow,System.String,System.Nullable{System.DateTime})">
+            <summary>
+            Записывает дату; null сохраняется как DBNull.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillComboFromColumn(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String,System.Boolean,System.String)">
+            <summary>
+            Заполняет ComboBox уникальными значениями столбца из таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.HasColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Проверяет наличие столбца в таблице.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.CanWriteColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Проверяет, что столбец существует и доступен для записи.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetNextInt32FromColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Возвращает следующий int = MAX(столбец) + 1 по всем строкам таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillClientUserCombo(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String)">
+            <summary>
+            Заполняет ComboBox клиентами с сохранением UserId в элементах списка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryGetSelectedClientUserId(System.Windows.Forms.ComboBox,System.Int32@)">
+            <summary>
+            Возвращает UserId выбранного клиента из ComboBox, заполненного через FillClientUserCombo.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectClientUserCombo(System.Windows.Forms.ComboBox,System.Int32)">
+            <summary>
+            Выбирает клиента в ComboBox по UserId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillPickupPointCombo(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String)">
+            <summary>
+            Заполняет ComboBox адресами пунктов выдачи с сохранением PickupPointId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryGetSelectedPickupPointId(System.Windows.Forms.ComboBox,System.Int32@,System.String@)">
+            <summary>
+            Возвращает PickupPointId и адрес выбранного пункта выдачи.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryFindPickupPointIdByAddress(System.String,System.Data.DataTable,System.Windows.Forms.ComboBox,System.Int32@)">
+            <summary>
+            Ищет PickupPointId по тексту адреса в справочнике или элементах ComboBox.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectPickupPointCombo(System.Windows.Forms.ComboBox,System.Int32)">
+            <summary>
+            Выбирает пункт выдачи в ComboBox по PickupPointId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectPickupPointComboByAddress(System.Windows.Forms.ComboBox,System.String)">
+            <summary>
+            Выбирает пункт выдачи в ComboBox по тексту адреса.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.IsPlaceholderComboText(System.String)">
+            <summary>
+            Проверяет, что в ComboBox выбран реальный клиент, а не заглушка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectComboValue(System.Windows.Forms.ComboBox,System.String)">
+            <summary>
+            Выбирает значение в ComboBox (DropDownList).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryParsePrice(System.String,System.Decimal@,System.String@)">
+            <summary>
+            Проверяет цену: неотрицательная, не более 2 знаков после запятой.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryParseNonNegativeInt(System.String,System.Int32@,System.String@)">
+            <summary>
+            Проверяет целое неотрицательное количество.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.FormAppearanceHelper">
+            <summary>
+            Применяет палитру AppearancePalette к стандартным элементам формы редактирования.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.FormAppearanceHelper.Apply(System.Windows.Forms.Form,AlfaToad.CustomControls.Theme.AppearancePalette)">
+            <summary>
+            Настраивает фон, шрифт и цвета кнопок формы.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper">
+            <summary>
+            Ресайз изображений, сохранение в папку приложения и удаление старых файлов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.SaveResizedImage(System.String,System.String,System.Int32,System.Int32,System.String)">
+            <summary>
+            Сохраняет изображение с ресайзом и возвращает имя файла для записи в БД.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.DeleteImageIfExists(System.String,System.String)">
+            <summary>
+            Удаляет файл изображения из папки, если он существует.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.ResolveImagePath(System.String,System.String)">
+            <summary>
+            Возвращает полный путь к файлу изображения в папке.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.OrderClientLookup">
+            <summary>
+            Читает ClientUserId заказа из dbo.[Order], когда view его не содержит.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.OrderRowPendingStore">
+            <summary>
+            Хранит значения формы заказа, когда столбцы view доступны только для чтения.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.PickupPointLookup">
+            <summary>
+            Загружает пункты выдачи из dbo.PickupPoint для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.DataSetCRUDS.Helpers.RecordDeleteValidator" -->
+        <!-- Badly formed XML comment ignored for member "M:AlfaToad.DataSetCRUDS.Helpers.RecordDeleteValidator.ValidateCatalogDelete(System.String,System.Data.DataRow,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap)" -->
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost">
+            <summary>
+            Единая точка настройки CRUD для обеих панелей списка в одном приложении.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.DetailBinder">
+            <summary>
+            Биндер панели детальных записей (может быть null, если не используется).
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.OrderBinder">
+            <summary>
+            Биндер панели записей заказа (может быть null, если не используется).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.WireDetailPanel(AlfaToad.CustomControls.Controls.ScrollableDetailPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Подключает CRUD к панели детализации.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.WireOrderPanel(AlfaToad.CustomControls.Controls.ScrollableOrderPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Подключает CRUD к панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.DetachAll">
+            <summary>
+            Отключает все подписки CRUD.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder">
+            <summary>
+            Подключает ScrollableDetailPanel к форме DetailRecordEditForm и сохранению DataSet.
+            Достаточно указать DataSet, имя таблицы и делегат PersistChanges.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.#ctor(AlfaToad.CustomControls.Controls.ScrollableDetailPanel)">
+            <summary>
+            Создаёт биндер для указанной панели списка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Configure(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настраивает источник данных и параметры CRUD одним вызовом.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Attach">
+            <summary>
+            Подписывает обработчики CRUD на панель. Повторный вызов игнорируется.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Detach">
+            <summary>
+            Отписывает обработчики CRUD.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.WireUp(AlfaToad.CustomControls.Controls.ScrollableDetailPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Удобный статический метод: настройка и подключение за один вызов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.OpenEditForm(System.Data.DataRow)">
+            <summary>
+            Открывает модальную форму редактирования и сохраняет результат в DataSet.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder">
+            <summary>
+            Подключает ScrollableOrderPanel к форме OrderRecordEditForm и сохранению DataSet.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.#ctor(AlfaToad.CustomControls.Controls.ScrollableOrderPanel)">
+            <summary>
+            Создаёт биндер для панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Configure(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настраивает DataSet, таблицу и сохранение.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Attach">
+            <summary>
+            Подписывает обработчики CRUD.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Detach">
+            <summary>
+            Отписывает обработчики.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.WireUp(AlfaToad.CustomControls.Controls.ScrollableOrderPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настройка и подключение одним вызовом.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedCatalogSql">
+            <summary>
+            SQL-команды view каталога → dbo.Product (нормализованная схема).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.MirIgryshkiCatalogSql">
+            <summary>
+            Устаревшее имя — используйте <see cref="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedCatalogSql"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrderItemsSql">
+            <summary>
+            SQL для синхронизации строк заказа (OrderItem) после insert/update dbo.[Order].
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrdersSql">
+            <summary>
+            SQL-команды view заказов → dbo.[Order] (нормализованная схема).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.MirIgryshkiOrdersSql">
+            <summary>
+            Устаревшее имя — используйте <see cref="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrdersSql"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence">
+            <summary>
+            Сохраняет изменения DataTable, загруженной из SQL-view, без TableAdapter.Update.
+            Подходит для любого нового Typed DataSet с одним view — достаточно Fill() для чтения.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence.ApplyChanges(System.Data.DataSet,System.String,System.String,AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap)">
+            <summary>
+            Применяет Insert/Update/Delete для изменённых строк таблицы view.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence.CreatePersistAction(System.Data.DataSet,System.String,System.String,AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap)">
+            <summary>
+            Создаёт делегат PersistChanges для ApplicationDataContext или DataSetCrudOptions.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile">
+            <summary>
+            Профиль сохранения: view в DataSet → базовая таблица SQL Server.
+            Достаточно заполнить view через TableAdapter.Fill — Insert/Update/Delete выполняет пакет.
+            </summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedCatalogView">
+            <summary>View каталога → dbo.Products.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedOrdersView">
+            <summary>View заказов → dbo.Orders.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.MirIgryshkiCatalog">
+            <summary>Устаревшее имя — используйте <see cref="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedCatalogView"/>.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.MirIgryshkiOrders">
+            <summary>Устаревшее имя — используйте <see cref="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedOrdersView"/>.</summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewRowRefresher">
+            <summary>
+            Перечитывает строки view из БД после сохранения, чтобы список показывал актуальные данные.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.UI.AppDialog">
+            <summary>
+            Единые окна сообщений: ошибка, предупреждение, информация, подтверждение.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowError(System.String,System.String)">
+            <summary>Показывает сообщение об ошибке.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowWarning(System.String,System.String)">
+            <summary>Показывает предупреждение.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowInfo(System.String,System.String)">
+            <summary>Показывает информационное сообщение.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.Confirm(System.String,System.String)">
+            <summary>Запрашивает подтверждение Yes/No.</summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net8.0-windows7.0/AlfaToad.DataSetCRUDS.dll


+ 429 - 0
WindowsFormsApp1/packages/AlfaToad.DataSetCRUDS.1.1.7/lib/net8.0-windows7.0/AlfaToad.DataSetCRUDS.xml

@@ -0,0 +1,429 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.DataSetCRUDS</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions">
+            <summary>
+            Общие параметры CRUD-привязки: оформление, папка изображений и сохранение в БД.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions.CreateDefault">
+            <summary>
+            Создаёт настройки с палитрой по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap">
+            <summary>
+            Сопоставление имён столбцов DataTable с полями формы редактирования детальной записи.
+            Значения по умолчанию совместимы с ScrollableDetailPanel из AlfaToad.CustomControls.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap.ApplyToPanel(AlfaToad.CustomControls.Controls.ScrollableDetailPanel)">
+            <summary>
+            Копирует имена полей в свойства панели ScrollableDetailPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap.CreateDefault">
+            <summary>
+            Создаёт карту с именами по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap">
+            <summary>
+            Сопоставление имён столбцов DataTable с полями формы редактирования записи заказа.
+            Значения по умолчанию совместимы с ScrollableOrderPanel из AlfaToad.CustomControls.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap.ApplyToPanel(AlfaToad.CustomControls.Controls.ScrollableOrderPanel)">
+            <summary>
+            Копирует имена полей в свойства панели ScrollableOrderPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap.CreateDefault">
+            <summary>
+            Создаёт карту с именами по умолчанию.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Forms.DetailRecordEditForm">
+            <summary>
+            Форма добавления и редактирования товара (каталог).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Forms.OrderRecordEditForm">
+            <summary>
+            Форма добавления и редактирования заказа.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper">
+            <summary>
+            Сохраняет изменения DataSet и показывает сообщения об ошибках пользователю.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper.TryPersist(AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Вызывает делегат PersistChanges и обрабатывает исключения.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.CrudPersistenceHelper.ValidateRow(System.Data.DataRow,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.String@)">
+            <summary>
+            Проверяет запись перед сохранением через ValidateBeforeSave.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper">
+            <summary>
+            Вспомогательные методы чтения и записи значений DataRow для форм редактирования.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetString(System.Data.DataRow,System.String)">
+            <summary>
+            Безопасно читает строковое значение столбца.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.IsUsableDataRow(System.Data.DataRow)">
+            <summary>
+            Проверяет, что строка всё ещё принадлежит таблице (не Detached после Fill).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetString(System.Data.DataRow,System.String,System.String)">
+            <summary>
+            Записывает строковое значение; пустая строка сохраняется как DBNull при nullable-столбце.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetDecimal(System.Data.DataRow,System.String)">
+            <summary>
+            Читает decimal из ячейки; при ошибке возвращает 0.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetDecimal(System.Data.DataRow,System.String,System.Decimal)">
+            <summary>
+            Записывает decimal в ячейку с учётом типа столбца.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetInt32(System.Data.DataRow,System.String)">
+            <summary>
+            Читает int из ячейки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetInt32(System.Data.DataRow,System.String,System.Int32)">
+            <summary>
+            Записывает int в ячейку.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetDateTime(System.Data.DataRow,System.String)">
+            <summary>
+            Читает дату из ячейки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SetDateTime(System.Data.DataRow,System.String,System.Nullable{System.DateTime})">
+            <summary>
+            Записывает дату; null сохраняется как DBNull.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillComboFromColumn(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String,System.Boolean,System.String)">
+            <summary>
+            Заполняет ComboBox уникальными значениями столбца из таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.HasColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Проверяет наличие столбца в таблице.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.CanWriteColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Проверяет, что столбец существует и доступен для записи.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.GetNextInt32FromColumn(System.Data.DataTable,System.String)">
+            <summary>
+            Возвращает следующий int = MAX(столбец) + 1 по всем строкам таблицы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillClientUserCombo(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String)">
+            <summary>
+            Заполняет ComboBox клиентами с сохранением UserId в элементах списка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryGetSelectedClientUserId(System.Windows.Forms.ComboBox,System.Int32@)">
+            <summary>
+            Возвращает UserId выбранного клиента из ComboBox, заполненного через FillClientUserCombo.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectClientUserCombo(System.Windows.Forms.ComboBox,System.Int32)">
+            <summary>
+            Выбирает клиента в ComboBox по UserId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.FillPickupPointCombo(System.Windows.Forms.ComboBox,System.Data.DataTable,System.String)">
+            <summary>
+            Заполняет ComboBox адресами пунктов выдачи с сохранением PickupPointId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryGetSelectedPickupPointId(System.Windows.Forms.ComboBox,System.Int32@,System.String@)">
+            <summary>
+            Возвращает PickupPointId и адрес выбранного пункта выдачи.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryFindPickupPointIdByAddress(System.String,System.Data.DataTable,System.Windows.Forms.ComboBox,System.Int32@)">
+            <summary>
+            Ищет PickupPointId по тексту адреса в справочнике или элементах ComboBox.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectPickupPointCombo(System.Windows.Forms.ComboBox,System.Int32)">
+            <summary>
+            Выбирает пункт выдачи в ComboBox по PickupPointId.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectPickupPointComboByAddress(System.Windows.Forms.ComboBox,System.String)">
+            <summary>
+            Выбирает пункт выдачи в ComboBox по тексту адреса.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.IsPlaceholderComboText(System.String)">
+            <summary>
+            Проверяет, что в ComboBox выбран реальный клиент, а не заглушка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.SelectComboValue(System.Windows.Forms.ComboBox,System.String)">
+            <summary>
+            Выбирает значение в ComboBox (DropDownList).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryParsePrice(System.String,System.Decimal@,System.String@)">
+            <summary>
+            Проверяет цену: неотрицательная, не более 2 знаков после запятой.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.DataRowFormHelper.TryParseNonNegativeInt(System.String,System.Int32@,System.String@)">
+            <summary>
+            Проверяет целое неотрицательное количество.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.FormAppearanceHelper">
+            <summary>
+            Применяет палитру AppearancePalette к стандартным элементам формы редактирования.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.FormAppearanceHelper.Apply(System.Windows.Forms.Form,AlfaToad.CustomControls.Theme.AppearancePalette)">
+            <summary>
+            Настраивает фон, шрифт и цвета кнопок формы.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper">
+            <summary>
+            Ресайз изображений, сохранение в папку приложения и удаление старых файлов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.SaveResizedImage(System.String,System.String,System.Int32,System.Int32,System.String)">
+            <summary>
+            Сохраняет изображение с ресайзом и возвращает имя файла для записи в БД.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.DeleteImageIfExists(System.String,System.String)">
+            <summary>
+            Удаляет файл изображения из папки, если он существует.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Helpers.ImageFileHelper.ResolveImagePath(System.String,System.String)">
+            <summary>
+            Возвращает полный путь к файлу изображения в папке.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.OrderClientLookup">
+            <summary>
+            Читает ClientUserId заказа из dbo.[Order], когда view его не содержит.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.OrderRowPendingStore">
+            <summary>
+            Хранит значения формы заказа, когда столбцы view доступны только для чтения.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Helpers.PickupPointLookup">
+            <summary>
+            Загружает пункты выдачи из dbo.PickupPoint для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:AlfaToad.DataSetCRUDS.Helpers.RecordDeleteValidator" -->
+        <!-- Badly formed XML comment ignored for member "M:AlfaToad.DataSetCRUDS.Helpers.RecordDeleteValidator.ValidateCatalogDelete(System.String,System.Data.DataRow,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap)" -->
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost">
+            <summary>
+            Единая точка настройки CRUD для обеих панелей списка в одном приложении.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.DetailBinder">
+            <summary>
+            Биндер панели детальных записей (может быть null, если не используется).
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.OrderBinder">
+            <summary>
+            Биндер панели записей заказа (может быть null, если не используется).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.WireDetailPanel(AlfaToad.CustomControls.Controls.ScrollableDetailPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Подключает CRUD к панели детализации.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.WireOrderPanel(AlfaToad.CustomControls.Controls.ScrollableOrderPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Подключает CRUD к панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DataSetCrudHost.DetachAll">
+            <summary>
+            Отключает все подписки CRUD.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder">
+            <summary>
+            Подключает ScrollableDetailPanel к форме DetailRecordEditForm и сохранению DataSet.
+            Достаточно указать DataSet, имя таблицы и делегат PersistChanges.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.#ctor(AlfaToad.CustomControls.Controls.ScrollableDetailPanel)">
+            <summary>
+            Создаёт биндер для указанной панели списка.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Configure(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настраивает источник данных и параметры CRUD одним вызовом.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Attach">
+            <summary>
+            Подписывает обработчики CRUD на панель. Повторный вызов игнорируется.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.Detach">
+            <summary>
+            Отписывает обработчики CRUD.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.WireUp(AlfaToad.CustomControls.Controls.ScrollableDetailPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Удобный статический метод: настройка и подключение за один вызов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.DetailPanelCrudBinder.OpenEditForm(System.Data.DataRow)">
+            <summary>
+            Открывает модальную форму редактирования и сохраняет результат в DataSet.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder">
+            <summary>
+            Подключает ScrollableOrderPanel к форме OrderRecordEditForm и сохранению DataSet.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.#ctor(AlfaToad.CustomControls.Controls.ScrollableOrderPanel)">
+            <summary>
+            Создаёт биндер для панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Configure(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настраивает DataSet, таблицу и сохранение.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Attach">
+            <summary>
+            Подписывает обработчики CRUD.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.Detach">
+            <summary>
+            Отписывает обработчики.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Integration.OrderPanelCrudBinder.WireUp(AlfaToad.CustomControls.Controls.ScrollableOrderPanel,System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions)">
+            <summary>
+            Настройка и подключение одним вызовом.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedCatalogSql">
+            <summary>
+            SQL-команды view каталога → dbo.Product (нормализованная схема).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.MirIgryshkiCatalogSql">
+            <summary>
+            Устаревшее имя — используйте <see cref="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedCatalogSql"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrderItemsSql">
+            <summary>
+            SQL для синхронизации строк заказа (OrderItem) после insert/update dbo.[Order].
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrdersSql">
+            <summary>
+            SQL-команды view заказов → dbo.[Order] (нормализованная схема).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.MirIgryshkiOrdersSql">
+            <summary>
+            Устаревшее имя — используйте <see cref="T:AlfaToad.DataSetCRUDS.Persistence.NormalizedOrdersSql"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence">
+            <summary>
+            Сохраняет изменения DataTable, загруженной из SQL-view, без TableAdapter.Update.
+            Подходит для любого нового Typed DataSet с одним view — достаточно Fill() для чтения.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence.ApplyChanges(System.Data.DataSet,System.String,System.String,AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap)">
+            <summary>
+            Применяет Insert/Update/Delete для изменённых строк таблицы view.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.Persistence.ViewDataTablePersistence.CreatePersistAction(System.Data.DataSet,System.String,System.String,AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile,AlfaToad.DataSetCRUDS.Configuration.DetailRecordFieldMap,AlfaToad.DataSetCRUDS.Configuration.OrderRecordFieldMap)">
+            <summary>
+            Создаёт делегат PersistChanges для ApplicationDataContext или DataSetCrudOptions.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile">
+            <summary>
+            Профиль сохранения: view в DataSet → базовая таблица SQL Server.
+            Достаточно заполнить view через TableAdapter.Fill — Insert/Update/Delete выполняет пакет.
+            </summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedCatalogView">
+            <summary>View каталога → dbo.Products.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedOrdersView">
+            <summary>View заказов → dbo.Orders.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.MirIgryshkiCatalog">
+            <summary>Устаревшее имя — используйте <see cref="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedCatalogView"/>.</summary>
+        </member>
+        <member name="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.MirIgryshkiOrders">
+            <summary>Устаревшее имя — используйте <see cref="F:AlfaToad.DataSetCRUDS.Persistence.ViewPersistenceProfile.NormalizedOrdersView"/>.</summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.Persistence.ViewRowRefresher">
+            <summary>
+            Перечитывает строки view из БД после сохранения, чтобы список показывал актуальные данные.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DataSetCRUDS.UI.AppDialog">
+            <summary>
+            Единые окна сообщений: ошибка, предупреждение, информация, подтверждение.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowError(System.String,System.String)">
+            <summary>Показывает сообщение об ошибке.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowWarning(System.String,System.String)">
+            <summary>Показывает предупреждение.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.ShowInfo(System.String,System.String)">
+            <summary>Показывает информационное сообщение.</summary>
+        </member>
+        <member name="M:AlfaToad.DataSetCRUDS.UI.AppDialog.Confirm(System.String,System.String)">
+            <summary>Запрашивает подтверждение Yes/No.</summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/.signature.p7s


binární
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/AlfaToad.DefaultScreens.1.1.7.nupkg


+ 254 - 0
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/README.md

@@ -0,0 +1,254 @@
+# AlfaToad.DefaultScreens
+
+NuGet-пакет **готовых экранных форм** для типового WinForms-приложения с ролевым доступом.
+
+Использует [AlfaToad.CustomControls](https://www.nuget.org/packages/AlfaToad.CustomControls) и [AlfaToad.DataSetCRUDS](https://www.nuget.org/packages/AlfaToad.DataSetCRUDS).
+
+## Возможности
+
+| Экран | Описание |
+|-------|----------|
+| `LoginScreenForm` | Вход по логину/паролю из DataSet + режим гостя |
+| `MainShellForm` | Главная форма с логотипом, навигацией, кнопкой «Назад» и отображением текущего экрана в заголовке |
+| `CatalogScreenForm` | Каталог на `ScrollableDetailPanel` с учётом роли |
+| `OrderListScreenForm` | Заказы на `ScrollableOrderPanel` |
+| `ApplicationNavigator` | Полный сценарий: вход → главная → экраны |
+
+### Настройка через `ApplicationScreenSettings`
+
+- Заголовки окон, тексты кнопок, подписи полей входа
+- `Appearance` — палитра цветов (#FFFFFF, #F5DEB3, #DEB887, Arial)
+- `LogoImagePath`, `ApplicationIconPath`, `NoImagePath` + `ApplyResourcePaths()`
+- `LoginFormWidth`, `LoginFormHeight`, `LoginLogoHeight`
+- `DetailFields`, `OrderFields` — карты столбцов БД
+- `CreateCatalogCrudOptions()` / `CreateOrderCrudOptions()` — параметры CRUD-форм
+- `BackMenuText` — текст кнопки «Назад»
+- `ImageResizeWidth` / `ImageResizeHeight` — ресайз фото товара (300×200)
+
+Сообщения пользователю — через `AppDialog` (ошибка / предупреждение / информация).
+
+## Установка
+
+```bash
+dotnet add package AlfaToad.DefaultScreens --version 1.0.5
+```
+
+## Пример `Program.cs` (Typed DataSet + view persistence)
+
+```csharp
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+using AlfaToad.CustomControls.Theme;              // AppearancePalette — цвета и шрифты
+using AlfaToad.DataSetCRUDS.Configuration;      // DetailRecordFieldMap, OrderRecordFieldMap
+using AlfaToad.DefaultScreens.Configuration;      // ApplicationScreenSettings, WithViewDataPersistence
+using AlfaToad.DefaultScreens.Navigation;         // ApplicationDataContext, ApplicationNavigator
+using YourApp;                                    // ваш Typed DataSet
+using YourApp.YourDataSetTableAdapters;
+
+namespace YourApp
+{
+    internal static class Program
+    {
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 1. DataSet и TableAdapter-ы
+            // Для view достаточно Fill() — Insert/Update/Delete делает пакет
+            // ═══════════════════════════════════════════════════════════════
+            var dataSet = new YourDataSet(); // замените на ваш Typed DataSet
+            var tovarTableAdapter = new vCatalogTableAdapter();
+            var ordersTableAdapter = new vOrdersTableAdapter();
+            var usersTableAdapter = new vw_UsersLoginTableAdapter();
+
+            // Строка подключения — задайте свои значения или используйте User Secrets / App.config
+            var connectionString = "Server=YOUR_SERVER;Database=YOUR_DATABASE;Trusted_Connection=True;";
+            /*
+              Server=YOUR_SERVER;Database=YOUR_DATABASE;User Id=YOUR_USER;Password=YOUR_PASSWORD;
+              Server=YOUR_SERVER;Database=YOUR_DATABASE;Trusted_Connection=True;
+            */
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 2. ApplicationScreenSettings — все настройки приложения
+            // ═══════════════════════════════════════════════════════════════
+            var settings = ApplicationScreenSettings.CreateDefault();
+
+            // ── Заголовки окон ──────────────────────────────────────────
+            settings.LoginWindowTitle = "Вход в систему";           // Заголовок формы входа
+            settings.MainWindowTitle = "Информационная система";   // Заголовок главной формы (оболочка)
+            settings.CatalogWindowTitle = "Каталог товаров";          // Заголовок экрана каталога
+            settings.OrdersWindowTitle = "Список заказов";           // Заголовок экрана заказов
+
+            // ── Тексты кнопок и пунктов меню ────────────────────────────
+            settings.LoginButtonText = "Войти";              // Кнопка «Войти» на форме входа
+            settings.GuestButtonText = "Войти как гость";    // Кнопка гостевого входа
+            settings.CatalogMenuText = "Каталог";            // Пункт меню «Каталог» на главной форме
+            settings.OrdersMenuText = "Заказы";             // Пункт меню «Заказы»
+            settings.LogoutMenuText = "Выход";              // Пункт меню «Выход» (повторный вход)
+            settings.BackMenuText = "Назад";                // Кнопка возврата на главную форму
+
+            // ── Экран входа: подписи и размеры ──────────────────────────
+            settings.LoginCaptionLogin = "Логин:";    // Подпись слева от поля логина
+            settings.LoginCaptionPassword = "Пароль:";   // Подпись слева от поля пароля
+            settings.LoginFormWidth = 480;         // Ширина формы входа (px)
+            settings.LoginFormHeight = 420;         // Высота формы входа (px) — чтобы кнопки не обрезались
+            settings.LoginLogoHeight = 110;         // Высота области логотипа на форме входа (px)
+
+            // ── Пути к ресурсам (загружаются через ApplyResourcePaths) ──
+            settings.LogoImagePath = @"C:\Path\To\Your\Resources\icon.png";   // Логотип → settings.LogoImage
+            settings.ApplicationIconPath = @"C:\Path\To\Your\Resources\icon.ico";    // Иконка приложения → settings.ApplicationIcon
+            settings.NoImagePath = @"C:\Path\To\Your\Resources\picture.png"; // Заглушка «нет фото» → settings.NoImage
+            // Либо задайте Image/Icon напрямую (без путей):
+            // settings.LogoImage = Image.FromFile(@"C:\Path\To\Your\Resources\logo.png");
+            // settings.ApplicationIcon = new Icon(@"C:\Path\To\Your\Resources\app.ico");
+            settings.ApplicationIcon = Icon.FromHandle(new Bitmap(@"C:\Path\To\Your\Resources\icon.png").GetHicon()); // Иконка из PNG
+            // settings.NoImage = Image.FromFile(@"C:\Path\To\Your\Resources\picture.png");
+            settings.ApplyResourcePaths(); // Подставляет LogoImage, NoImage, ApplicationIcon из путей выше
+
+            // ── Папка изображений товаров ───────────────────────────────
+            settings.ImagesFolder = @"C:\Path\To\Your\Resources\import"; // Папка с файлами фото (1.jpg, 2.jpg…)
+            // Если пусто — используется подпапка Images рядом с exe
+
+            // ── Ресайз фото при добавлении/редактировании товара ──────
+            settings.ImageResizeWidth = 300; // Ширина сохраняемого изображения (px)
+            settings.ImageResizeHeight = 200; // Высота сохраняемого изображения (px)
+
+            // ── Заголовки CRUD-форм ─────────────────────────────────────
+            settings.CatalogAddFormTitle = "Добавление товара";
+            settings.CatalogEditFormTitle = "Редактирование товара";
+            settings.OrderAddFormTitle = "Добавление заказа";
+            settings.OrderEditFormTitle = "Редактирование заказа";
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 3. AppearancePalette — цвета, шрифты, пороги
+            // Применяется ко всем экранам: вход, главная, каталог, заказы, CRUD-формы
+            // ═══════════════════════════════════════════════════════════════
+            settings.Appearance = new AppearancePalette
+            {
+                // ── Цвета ───────────────────────────────────────────────
+                MainBackground = ColorTranslator.FromHtml("#FFFFFF"), // Основной фон форм и строк списка
+                SectionBackground = ColorTranslator.FromHtml("#F5DEB3"), // Фон заголовков, панели кнопок, меню
+                AccentBackground = ColorTranslator.FromHtml("#DEB887"), // Кнопки, акцентные элементы
+                HighlightBackground = ColorTranslator.FromHtml("#FFDEAD"), // Подсветка товара со скидкой > порога
+                SelectedRowBackground = ColorTranslator.FromHtml("#E8EEF8"), // Фон выбранной строки в списке
+                PrimaryText = Color.Black,                         // Основной цвет текста
+                SeparatorText = Color.Gray,                          // Текст разделителей
+                BorderColor = Color.Black,                         // Рамка карточек/строк
+                RowSeparatorColor = Color.Silver,                          // Линия между строками
+                OutOfStockBackground = ColorTranslator.FromHtml("#ADD8E6"), // Фон строки при кол-ве ≤ 0
+                StrikethroughPriceColor = Color.Red,                         // Зачёркнутая цена (при скидке)
+                FinalPriceColor = Color.Black,                         // Итоговая цена со скидкой
+                // ── Шрифты ──────────────────────────────────────────────
+                FontFamily = "Arial",  // Семейство шрифта
+                BaseFontSize = 9f,       // Базовый размер текста в списках и формах
+                TitleFontSize = 10f,      // Размер заголовков и имён товаров
+                // ── Пороги ──────────────────────────────────────────────
+                HighlightThresholdPercent = 17m // Скидка > 17% → подсветка HighlightBackground
+            };
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 4. Имена столбцов БД — сопоставление с формами редактирования
+            // ═══════════════════════════════════════════════════════════════
+            settings.DetailFields = new DetailRecordFieldMap
+            {
+                PrimaryKeyField = "Article",              // Ключ товара (readonly при редактировании)
+                NameField = "Наименование товара",  // Название
+                CategoryField = "Категория товара",     // Выпадающий список
+                DescriptionField = "Описание товара",      // Многострочное описание
+                ManufacturerField = "Производитель",        // Выпадающий список
+                SupplierField = "Поставщик",              // Выпадающий список
+                PriceField = "Цена",                   // ≥ 0, не более 2 знаков после запятой
+                UnitField = "Единица измерения",    // шт., упак. и т.д.
+                StockField = "Кол-во на складе",       // Целое ≥ 0
+                DiscountField = "Действующая скидка",   // 0–100 %
+                ImageField = "Фото"                    // Имя файла изображения в БД
+            };
+            settings.OrderFields = new OrderRecordFieldMap
+            {
+                OrderNumberField = "OrderId",                    // MAX+1 при добавлении, readonly при ред.
+                ArticleField = "Артикул заказа",                  // Состав заказа (только просмотр/текст)
+                StatusField = "Статус заказа",                   // Выпадающий список
+                AddressField = "Адрес пункта выдачи",             // ID пункта выдачи (int)
+                OrderDateField = "Дата заказа",                     // DateTimePicker
+                DeliveryDateField = "Дата доставки",                   // Опционально (чекбокс)
+                ClientNameField = "ФИО авторизированного клиента",   // Клиент заказа (ComboBox)
+                PickupCodeField = "Код для получения"                // Код выдачи
+            };
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 5. Авторизация — имена столбцов и ролей из vw_UsersLogin
+            // ═══════════════════════════════════════════════════════════════
+            settings.LoginFieldName = "Логин";                      // Столбец логина в DataTable
+            settings.PasswordFieldName = "Пароль";                     // Столбец пароля
+            settings.RoleFieldName = "Роль";            // Столбец роли
+            settings.FullNameFieldName = "ФИО";                        // Отображаемое имя пользователя
+            // Строковые значения ролей в БД → уровень доступа:
+            settings.AdministratorRoleName = "Администратор";             // Полный CRUD каталог + заказы
+            settings.ManagerRoleName = "Менеджер";                  // Каталог с фильтром + просмотр заказов
+            settings.ClientRoleName = "Авторизированный клиент";   // Только просмотр каталога
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 6. ApplicationDataContext — DataSet, загрузка, сохранение
+            // ═══════════════════════════════════════════════════════════════
+            var data = new ApplicationDataContext
+            {
+                // ── DataSet и имена таблиц ──────────────────────────────
+                CatalogDataSet = dataSet,
+                CatalogTableName = "vCatalog",       // Таблица каталога в DataSet
+                OrdersDataSet = dataSet,           // Можно один DataSet на всё приложение
+                OrdersTableName = "vOrders",
+                UsersDataSet = dataSet,
+                UsersTableName = "vw_UsersLogin",
+                // ── Загрузка данных (только Fill — Update в TableAdapter не нужен) ──
+                LoadUsers = () => usersTableAdapter.Fill(dataSet.vw_UsersLogin),
+                LoadCatalog = () => tovarTableAdapter.Fill(dataSet.vCatalog),
+                LoadOrders = () => ordersTableAdapter.Fill(dataSet.vOrders),
+                // PersistCatalogChanges / PersistOrderChanges можно не задавать —
+                // подключатся автоматически через WithViewDataPersistence ниже
+            }
+            // Insert/Update/Delete для view без правки .xsd:
+            // ViewPersistenceProfile.NormalizedCatalogView — каталог (Product + справочники)
+            // ViewPersistenceProfile.NormalizedOrdersView — заказы ([Order] + OrderItem + справочники)
+            .WithViewDataPersistence(connectionString, settings);
+
+            // ═══════════════════════════════════════════════════════════════
+            // ШАГ 7. Запуск: вход → главная форма → каталог / заказы
+            // ApplicationNavigator передаёт UsersDataSet в форму заказов
+            // для ComboBox клиентов (роль ClientRoleName из settings)
+            // ═══════════════════════════════════════════════════════════════
+            new ApplicationNavigator(settings, data).Start();
+        }
+    }
+}
+```
+
+### CreateCatalogCrudOptions — параметры изображений
+
+Метод `CreateCatalogCrudOptions()` возвращает `DataSetCrudOptions` с полями:
+
+- `AutoResizeImages` — масштабирование в `ScrollableDetailPanel` (также задаётся на панели через settings)
+- `DeleteImageFileOnRemove` — удаление файла с диска при очистке поля «Фото»
+- `DeleteOldImageOnReplace` — удаление предыдущего файла при замене изображения
+- `ConnectionString` — строка подключения для проверки связанных записей при удалении
+- `ImageResizeWidth` / `ImageResizeHeight` — размер сохраняемого изображения (300×200)
+
+### TableAdapter: только Fill(), без Update в Designer
+
+Для view **не нужно** добавлять Insert/Update/Delete в `.xsd`.  
+Сохранение выполняет `ViewDataTablePersistence` (см. `.WithViewDataPersistence()`).
+
+### Typed DataSet: что настроить
+
+1. Создайте Typed DataSet с view-таблицами (каталог, заказы, пользователи).
+2. Укажите имена таблиц в `ApplicationDataContext`.
+3. Сопоставьте столбцы через `DetailRecordFieldMap` / `OrderRecordFieldMap`.
+4. Подключите `.WithViewDataPersistence(connectionString, settings)`.
+
+## Платформы
+
+- .NET Framework 4.8
+- .NET 8 (Windows)

binární
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net48/AlfaToad.DefaultScreens.dll


+ 348 - 0
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net48/AlfaToad.DefaultScreens.xml

@@ -0,0 +1,348 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.DefaultScreens</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions">
+            <summary>
+            Подключает сохранение view-таблиц без TableAdapter.Update.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithViewDataPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Настраивает PersistCatalogChanges и PersistOrderChanges через ViewDataTablePersistence,
+            если делегаты ещё не заданы. DataSet может содержать только view с Fill().
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithMirIgryshkiViewPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Устаревшее имя — используйте <see cref="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithViewDataPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings">
+            <summary>
+            Центральные настройки всех экранных форм: заголовки, ресурсы, имена полей и ролей.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.ApplyResourcePaths">
+            <summary>
+            Загружает LogoImage, NoImage и ApplicationIcon из путей, если заданы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateCatalogCrudOptions">
+            <summary>
+            Создаёт параметры CRUD для формы каталога на основе текущих настроек.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateOrderCrudOptions(System.Data.DataTable,System.String)">
+            <summary>
+            Создаёт параметры CRUD для формы заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.ResolveAccessLevel(System.String)">
+            <summary>
+            Определяет уровень доступа по строке роли из базы данных.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateDefault">
+            <summary>
+            Создаёт настройки с палитрой и полями по умолчанию (соответствует руководству по стилю).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper">
+            <summary>
+            Загружает изображения и иконки из путей, указанных в настройках.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.ApplyResourcePaths(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Подставляет LogoImage, NoImage и ApplicationIcon из путей, если файлы существуют.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.ResolveImagesFolder(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Возвращает папку изображений: из настроек или подпапку Images рядом с exe.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.HasClientUsers(System.Data.DataTable)">
+            <summary>
+            Проверяет, что таблица клиентов содержит хотя бы одну запись.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.HasPickupPoints(System.Data.DataTable)">
+            <summary>
+            Проверяет, что справочник пунктов выдачи не пуст.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.BuildPickupPointsTable(System.String)">
+            <summary>
+            Загружает пункты выдачи из БД для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.BuildClientUsersTable(System.Data.DataSet,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Строит таблицу клиентов (UserId, FullName) из DataSet пользователей для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext">
+            <summary>
+            Контекст данных приложения: DataSet-ы и делегаты сохранения.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.CatalogDataSet">
+            <summary>DataSet каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.CatalogTableName">
+            <summary>Имя таблицы каталога в CatalogDataSet.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.OrdersDataSet">
+            <summary>DataSet заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.OrdersTableName">
+            <summary>Имя таблицы заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.UsersDataSet">
+            <summary>DataSet пользователей для входа.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.UsersTableName">
+            <summary>Имя таблицы пользователей.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.ConnectionString">
+            <summary>Строка подключения к SQL Server (для ViewDataTablePersistence).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.PersistCatalogChanges">
+            <summary>Сохранение изменений каталога (TableAdapter.Update или ViewDataTablePersistence).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.PersistOrderChanges">
+            <summary>Сохранение изменений заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadCatalog">
+            <summary>Загрузка каталога перед показом экрана.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadOrders">
+            <summary>Загрузка заказов перед показом экрана.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadUsers">
+            <summary>Загрузка пользователей перед входом.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator">
+            <summary>
+            Запускает типовой сценарий приложения: вход → главная форма → каталог/заказы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Navigation.ApplicationDataContext)">
+            <summary>
+            Создаёт навигатор с настройками и контекстом данных.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.Start">
+            <summary>
+            Показывает экран входа и возвращает управление после выбора пользователем режима.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.BeginMainFlow(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает главную форму и подписывает навигацию.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.ShowCatalog(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает каталог в области главной формы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.ShowOrders(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает список заказов (доступен менеджеру и администратору).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.CatalogScreenForm">
+            <summary>
+            Экран каталога на базе ScrollableDetailPanel с учётом роли пользователя.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт экран каталога для указанной сессии пользователя.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.DetailPanel">
+            <summary>
+            Публичный доступ к панели для дополнительной настройки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.BindCatalog(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.String)">
+            <summary>
+            Загружает данные и подключает CRUD для администратора.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.RefreshCatalog">
+            <summary>
+            Обновляет список после Fill TableAdapter.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.CreateDetailPanel">
+            <summary>
+            Создаёт и настраивает ScrollableDetailPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.ApplyRolePermissions">
+            <summary>
+            Настраивает права: гость/клиент — без фильтра, менеджер — с фильтром, админ — CRUD.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.LoginScreenForm">
+            <summary>
+            Экран входа: логин/пароль из DataSet и переход в режим гостя.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.LoginScreenForm.Authenticated">
+            <summary>Срабатывает после успешной авторизации.</summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.LoginScreenForm.GuestAccessRequested">
+            <summary>Срабатывает при выборе режима гостя.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.ShellMenuPage">
+            <summary>
+            Активный пункт навигации главной оболочки.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.MainShellForm">
+            <summary>
+            Главная оболочка приложения: логотип, навигация и отображение дочерних экранов.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.LogoutRequested">
+            <summary>
+            Срабатывает при выходе из системы.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.BackRequested">
+            <summary>
+            Срабатывает при нажатии кнопки «Назад».
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт главную форму для текущей сессии.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.MainShellForm.Session">
+            <summary>
+            Текущая пользовательская сессия.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ShowScreen(System.Windows.Forms.Form)">
+            <summary>
+            Показывает дочернюю форму внутри области контента (MDI-like без MDI).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ClearScreen">
+            <summary>
+            Очищает область контента и закрывает текущий экран.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.SetActivePage(System.String,AlfaToad.DefaultScreens.Screens.ShellMenuPage)">
+            <summary>
+            Обновляет заголовок окна и состояние кнопок навигации.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.CatalogRequested">
+            <summary>
+            Запрос открытия каталога — обрабатывается ApplicationNavigator.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.OrdersRequested">
+            <summary>
+            Запрос открытия заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ApplyRolePermissions">
+            <summary>
+            Скрывает пункт «Заказы» для гостя и клиента.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.OrderListScreenForm">
+            <summary>
+            Экран списка заказов на базе ScrollableOrderPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт экран заказов для указанной сессии.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.OrderPanel">
+            <summary>
+            Публичный доступ к панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.BindOrders(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.Data.DataSet,System.String,System.String)">
+            <summary>
+            Загружает заказы и подключает CRUD для администратора.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.RefreshOrders">
+            <summary>
+            Обновляет список заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.ApplyRolePermissions">
+            <summary>
+            Менеджер и администратор видят заказы; CRUD только у администратора.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Security.AccessLevel">
+            <summary>
+            Уровень доступа пользователя в приложении (гость → клиент → менеджер → администратор).
+            </summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Guest">
+            <summary>Неавторизованный посетитель (режим гостя).</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.AuthorizedClient">
+            <summary>Авторизованный клиент — просмотр без фильтрации.</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Manager">
+            <summary>Менеджер — просмотр с фильтрацией и заказов.</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Administrator">
+            <summary>Администратор — полный CRUD.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Security.UserSession">
+            <summary>
+            Данные текущей пользовательской сессии после успешного входа или выбора режима гостя.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.AccessLevel">
+            <summary>Уровень доступа.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.DisplayName">
+            <summary>Отображаемое имя пользователя.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.Login">
+            <summary>Логин (пустой для гостя).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.RoleName">
+            <summary>Строковое имя роли из базы данных.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.UserId">
+            <summary>Идентификатор пользователя в БД (если есть).</summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Security.UserSession.CreateGuest">
+            <summary>Создаёт сессию гостя.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanUseCatalogQuery">
+            <summary>Может ли пользователь использовать поиск и фильтрацию каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanViewOrders">
+            <summary>Может ли пользователь просматривать список заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanEditCatalog">
+            <summary>Может ли пользователь изменять записи каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanEditOrders">
+            <summary>Может ли пользователь изменять заказы.</summary>
+        </member>
+    </members>
+</doc>

binární
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net8.0-windows7.0/AlfaToad.DefaultScreens.dll


+ 348 - 0
WindowsFormsApp1/packages/AlfaToad.DefaultScreens.1.1.7/lib/net8.0-windows7.0/AlfaToad.DefaultScreens.xml

@@ -0,0 +1,348 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>AlfaToad.DefaultScreens</name>
+    </assembly>
+    <members>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions">
+            <summary>
+            Подключает сохранение view-таблиц без TableAdapter.Update.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithViewDataPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Настраивает PersistCatalogChanges и PersistOrderChanges через ViewDataTablePersistence,
+            если делегаты ещё не заданы. DataSet может содержать только view с Fill().
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithMirIgryshkiViewPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Устаревшее имя — используйте <see cref="M:AlfaToad.DefaultScreens.Configuration.ApplicationDataContextExtensions.WithViewDataPersistence(AlfaToad.DefaultScreens.Navigation.ApplicationDataContext,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)"/>.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings">
+            <summary>
+            Центральные настройки всех экранных форм: заголовки, ресурсы, имена полей и ролей.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.ApplyResourcePaths">
+            <summary>
+            Загружает LogoImage, NoImage и ApplicationIcon из путей, если заданы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateCatalogCrudOptions">
+            <summary>
+            Создаёт параметры CRUD для формы каталога на основе текущих настроек.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateOrderCrudOptions(System.Data.DataTable,System.String)">
+            <summary>
+            Создаёт параметры CRUD для формы заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.ResolveAccessLevel(System.String)">
+            <summary>
+            Определяет уровень доступа по строке роли из базы данных.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings.CreateDefault">
+            <summary>
+            Создаёт настройки с палитрой и полями по умолчанию (соответствует руководству по стилю).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper">
+            <summary>
+            Загружает изображения и иконки из путей, указанных в настройках.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.ApplyResourcePaths(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Подставляет LogoImage, NoImage и ApplicationIcon из путей, если файлы существуют.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.ResolveImagesFolder(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Возвращает папку изображений: из настроек или подпапку Images рядом с exe.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.HasClientUsers(System.Data.DataTable)">
+            <summary>
+            Проверяет, что таблица клиентов содержит хотя бы одну запись.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.HasPickupPoints(System.Data.DataTable)">
+            <summary>
+            Проверяет, что справочник пунктов выдачи не пуст.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.BuildPickupPointsTable(System.String)">
+            <summary>
+            Загружает пункты выдачи из БД для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Configuration.ScreenResourceHelper.BuildClientUsersTable(System.Data.DataSet,System.String,AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings)">
+            <summary>
+            Строит таблицу клиентов (UserId, FullName) из DataSet пользователей для ComboBox на форме заказа.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext">
+            <summary>
+            Контекст данных приложения: DataSet-ы и делегаты сохранения.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.CatalogDataSet">
+            <summary>DataSet каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.CatalogTableName">
+            <summary>Имя таблицы каталога в CatalogDataSet.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.OrdersDataSet">
+            <summary>DataSet заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.OrdersTableName">
+            <summary>Имя таблицы заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.UsersDataSet">
+            <summary>DataSet пользователей для входа.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.UsersTableName">
+            <summary>Имя таблицы пользователей.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.ConnectionString">
+            <summary>Строка подключения к SQL Server (для ViewDataTablePersistence).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.PersistCatalogChanges">
+            <summary>Сохранение изменений каталога (TableAdapter.Update или ViewDataTablePersistence).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.PersistOrderChanges">
+            <summary>Сохранение изменений заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadCatalog">
+            <summary>Загрузка каталога перед показом экрана.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadOrders">
+            <summary>Загрузка заказов перед показом экрана.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Navigation.ApplicationDataContext.LoadUsers">
+            <summary>Загрузка пользователей перед входом.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator">
+            <summary>
+            Запускает типовой сценарий приложения: вход → главная форма → каталог/заказы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Navigation.ApplicationDataContext)">
+            <summary>
+            Создаёт навигатор с настройками и контекстом данных.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.Start">
+            <summary>
+            Показывает экран входа и возвращает управление после выбора пользователем режима.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.BeginMainFlow(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает главную форму и подписывает навигацию.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.ShowCatalog(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает каталог в области главной формы.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Navigation.ApplicationNavigator.ShowOrders(AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Открывает список заказов (доступен менеджеру и администратору).
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.CatalogScreenForm">
+            <summary>
+            Экран каталога на базе ScrollableDetailPanel с учётом роли пользователя.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт экран каталога для указанной сессии пользователя.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.DetailPanel">
+            <summary>
+            Публичный доступ к панели для дополнительной настройки.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.BindCatalog(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.String)">
+            <summary>
+            Загружает данные и подключает CRUD для администратора.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.RefreshCatalog">
+            <summary>
+            Обновляет список после Fill TableAdapter.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.CreateDetailPanel">
+            <summary>
+            Создаёт и настраивает ScrollableDetailPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.CatalogScreenForm.ApplyRolePermissions">
+            <summary>
+            Настраивает права: гость/клиент — без фильтра, менеджер — с фильтром, админ — CRUD.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.LoginScreenForm">
+            <summary>
+            Экран входа: логин/пароль из DataSet и переход в режим гостя.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.LoginScreenForm.Authenticated">
+            <summary>Срабатывает после успешной авторизации.</summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.LoginScreenForm.GuestAccessRequested">
+            <summary>Срабатывает при выборе режима гостя.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.ShellMenuPage">
+            <summary>
+            Активный пункт навигации главной оболочки.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.MainShellForm">
+            <summary>
+            Главная оболочка приложения: логотип, навигация и отображение дочерних экранов.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.LogoutRequested">
+            <summary>
+            Срабатывает при выходе из системы.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.BackRequested">
+            <summary>
+            Срабатывает при нажатии кнопки «Назад».
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт главную форму для текущей сессии.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.MainShellForm.Session">
+            <summary>
+            Текущая пользовательская сессия.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ShowScreen(System.Windows.Forms.Form)">
+            <summary>
+            Показывает дочернюю форму внутри области контента (MDI-like без MDI).
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ClearScreen">
+            <summary>
+            Очищает область контента и закрывает текущий экран.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.SetActivePage(System.String,AlfaToad.DefaultScreens.Screens.ShellMenuPage)">
+            <summary>
+            Обновляет заголовок окна и состояние кнопок навигации.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.CatalogRequested">
+            <summary>
+            Запрос открытия каталога — обрабатывается ApplicationNavigator.
+            </summary>
+        </member>
+        <member name="E:AlfaToad.DefaultScreens.Screens.MainShellForm.OrdersRequested">
+            <summary>
+            Запрос открытия заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.MainShellForm.ApplyRolePermissions">
+            <summary>
+            Скрывает пункт «Заказы» для гостя и клиента.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Screens.OrderListScreenForm">
+            <summary>
+            Экран списка заказов на базе ScrollableOrderPanel.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.#ctor(AlfaToad.DefaultScreens.Configuration.ApplicationScreenSettings,AlfaToad.DefaultScreens.Security.UserSession)">
+            <summary>
+            Создаёт экран заказов для указанной сессии.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.OrderPanel">
+            <summary>
+            Публичный доступ к панели заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.BindOrders(System.Data.DataSet,System.String,System.Action,AlfaToad.DataSetCRUDS.Configuration.DataSetCrudOptions,System.Data.DataSet,System.String,System.String)">
+            <summary>
+            Загружает заказы и подключает CRUD для администратора.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.RefreshOrders">
+            <summary>
+            Обновляет список заказов.
+            </summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Screens.OrderListScreenForm.ApplyRolePermissions">
+            <summary>
+            Менеджер и администратор видят заказы; CRUD только у администратора.
+            </summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Security.AccessLevel">
+            <summary>
+            Уровень доступа пользователя в приложении (гость → клиент → менеджер → администратор).
+            </summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Guest">
+            <summary>Неавторизованный посетитель (режим гостя).</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.AuthorizedClient">
+            <summary>Авторизованный клиент — просмотр без фильтрации.</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Manager">
+            <summary>Менеджер — просмотр с фильтрацией и заказов.</summary>
+        </member>
+        <member name="F:AlfaToad.DefaultScreens.Security.AccessLevel.Administrator">
+            <summary>Администратор — полный CRUD.</summary>
+        </member>
+        <member name="T:AlfaToad.DefaultScreens.Security.UserSession">
+            <summary>
+            Данные текущей пользовательской сессии после успешного входа или выбора режима гостя.
+            </summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.AccessLevel">
+            <summary>Уровень доступа.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.DisplayName">
+            <summary>Отображаемое имя пользователя.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.Login">
+            <summary>Логин (пустой для гостя).</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.RoleName">
+            <summary>Строковое имя роли из базы данных.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.UserId">
+            <summary>Идентификатор пользователя в БД (если есть).</summary>
+        </member>
+        <member name="M:AlfaToad.DefaultScreens.Security.UserSession.CreateGuest">
+            <summary>Создаёт сессию гостя.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanUseCatalogQuery">
+            <summary>Может ли пользователь использовать поиск и фильтрацию каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanViewOrders">
+            <summary>Может ли пользователь просматривать список заказов.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanEditCatalog">
+            <summary>Может ли пользователь изменять записи каталога.</summary>
+        </member>
+        <member name="P:AlfaToad.DefaultScreens.Security.UserSession.CanEditOrders">
+            <summary>Может ли пользователь изменять заказы.</summary>
+        </member>
+    </members>
+</doc>

+ 153 - 0
user05.sql

@@ -0,0 +1,153 @@
+IF DB_ID(N'user05') IS NULL CREATE DATABASE [user05];
+GO
+USE [user05];
+GO
+IF OBJECT_ID('dbo.OrderItem','U') IS NOT NULL DROP TABLE dbo.OrderItem;
+IF OBJECT_ID('dbo.[Order]','U') IS NOT NULL DROP TABLE dbo.[Order];
+IF OBJECT_ID('dbo.Product','U') IS NOT NULL DROP TABLE dbo.Product;
+IF OBJECT_ID('dbo.[User]','U') IS NOT NULL DROP TABLE dbo.[User];
+IF OBJECT_ID('dbo.PickupPoint','U') IS NOT NULL DROP TABLE dbo.PickupPoint;
+IF OBJECT_ID('dbo.City','U') IS NOT NULL DROP TABLE dbo.City;
+IF OBJECT_ID('dbo.OrderStatus','U') IS NOT NULL DROP TABLE dbo.OrderStatus;
+IF OBJECT_ID('dbo.Category','U') IS NOT NULL DROP TABLE dbo.Category;
+IF OBJECT_ID('dbo.Manufacturer','U') IS NOT NULL DROP TABLE dbo.Manufacturer;
+IF OBJECT_ID('dbo.Supplier','U') IS NOT NULL DROP TABLE dbo.Supplier;
+IF OBJECT_ID('dbo.Unit','U') IS NOT NULL DROP TABLE dbo.Unit;
+IF OBJECT_ID('dbo.Role','U') IS NOT NULL DROP TABLE dbo.Role;
+GO
+CREATE TABLE dbo.Role (RoleId INT IDENTITY(1,1) CONSTRAINT PK_Role PRIMARY KEY, RoleName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Role UNIQUE);
+CREATE TABLE dbo.Unit (UnitId INT IDENTITY(1,1) CONSTRAINT PK_Unit PRIMARY KEY, UnitName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Unit UNIQUE);
+CREATE TABLE dbo.Supplier (SupplierId INT IDENTITY(1,1) CONSTRAINT PK_Supplier PRIMARY KEY, SupplierName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Supplier UNIQUE);
+CREATE TABLE dbo.Manufacturer (ManufacturerId INT IDENTITY(1,1) CONSTRAINT PK_Manufacturer PRIMARY KEY, ManufacturerName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Manufacturer UNIQUE);
+CREATE TABLE dbo.Category (CategoryId INT IDENTITY(1,1) CONSTRAINT PK_Category PRIMARY KEY, CategoryName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Category UNIQUE);
+CREATE TABLE dbo.OrderStatus (StatusId INT IDENTITY(1,1) CONSTRAINT PK_OrderStatus PRIMARY KEY, StatusName NVARCHAR(50) NOT NULL CONSTRAINT UQ_OrderStatus UNIQUE);
+CREATE TABLE dbo.City (CityId INT IDENTITY(1,1) CONSTRAINT PK_City PRIMARY KEY, CityName NVARCHAR(50) NOT NULL CONSTRAINT UQ_City UNIQUE);
+GO
+CREATE TABLE dbo.[User] (UserId INT IDENTITY(1,1) CONSTRAINT PK_User PRIMARY KEY, RoleId INT NOT NULL CONSTRAINT FK_User_Role REFERENCES dbo.Role(RoleId), FullName NVARCHAR(50) NOT NULL, Login NVARCHAR(50) NOT NULL CONSTRAINT UQ_User_Login UNIQUE, Password NVARCHAR(50) NOT NULL);
+CREATE TABLE dbo.PickupPoint (PickupPointId INT NOT NULL CONSTRAINT PK_PickupPoint PRIMARY KEY, PostalCode NVARCHAR(50) NOT NULL, CityId INT NOT NULL CONSTRAINT FK_Pickup_City REFERENCES dbo.City(CityId), Street NVARCHAR(50) NOT NULL, House NVARCHAR(50) NOT NULL);
+CREATE TABLE dbo.Product (ProductId INT IDENTITY(1,1) CONSTRAINT PK_Product PRIMARY KEY, Article NVARCHAR(50) NOT NULL CONSTRAINT UQ_Product_Article UNIQUE, Name NVARCHAR(150) NOT NULL, UnitId INT NOT NULL CONSTRAINT FK_Product_Unit REFERENCES dbo.Unit(UnitId), Price DECIMAL(10,2) NOT NULL CONSTRAINT CK_Price CHECK (Price>=0), SupplierId INT NOT NULL CONSTRAINT FK_Product_Supplier REFERENCES dbo.Supplier(SupplierId), ManufacturerId INT NOT NULL CONSTRAINT FK_Product_Manufacturer REFERENCES dbo.Manufacturer(ManufacturerId), CategoryId INT NOT NULL CONSTRAINT FK_Product_Category REFERENCES dbo.Category(CategoryId), Discount INT NOT NULL CONSTRAINT CK_Disc CHECK (Discount BETWEEN 0 AND 100), Stock INT NOT NULL CONSTRAINT CK_Stock CHECK (Stock>=0), Description NVARCHAR(MAX) NULL, Photo NVARCHAR(50) NULL);
+CREATE TABLE dbo.[Order] (OrderId INT NOT NULL CONSTRAINT PK_Order PRIMARY KEY, OrderDate DATE NULL, DeliveryDate DATE NULL, PickupPointId INT NOT NULL CONSTRAINT FK_Order_Pickup REFERENCES dbo.PickupPoint(PickupPointId), ClientUserId INT NULL CONSTRAINT FK_Order_User REFERENCES dbo.[User](UserId), ReceiveCode INT NULL, StatusId INT NOT NULL CONSTRAINT FK_Order_Status REFERENCES dbo.OrderStatus(StatusId));
+CREATE TABLE dbo.OrderItem (OrderItemId INT IDENTITY(1,1) CONSTRAINT PK_OrderItem PRIMARY KEY, OrderId INT NOT NULL CONSTRAINT FK_Item_Order REFERENCES dbo.[Order](OrderId) ON DELETE CASCADE, Article NVARCHAR(50) NOT NULL CONSTRAINT FK_Item_Product REFERENCES dbo.Product(Article), Quantity INT NOT NULL CONSTRAINT CK_Qty CHECK (Quantity>0), CONSTRAINT UQ_Item UNIQUE (OrderId, Article));
+GO
+
+INSERT INTO dbo.Role(RoleName) VALUES (N'Администратор');
+INSERT INTO dbo.Role(RoleName) VALUES (N'Менеджер');
+INSERT INTO dbo.Role(RoleName) VALUES (N'Авторизированный клиент');
+INSERT INTO dbo.Unit(UnitName) VALUES (N'шт.');
+INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Pikeshop');
+INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Playbig');
+INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Knauf');
+INSERT INTO dbo.Supplier(SupplierName) VALUES (N'CHILITOY');
+INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Vinylon');
+INSERT INTO dbo.Manufacturer(ManufacturerName) VALUES (N'ABSпластик');
+INSERT INTO dbo.Manufacturer(ManufacturerName) VALUES (N'BambiniFelici');
+INSERT INTO dbo.Manufacturer(ManufacturerName) VALUES (N'Junion');
+INSERT INTO dbo.Category(CategoryName) VALUES (N'Игровой набор');
+INSERT INTO dbo.Category(CategoryName) VALUES (N'Конструктор');
+INSERT INTO dbo.Category(CategoryName) VALUES (N'Детский музыкальный инструмент');
+INSERT INTO dbo.Category(CategoryName) VALUES (N'Машинка');
+INSERT INTO dbo.OrderStatus(StatusName) VALUES (N'Завершен');
+INSERT INTO dbo.OrderStatus(StatusName) VALUES (N'Новый');
+GO
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Администратор'),N'Ворсин Петр Евгеньевич',N'94d5ous@gmail.com',N'uzWC67');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Администратор'),N'Старикова Елена Павловна',N'uth4iz@mail.com',N'2L6KZG');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Администратор'),N'Одинцов Серафим Артёмович',N'yzls62@outlook.com',N'JlFRCZ');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Менеджер'),N'Михайлюк Анна Вячеславовна',N'1diph5e@tutanota.com',N'8ntwUp');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Менеджер'),N'Ситдикова Елена Анатольевна',N'tjde7c@yahoo.com',N'YOyhfR');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Менеджер'),N'Никифорова Весения Николаевна',N'wpmrc3do@tutanota.com',N'RSbvHv');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Степанов Михаил Артёмович',N'5d4zbu@tutanota.com',N'rwVDh9');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Ворсин Петр Евгеньевич',N'ptec8ym@yahoo.com',N'LdNyos');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Старикова Елена Павловна',N'1qz4kw@mail.com',N'gynQMT');
+INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Сазонов Руслан Германович',N'4np6se@mail.com',N'AtnDjr');
+INSERT INTO dbo.City(CityName) VALUES (N'Лесной');
+GO
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (1,N'420151',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Вишневая',N'32');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (2,N'125061',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Подгорная',N'8');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (3,N'630370',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Шоссейная',N'24');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (4,N'400562',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Зеленая',N'32');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (5,N'614510',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Маяковского',N'47');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (6,N'410542',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Светлая',N'46');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (7,N'620839',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Цветочная',N'8');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (8,N'443890',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Коммунистическая',N'1');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (9,N'603379',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Спортивная',N'46');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (10,N'603721',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Гоголя',N'41');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (11,N'410172',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Северная',N'13');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (12,N'614611',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Молодежная',N'50');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (13,N'454311',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Новая',N'19');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (14,N'660007',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Октябрьская',N'19');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (15,N'603036',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Садовая',N'4');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (16,N'394060',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Фрунзе',N'43');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (17,N'410661',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Школьная',N'50');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (18,N'625590',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Коммунистическая',N'20');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (19,N'625683',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'8 Марта',N'');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (20,N'450983',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Комсомольская',N'26');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (21,N'394782',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Чехова',N'3');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (22,N'603002',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Дзержинского',N'28');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (23,N'450558',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Набережная',N'30');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (24,N'344288',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Чехова',N'1');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (25,N'614164',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'   Степная',N'30');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (26,N'394242',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Коммунистическая',N'43');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (27,N'660540',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Солнечная',N'25');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (28,N'125837',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Шоссейная',N'40');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (29,N'125703',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Партизанская',N'49');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (30,N'625283',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Победы',N'46');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (31,N'614753',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Полевая',N'35');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (32,N'426030',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Маяковского',N'44');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (33,N'450375',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Клубная',N'44');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (34,N'625560',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Некрасова',N'12');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (35,N'630201',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Комсомольская',N'17');
+INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,CityId,Street,House) VALUES (36,N'190949',(SELECT CityId FROM dbo.City WHERE CityName=N'Лесной'),N'Мичурина',N'26');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'PMEZMH',N'Детский игровой набор машинок Щенячий патруль / Dogs mini . 9 героев + 9 инерфионных машинок',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),1414,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Pikeshop'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'ABSпластик'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),22,50,N'Детский набор машинок с героями мультсериала «Щенячий патруль» подойдет как для мальчиков, так и для девочек. В детский набор входит 9 фигурок щенков спасателей. ',N'1.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'BPV4MM',N'Конструктор Гарри Поттер Сова Букля 630 деталей совместим с lego harry potter, лего совместимый)',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),771,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Playbig'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'ABSпластик'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Конструктор'),15,26,N'Коллекционная модель Букля состоит из множества потрясающих элементов, а также специального механизма внутри. С его помощью можно плавно поднимать-опускать крылья птицы.',N'2.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'JVL42J',N'Музыкальные инструменты для детей, ксилофон, барабаны, развивающие игрушки, игрушки для детей',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),2750,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Playbig'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Детский музыкальный инструмент'),15,0,N'Откройте мир музыки для вашего ребенка с этой уникальной игрушкой! Это многофункциональное музыкальное чудо объединяет в себе всё, что нужно для творческого развития.',N'3.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'F895RB',N'Машинка игрушка диско шар светящаяся музыкальная',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),368,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Knauf'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'ABSпластик'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Машинка'),6,7,N'Светящаяся музыкальная машина с диско шаром переливается разными цветами, играет ритмичные мелодии, объезжает препятствия и крутится, поэтому с ней точно не будет скучно.',N'4.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'3XBOTN',N'Игровой набор Hot Wheels Action Loop Cyclone Challenge Track, с машинкой и удобным хранением, HTK16',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),3426,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Knauf'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),10,21,N'Игровой набор Hot Wheels Action Loop Cyclone Challenge Track - это уникальная игра, которая позволит вам испытать себя и своих друзей в скорости и ловкости. Этот набор состоит из металлической дорожки с циклоном, которая создает потрясающий эффект и добавляет дополнительную сложность в игру.',N'5.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'3L7RCZ',N'Игровой набор с деревянными машинками Стройплощадка Кран-Паркс, Junion',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),7400,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Knauf'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'Junion'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),15,0,N'Игровой набор «Стройплощадка Кран-Паркс Junion» — это большая игрушечная парковка с деревянными машинками и настоящим подъёмным краном, придуманная в Яндексе настоящими родителями.',N'6.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'S72AM3',N'Синтезатор детский с микрофоном 61 клавиша',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),1749,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'CHILITOY'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'Junion'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Детский музыкальный инструмент'),10,35,N'Откройте для ребенка дверь в мир музыки с детским синтезатором! Этот компактный инструмент с микрофоном станет верным другом для юных музыкантов, помогая им развивать творческий потенциал и получать удовольствие от игры.',N'7.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'2G3280',N'Деревянный игровой набор JUNION Стройплощадка "Кран-Паркс" с подъёмным, строительным краном и машинками, 18 предметов, подвижные элементы',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),1624,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Vinylon'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'Junion'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),9,20,N'Игровой набор «Стройплощадка Кран-Паркс Junion» — это большая игрушечная парковка с деревянными машинками и настоящим подъёмным краном, придуманная в Яндексе настоящими родителями.',N'8.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'MIO8YV',N'Музыкальная игрушка интерактивная Пульт, детский прорезыватель для малышей',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),305,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Vinylon'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Детский музыкальный инструмент'),9,31,N'Музыкальная игрушка интерактивная Пульт, детский прорезыватель для малышей',N'9.jpg');
+INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'UER2QD',N'Большой набор опытов и экспериментов для детей 14 в 1',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),2506,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Vinylon'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),8,27,N'Большой набор опытов и экспериментов для детей 14 в 1',N'10.jpg');
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (1,'2025-02-27','2025-04-20',1,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Степанов Михаил Артёмович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),901,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (1,N'PMEZMH',2);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (1,N'BPV4MM',2);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (2,'2024-09-28','2025-04-21',11,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Ворсин Петр Евгеньевич' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),902,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (2,N'JVL42J',1);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (2,N'F895RB',1);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (3,'2025-03-21','2025-04-22',2,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Старикова Елена Павловна' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),903,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (3,N'3XBOTN',10);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (3,N'3L7RCZ',10);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (4,'2025-02-20','2025-04-23',11,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Сазонов Руслан Германович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),904,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (4,N'S72AM3',5);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (4,N'2G3280',4);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (5,'2025-03-17','2025-04-24',2,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Степанов Михаил Артёмович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),905,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (5,N'MIO8YV',2);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (5,N'UER2QD',2);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (6,'2025-03-01','2025-04-25',15,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Ворсин Петр Евгеньевич' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),906,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (6,N'PMEZMH',2);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (6,N'BPV4MM',2);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (7,'2025-03-02','2025-04-26',3,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Старикова Елена Павловна' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),907,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (7,N'JVL42J',1);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (7,N'F895RB',1);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (8,'2025-03-31','2025-04-27',19,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Сазонов Руслан Германович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),908,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Новый '));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (8,N'3XBOTN',10);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (8,N'3L7RCZ',10);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (9,'2025-04-02','2025-04-28',5,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Старикова Елена Павловна' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),909,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Новый '));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (9,N'S72AM3',5);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (9,N'2G3280',4);
+INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (10,'2025-04-03','2025-04-29',19,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Сазонов Руслан Германович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),910,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Новый '));
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (10,N'MIO8YV',2);
+INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (10,N'UER2QD',2);
+GO
+IF OBJECT_ID('dbo.vCatalog','V') IS NOT NULL DROP VIEW dbo.vCatalog;
+GO
+CREATE VIEW dbo.vCatalog AS SELECT p.Article, p.Photo AS [Фото], c.CategoryName AS [Категория товара], p.Name AS [Наименование товара], p.Description AS [Описание товара], m.ManufacturerName AS [Производитель], s.SupplierName AS [Поставщик], p.Price AS [Цена], u.UnitName AS [Единица измерения], p.Stock AS [Кол-во на складе], p.Discount AS [Действующая скидка] FROM dbo.Product p JOIN dbo.Category c ON p.CategoryId=c.CategoryId JOIN dbo.Manufacturer m ON p.ManufacturerId=m.ManufacturerId JOIN dbo.Supplier s ON p.SupplierId=s.SupplierId JOIN dbo.Unit u ON p.UnitId=u.UnitId;
+GO
+IF OBJECT_ID('dbo.vOrders','V') IS NOT NULL DROP VIEW dbo.vOrders;
+GO
+CREATE VIEW dbo.vOrders AS SELECT o.OrderId, STRING_AGG(oi.Article + N' x' + CAST(oi.Quantity AS nvarchar(10)), N', ') AS [Артикул заказа], st.StatusName AS [Статус заказа], (pp.PostalCode + ', г. ' + ct.CityName + ', ул. ' + pp.Street + ', д. ' + pp.House) AS [Адрес пункта выдачи], o.OrderDate AS [Дата заказа], o.DeliveryDate AS [Дата доставки] FROM dbo.[Order] o JOIN dbo.OrderStatus st ON o.StatusId=st.StatusId JOIN dbo.PickupPoint pp ON o.PickupPointId=pp.PickupPointId JOIN dbo.City ct ON pp.CityId=ct.CityId LEFT JOIN dbo.OrderItem oi ON oi.OrderId=o.OrderId GROUP BY o.OrderId, st.StatusName, pp.PostalCode, ct.CityName, pp.Street, pp.House, o.OrderDate, o.DeliveryDate;
+GO
+IF OBJECT_ID('dbo.vw_UsersLogin','V') IS NOT NULL DROP VIEW dbo.vw_UsersLogin;
+GO
+CREATE VIEW dbo.vw_UsersLogin AS SELECT u.UserId, u.FullName AS [ФИО], u.Login AS [Логин], u.Password AS [Пароль], r.RoleName AS [Роль] FROM dbo.[User] u JOIN dbo.Role r ON u.RoleId=r.RoleId;
+GO
+

binární
user05.xlsm