コード例 #1
0
ファイル: App.xaml.cs プロジェクト: AlCher2018/KDS
        private static void setAppGlobalValues()
        {
            int icfgValue;

            // Имя или ip-адрес компьютера, на котором запущена КДС-служба
            setGlobStringValueFromCfg("KDSServiceHostName", "localhost");
            // Стандартный интервал опроса КДС-службы, в мсек. Допустимые значения от 500 до 2000. По умолчанию - 1000.
            setGlobIntValueFromCfg("KDSServiceIntervalStd", 1000);
            icfgValue = (int)WpfHelper.GetAppGlobalValue("KDSServiceIntervalStd");
            if ((icfgValue < 500) || (icfgValue > 2000))
            {
                WpfHelper.SetAppGlobalValue("KDSServiceIntervalStd", 1000);
            }
            // Уменьшенный интервал опроса КДС-службы, в мсек. Используется, когда клиент не смог получить данные от службы по причине того, что служба была занята чтением данных из БД. Допустимые значения от 50 до 450. По умолчанию - 100. Если не указано, то стандартный интервал таймера НЕ изменяется на альтернативный.
            setGlobIntValueFromCfg("KDSServiceIntervalAlt", 100);
            icfgValue = (int)WpfHelper.GetAppGlobalValue("KDSServiceIntervalAlt");
            if ((icfgValue < 50) || (icfgValue > 450))
            {
                WpfHelper.SetAppGlobalValue("KDSServiceIntervalAlt", 100);
            }

            // звуковой файл, проигрываемый при появлении нового заказа
            setGlobStringValueFromCfg("NewOrderAudioAttention");
            // кликабельность заголовка заказа
            setGlobBoolValueFromCfg("OrderHeaderClickable");
            // кликабельность ингредиента НЕЗАВИСИМО от родительского блюда
            setGlobBoolValueFromCfg("IsIngredientsIndependent");
            // отображать ли на ЗАВИСИМЫХ ингредиентах таймеры
            setGlobBoolValueFromCfg("ShowTimerOnDependIngr");
            // отображать ли заголовок ЗАКАЗА тем же статусом, что и ВСЕ, ОТОБРАЖАЕМЫЕ НА ДАННОМ КДС-е, блюда/ингредиенты
            setGlobBoolValueFromCfg("IsShowOrderStatusByAllShownDishes");

            // боковая панель
            // Ширина кнопочной панели в процентах от ширины экрана.
            setGlobIntValueFromCfg("ControlPanelPercentWidth", 5);
            icfgValue = (int)WpfHelper.GetAppGlobalValue("ControlPanelPercentWidth");
            if (icfgValue <= 0)
            {
                WpfHelper.SetAppGlobalValue("ControlPanelPercentWidth", 5);
            }
            // флажок отрисовки вкладок фильтра статусов по-отдельности
            setGlobBoolValueFromCfg("IsMultipleStatusTabs", false);
            // флажок группировки блюд по наименованию и суммирования количество порций
            setGlobBoolValueFromCfg("IsDishGroupAndSumQuantity", false);


            // **** РАЗМЕЩЕНИЕ ПАНЕЛЕЙ ЗАКАЗОВ
            setGlobIntValueFromCfg("OrdersColumnsCount", 4);        // кол-во столбцов заказов
            icfgValue = (int)WpfHelper.GetAppGlobalValue("OrdersColumnsCount");
            if (icfgValue <= 0)
            {
                WpfHelper.SetAppGlobalValue("OrdersColumnsCount", 4);
            }
            // масштабный коэффициент размера шрифтов панели заказа
            setGlobDoubleValueFromCfg("AppFontScale", 1.0d);
            setGlobIntValueFromCfg("OrdersPanelTopBotMargin", 40);  // отступ сверху/снизу для панели заказов, в пикселях
            setGlobIntValueFromCfg("OrderPanelTopMargin", 50);      // отступ между заказами по вертикали, в пикселях
            // отступ между заказами по горизонтали, в доли от ширины панели заказа
            setGlobDoubleValueFromCfg("OrderPanelLeftMargin", 0.15d);
            // кнопки прокрутки страниц, в пикселях
            setGlobDoubleValueFromCfg("OrdersPanelScrollButtonSize", 100d);

            // ** ЗАГОЛОВОК ЗАКАЗА
            // шрифты для панели заголовка заказа
            setGlobDoubleValueFromCfg("OrderPanelHdrLabelFontSize", 14d, "ordPnlHdrLabelFontSize");                     // метки полей
            setGlobDoubleValueFromCfg("OrderPanelHdrTableNameFontSize", 20d, "ordPnlHdrTableNameFontSize");             // имя стола
            setGlobDoubleValueFromCfg("OrderPanelHdrOrderNumberFontSize", 22d, "ordPnlHdrOrderNumberFontSize");         // номер заказа
            setGlobDoubleValueFromCfg("OrderPanelHdrWaiterNameFontSize", 14d, "ordPnlHdrWaiterNameFontSize");           // имя официанта
            setGlobDoubleValueFromCfg("OrderPanelHdrOrderCreateDateFontSize", 20d, "ordPnlHdrOrderCreateDateFontSize"); // дата создания заказа
            setGlobDoubleValueFromCfg("OrderPanelHdrOrderTimerFontSize", 24d, "ordPnlHdrOrderTimerFontSize");           // таймер заказа
            // шрифт шапки таблицы блюд
            setGlobDoubleValueFromCfg("OrderPanelDishTblHeaderFontSize", 10d, "ordPnlDishTblHeaderFontSize");
            // ** СТРОКА БЛЮДА
            // шрифт строки блюда
            setGlobDoubleValueFromCfg("OrderPanelDishIndexFontSize", 16d, "ordPnlDishIndexFontSize");
            setGlobDoubleValueFromCfg("OrderPanelDishNameFontSize", 20d, "ordPnlDishNameFontSize");
            setGlobDoubleValueFromCfg("OrderPanelIngrNameFontSize", 20d, "ordPnlIngrNameFontSize");
            setGlobDoubleValueFromCfg("OrderPanelDishCommentFontSize", 18d, "ordPnlDishCommentFontSize");
            setGlobDoubleValueFromCfg("OrderPanelDishQuantityFontSize", 22d, "ordPnlDishQuantityFontSize");
            setGlobDoubleValueFromCfg("OrderPanelDishTimerFontSize", 20d, "ordPnlDishTimerFontSize");

            // шрифт разделителя блюд (напр. Подача ** или Продол.см.на след.стр.)
            setGlobDoubleValueFromCfg("OrderPanelItemsDelimiterFontSize", 16d, "ordPnlDishDelimiterFontSize");

            // различные текстовые строки
            setGlobStringValueFromCfg("DishesSupplyName", "Подача");
            setGlobStringValueFromCfg("ContinueOrderNextPage", "Продолж. см.на СЛЕДУЮЩЕЙ стр.");
            setGlobStringValueFromCfg("ContinueOrderPrevPage", "Начало см.на ПРЕДЫДУЩЕЙ стр.");

            // Максимальное количество архивных файлов журнала. По умолчанию, равно 0 (нет ограничения).
            setGlobIntValueFromCfg("MaxLogFiles", 0);

            // флаги типов записей журнала приложения
            setGlobBoolValueFromCfg("IsWriteTraceMessages", true);
            setGlobBoolValueFromCfg("TraceOrdersDetails", true);
            setGlobBoolValueFromCfg("IsLogClientAction", true);
            setGlobBoolValueFromCfg("TraceScreenDrawDetails", true);

            // таймаут открытия канала
            WpfHelper.SetAppGlobalValue("OpenTimeoutSeconds", 3);

            // кисти читаются в служ.классе BrushHelper
            BrushHelper.FillAppBrushes();
        }