AlfaToad.DataSetCRUDS Общие параметры CRUD-привязки: оформление, папка изображений и сохранение в БД. Создаёт настройки с палитрой по умолчанию. Сопоставление имён столбцов DataTable с полями формы редактирования детальной записи. Значения по умолчанию совместимы с ScrollableDetailPanel из AlfaToad.CustomControls. Копирует имена полей в свойства панели ScrollableDetailPanel. Создаёт карту с именами по умолчанию. Сопоставление имён столбцов DataTable с полями формы редактирования записи заказа. Значения по умолчанию совместимы с ScrollableOrderPanel из AlfaToad.CustomControls. Копирует имена полей в свойства панели ScrollableOrderPanel. Создаёт карту с именами по умолчанию. Форма добавления и редактирования товара (каталог). Форма добавления и редактирования заказа. Сохраняет изменения DataSet и показывает сообщения об ошибках пользователю. Вызывает делегат PersistChanges и обрабатывает исключения. Проверяет запись перед сохранением через ValidateBeforeSave. Вспомогательные методы чтения и записи значений DataRow для форм редактирования. Безопасно читает строковое значение столбца. Проверяет, что строка всё ещё принадлежит таблице (не Detached после Fill). Записывает строковое значение; пустая строка сохраняется как DBNull при nullable-столбце. Читает decimal из ячейки; при ошибке возвращает 0. Записывает decimal в ячейку с учётом типа столбца. Читает int из ячейки. Записывает int в ячейку. Читает дату из ячейки. Записывает дату; null сохраняется как DBNull. Заполняет ComboBox уникальными значениями столбца из таблицы. Проверяет наличие столбца в таблице. Проверяет, что столбец существует и доступен для записи. Возвращает следующий int = MAX(столбец) + 1 по всем строкам таблицы. Заполняет ComboBox клиентами с сохранением UserId в элементах списка. Возвращает UserId выбранного клиента из ComboBox, заполненного через FillClientUserCombo. Выбирает клиента в ComboBox по UserId. Заполняет ComboBox адресами пунктов выдачи с сохранением PickupPointId. Возвращает PickupPointId и адрес выбранного пункта выдачи. Ищет PickupPointId по тексту адреса в справочнике или элементах ComboBox. Выбирает пункт выдачи в ComboBox по PickupPointId. Выбирает пункт выдачи в ComboBox по тексту адреса. Проверяет, что в ComboBox выбран реальный клиент, а не заглушка. Выбирает значение в ComboBox (DropDownList). Проверяет цену: неотрицательная, не более 2 знаков после запятой. Проверяет целое неотрицательное количество. Применяет палитру AppearancePalette к стандартным элементам формы редактирования. Настраивает фон, шрифт и цвета кнопок формы. Ресайз изображений, сохранение в папку приложения и удаление старых файлов. Сохраняет изображение с ресайзом и возвращает имя файла для записи в БД. Удаляет файл изображения из папки, если он существует. Возвращает полный путь к файлу изображения в папке. Читает ClientUserId заказа из dbo.[Order], когда view его не содержит. Хранит значения формы заказа, когда столбцы view доступны только для чтения. Загружает пункты выдачи из dbo.PickupPoint для ComboBox на форме заказа. Единая точка настройки CRUD для обеих панелей списка в одном приложении. Биндер панели детальных записей (может быть null, если не используется). Биндер панели записей заказа (может быть null, если не используется). Подключает CRUD к панели детализации. Подключает CRUD к панели заказов. Отключает все подписки CRUD. Подключает ScrollableDetailPanel к форме DetailRecordEditForm и сохранению DataSet. Достаточно указать DataSet, имя таблицы и делегат PersistChanges. Создаёт биндер для указанной панели списка. Настраивает источник данных и параметры CRUD одним вызовом. Подписывает обработчики CRUD на панель. Повторный вызов игнорируется. Отписывает обработчики CRUD. Удобный статический метод: настройка и подключение за один вызов. Открывает модальную форму редактирования и сохраняет результат в DataSet. Подключает ScrollableOrderPanel к форме OrderRecordEditForm и сохранению DataSet. Создаёт биндер для панели заказов. Настраивает DataSet, таблицу и сохранение. Подписывает обработчики CRUD. Отписывает обработчики. Настройка и подключение одним вызовом. SQL-команды view каталога → dbo.Product (нормализованная схема). Устаревшее имя — используйте . SQL для синхронизации строк заказа (OrderItem) после insert/update dbo.[Order]. SQL-команды view заказов → dbo.[Order] (нормализованная схема). Устаревшее имя — используйте . Сохраняет изменения DataTable, загруженной из SQL-view, без TableAdapter.Update. Подходит для любого нового Typed DataSet с одним view — достаточно Fill() для чтения. Применяет Insert/Update/Delete для изменённых строк таблицы view. Создаёт делегат PersistChanges для ApplicationDataContext или DataSetCrudOptions. Профиль сохранения: view в DataSet → базовая таблица SQL Server. Достаточно заполнить view через TableAdapter.Fill — Insert/Update/Delete выполняет пакет. View каталога → dbo.Products. View заказов → dbo.Orders. Устаревшее имя — используйте . Устаревшее имя — используйте . Перечитывает строки view из БД после сохранения, чтобы список показывал актуальные данные. Единые окна сообщений: ошибка, предупреждение, информация, подтверждение. Показывает сообщение об ошибке. Показывает предупреждение. Показывает информационное сообщение. Запрашивает подтверждение Yes/No.