Пример #1
0
        private List <KeyValuePair <OrderStatusEnum, OrderStatusEnum> > getActionsFromCheckBoxes(Panel panel)
        {
            List <KeyValuePair <OrderStatusEnum, OrderStatusEnum> > retVal = new List <KeyValuePair <OrderStatusEnum, OrderStatusEnum> >();

            List <CheckBox> cbList = panel.Children.OfType <CheckBox>().ToList();

            foreach (CheckBox item in cbList)
            {
                if ((item.IsChecked ?? false) && (item.Tag != null))
                {
                    KeyValuePair <OrderStatusEnum, OrderStatusEnum> actionPair = KDSModeHelper.GetStatusPairFromIntPair(item.Tag.ToString());
                    if (actionPair.Key != OrderStatusEnum.None)
                    {
                        retVal.Add(actionPair);
                    }
                }
            }

            return((retVal.Count == 0) ? null : retVal);
        }
Пример #2
0
        // выбор роли КДСа
        // для предопредл.роли отобразить флажки и дизаблить
        private void rbKDSMode_Checked(object sender, RoutedEventArgs e)
        {
            RadioButton rbChecked = (RadioButton)sender;
            KDSModeEnum kdsMode;

            if (Enum.TryParse <KDSModeEnum>(rbChecked.Tag.ToString(), out kdsMode))
            {
                KDSModeStates kdsStates = KDSModeHelper.DefinedKDSModes[kdsMode];
                // установить флажки состояний
                foreach (CheckBox item in pnlStates.Children.OfType <CheckBox>())
                {
                    OrderStatusEnum eStatus = (OrderStatusEnum)Convert.ToInt32(item.Tag);
                    item.IsChecked = (kdsStates.AllowedStates.Contains(eStatus));
                }

                // установить флажки действий
                KeyValuePair <OrderStatusEnum, OrderStatusEnum> kvp;
                foreach (CheckBox item in pnlActions.Children.OfType <CheckBox>())
                {
                    if (item.Tag != null)
                    {
                        kvp            = KDSModeHelper.GetStatusPairFromIntPair(item.Tag.ToString());
                        item.IsChecked = ((kvp.Key != OrderStatusEnum.None) && (kdsStates.AllowedActions.Contains(kvp)));
                    }
                }

                if (kdsMode == KDSModeEnum.Special)
                {
                    pnlStates.IsEnabled = true; pnlActions.IsEnabled = true;
                }
                else
                {
                    pnlStates.IsEnabled = false; pnlActions.IsEnabled = false;
                }
            }
        }  // method